Как работает машинное обучение

Краткое и краткое изложение того, что такое машинное обучение, номинированное всеми, но объясненное немногими.

Несколько раз некоторые люди спрашивали меня: «Но, в конце концов, что это за машинное обучение, что оно означает?».
основные газеты , особенно в последнее время, постоянно говорят об этом. К сожалению, о нем говорят (иногда справедливо), как будто это черный ящик и/или как будто за ним стоит что-то «волшебное». Он часто используется как синоним искусственного интеллекта , хотя является ответвлением последнего.

Дать развернутый ответ непросто, и он не входит в задачи данной статьи. Моя цель в данном случае — просто немного прояснить идеи. Чтобы получить более подробную информацию, внимательно изучите Интернет, где вы можете найти книги, научные статьи и технические примеры, которые, безусловно, являются исчерпывающими. Поэтому я постараюсь коснуться клавиш, отвечая на простые вопросы для тех, кто ничего не знает по этой теме (хотя я рассчитываю, что те, кто собирается читать некоторые базовые концепции информатики, их знают). В связи с этим я считаю и надеюсь, что следующие ответы на соответствующие вопросы смогут развеять некоторые сомнения.

Есть формальное определение?

Одним из наиболее цитируемых, когда речь заходит о машинном обучении, является метод, придуманный американским ученым-компьютерщиком Том М. Митчелл, автором книги «Машинное обучение. » от 1997 года:

Говорят, что программа учится на опыте E по отношению к некоторым классам задач T и с измерением производительности P , если ее производительность в задаче T , измеряемая P , улучшается с опытом E.

Когда мы можем сказать, что программа обучается?

Прежде всего необходимо (тривиально) подчеркнуть, что машинное обучение в переводе с итальянского означает автоматическое обучение . Принимая также во внимание предыдущее определение, говорят, что программа «обучается» (обучается), когда ей удается выполнять задачу лучше, чем раньше, приобретая опыт (возможно, из-за своих ошибок) точно так же, как это делал бы человек. Таким образом, основная деятельность машинного обучения заключается в разработке моделей (алгоритмов), способных учиться на данных.

Почему машинное обучение связано с искусственным интеллектом?

Именно потому, что оно дает машинам возможность обучаться так же, как это делал бы человек, машинное обучение можно рассматривать как ветвь искусственного интеллекта. Таким образом, использование машинного обучения позволяет нам получить то, что называется Слабое ИИ, в отличие от того, что называется Сильное ИИ.
Существенная разница между ними заключается в следующем:

  • IA Strong: машины, которые являются настоящей копией человеческого интеллекта, если не превосходят его. У них есть реальное осознание себя (научная фантастика).
  • IA Weak: машины, способные выполнять задачи, связанные с интеллектом. У них нет совести. (Реальность)

Что изменилось по сравнению с традиционным программированием?

В машинном обучении математические модели применяются для реализации «сложных» алгоритмов, которых практически невозможно достичь с помощью простого или традиционного программирования.

В традиционном программированиикомпьютер выполняет обработку, при которой в качестве входных данных программа (программное обеспечение) и ее данные (входные данные) получают заданный результат за вычетом обработки. С другой стороны, при машинном обучении компьютер получает входные и (возможные) выходные данные, на которых компьютер не только обрабатывает, но и учится или обрабатывает и учится на данных, чтобы вернуть модель ( программное обеспечение) в качестве вывода. В некотором смысле, в то время как в традиционном программировании мы говорим компьютеру что делать, в машинном обучении мы говорим компьютеру как учиться, а затем делать. Именно различие между этими двумя подходами отличает систему на основе правил (экспертные системы на основе правил) для моделей машинного обучения. И последнее, что нужно уточнить, это тот факт, что многие алгоритмы машинного обучения, используемые сегодня, существовали десятилетиями. Сегодня сделать их действительно полезными и пригодными для использования стало возможным благодаря двум факторам: вычислительной мощности, которыми сегодня обладают компьютеры, и большому объему данных, доступных сегодня (так называемые большие данные ), используемый для обучения моделей машинного обучения.

Какие проблемы вы пытаетесь решить?

Во время чтения вы можете осознать и догадаться, что некоторые из приложений, которые вы найдете на своих смартфонах, сами того не заметив, уже решают некоторые из задач, которые будут перечислены. В настоящее время появляется все больше различных областей, в которых применяется машинное обучение. Его применение в самых разных областях становится стандартом де-факто . Излишне говорить, что такие гиганты, как Facebook , Netflix , Google , Amazon , Apple и многие другие занимаются исследованиями и разработками в области машинного обучения и массово используют их в своих системах. Даже сегодня существуют процессоры, такие как процессоры ARM, основанные на Project Trillium, которые внутренне интегрируют машинное обучение.

Увидев, в чем заключаются проблемы, не должно быть слишком сложно догадаться, в каких случаях машинное обучение применяется сегодня и, в частности, перечисленными выше компаниями.
Проблемы можно разделить на 3 типа: Классификация , Регрессия и Кластеризация .

Классификация. Целью классификации является создание модели, которая может классифицировать (маркировать) входные данные. Для каждого входа, предоставленного модели, вероятность того, что этот вход может принадлежать к определенной категории, возвращается в выходных данных. В частности, когда есть только две категории, мы говорим о бинарной классификации (дихотомической). Примеры таких проблем:

  • Отличать здоровых пациентов от больных с патологией.
  • Распознайте определенный голос или звук.
  • Распознавайте лица, предметы, животных и пейзажи на изображении.

Регрессия. Целью регрессии является создание модели, которая знает, как предсказать значение с учетом новых входных данных. Для каждого входа у нас есть выходное значение благодаря аппроксимации функции, которая может описать «отношение» (кривую) между входными и выходными данными. Классическими проблемами этого типа являются:

  • Прогнозирование прогнозирования ценной бумаги на бирже.
  • Прогноз цены продажи дома.
  • Прогноз оборота компании.

Кластеризация. Цель кластеризации (группировки) — объединить входные данные в однородные группы. Все элементы, принадлежащие к одной и той же группе, имеют некоторое сходство между собой и несходство по отношению к элементам других групп. Таким образом, мы получаем модель, которая при новом вводе знает, как связать этот ввод с одной из групп. Классическими проблемами этого типа являются:

  • Организуйте пользователей в группы, чтобы применять одну и ту же маркетинговую стратегию к пользователям, принадлежащим к одной группе.
  • Сгруппируйте население по определенным параметрам (доход, образовательный ценз, материальное положение и т. д.).
  • Сегментируйте цифровое изображение на основе различных цветов или форм.

Каковы подходы?

В основном существует два подхода к машинному обучению: с учителем и без учителя.

Обучение с учителем
При обучении с учителем машина учится на так называемом обучающем наборе, который содержит известные нам отношения между вводом (обучающими данными) и выводом ( метка или известные значения, связанные с обучающими данными). Чтобы получить хороший обучающий набор, вам также потребуется хороший этап интеллектуального анализа данных и предварительной обработки данных. После обучения модели ее точность можно оценить с помощью набора тестов. Последний подобен тренировочному набору, но цель состоит не в том, чтобы обучить алгоритм машинного обучения, а в том, чтобы оценить модель, полученную на предыдущем этапе обучения. После этапа обучения и оценки результирующую модель машинного обучения можно использовать так, чтобы при наличии новой цели (исследуемых данных) было получено значение, связанное с этой целью (найденная метка или прогнозируемое значение). ). Примерами задач, решаемых с помощью контролируемого обучения, являются классификация и регрессия .

Обучение без учителя
При обучении без учителя всегда используется обучающий набор, но без какой-либо связи между вводом и выводом. Отсутствие связи связано с тем, что мы априори не знаем, что это такое. Другими словами, у нас нет эталонной цели (известного результата) для входных данных. Поэтому в этом случае конкретная модель остается для поиска отношений, если таковые имеются, присущих структуре данных. Учитывая новую цель, вы получаете значение, связанное с этой целью (вероятность или идентификатор кластера). Неконтролируемое обучение используется для решения проблем с кластеризацией (и визуализацией) данных.

Вывод

На самом деле было бы даже описание полу-контролируемого обучения и обучения с подкреплением (Learning Reinforcement), но для простоты я предпочел их опустить.

Эта короткая статья, конечно, не может быть исчерпывающей, как уже было объявлено. Однако я надеюсь, что он может стать отправной точкой, уточнением и введением в тему для тех, кто ничего не знал или сомневался в некоторых вопросах, касающихся такой интересной и в то же время сложной темы, как машинное обучение.

NB: Для тех, кто дочитал до сих пор и заинтригован или хочет более подробных чтений, которые показывают более конкретные и реальные примеры применения и реализации, я отсылаю их к этой интересной серии статей, написанных Адам Гейтгей и под названием Машинное обучение — это весело! .

Что касается дополнительных академических ссылок, я не могу не упомянуть важную веху в области машинного обучения, а именно книгу Кристофера Бишопа, которая называется Распознавание образов и машинное обучение (информатика и статистика) используется почти во всех университетских курсах, посвященных этим вопросам.

Наконец, для тех, кто хочет лично ознакомиться с одним из многих примеров онлайн-обучения в Интернете, на веб-сайте IBM есть служба Visual Recognition (доступна по адресу эта ссылка ), где можно проверить классификацию изображений.