Машинное обучение уже давно стало модным словом, и не зря. От рекомендаций фильмов (Netflix) до фильтрации спама (Gmail) и персонализированного лечения рака (IBM Watson Genomics) машинное обучение пронизывает все аспекты нашей жизни.

Рассмотрим показанную картинку. Если я попрошу вас выбрать апельсин, вы легко выберете предмет посередине. Но как узнать, что это апельсин? Это потому, что вы раньше видели несколько апельсинов и поэтому используете свой опыт, чтобы принять решение.

Машинное обучение работает точно так же: обучая модель некоторой информации, мы заставляем машину учиться что-то делать.

Артур Сэмюэл определил машинное обучение в 1959 году как «область обучения, которая дает компьютерам возможность учиться без явного программирования».

Том Митчелл в книге «Машинное обучение» определяет это как «компьютерная программа, как говорят, учится на опыте E в отношении некоторого класса задач T и показателя производительности P, если ее производительность при выполнении задач в T, измеренная с помощью P, улучшается с опытом E ». [1]

Похоже, мы можем научить машину делать что-то само по себе? Это именно то, что есть, но зависит от чего-то очень важного - данных!

Предположим, у меня есть таблица данных о домах в Excel, где первая строка содержит площадь дома в квадратных метрах, а вторая строка содержит соответствующую стоимость дома. Теперь, если я построю этот график, я получу прямую линию.

Используя этот график, я могу предсказать, сколько может стоить дом площадью 3500 квадратных метров, построив линию. Итак, я провожу линию от оси x на расстоянии 3500 перпендикулярно этой линии и проецирую ее на ось y, где она встречается с ней на уровне 175 000 долларов. Поэтому я использую доступные данные, чтобы сделать прогноз стоимости дома в зависимости от площади.

Я могу написать линейное уравнение для этой модели и, учитывая площадь дома, я могу вывести прогнозируемую стоимость дома. Конечно, машинное обучение не так просто, и обычно для такого прогноза требуется гораздо больше информации. Расположение дома, количество спален и ванных комнат, наличие поблизости парка или тренажерного зала и т. Д. Также влияют на стоимость дома, но это фундаментальная концепция машинного обучения. А пока я сосредоточусь на обзоре машинного обучения и расскажу больше о практических реализациях в моих следующих публикациях.

Сейчас есть разные типы машинного обучения. Он делится на три основных типа:

  1. Контролируемое обучение - в этом типе машинного обучения, имея набор данных, мы знаем, каким должен быть правильный результат модели машинного обучения. Например, имея набор изображений собак и кошек, мы знаем, каким должен быть результат моей модели машинного обучения, если я дам ей изображение собаки и попрошу классифицировать, собака это или кошка.
  2. Обучение без учителя. Имея набор данных, мы не знаем, каким должен быть результат модели. В этом случае мы группируем похожие данные в классы. Например, рекомендательные системы, в которых мы группируем пользователей по жанру, который они смотрят. Здесь мы изначально не знаем, какой жанр (выход) предпочитает пользователь, но на основе его истории просмотров мы добавляем его к определенному жанру, скажем, ужасу.
  3. Обучение с подкреплением - это машинное обучение касается того, как обучить модель и ее действия, чтобы получить максимальное вознаграждение. Примером этого является обучение Pacman выигрывать в игре, не будучи пойманным призраками.

Машинное обучение также имеет ряд областей, таких как

  1. Обработка естественного языка - интеллектуальный текст
  2. Компьютерное зрение - автономное вождение, распознавание лиц
  3. Прогнозирование временных рядов - прогнозирование фондовых рынков, прогнозирование солнечных пятен.

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

На этом пока все, в следующем посте я пересмотрю предварительные математические задания, необходимые для машинного обучения!

Ссылки:

  1. Митчелл, Т. М. (1997). Машинное обучение. Нью-Йорк: Макгроу-Хилл.
  2. Https://research.netflix.com/research-area/machine-learning
  3. Https://www.ibm.com/in-en/marketplace/watson-for-genomics