Простыми словами:
Что такое машинное обучение?

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

Я решил написать эту статью для тех, кто всегда хотел понять машинное обучение. Только реальные проблемы, практические решения, простыми словами и никаких теорем.

итак
Почему-же мы хотим, чтобы машины учились?


Это Билли. Билли хочет купить машину. Он пытается посчитать, сколько для этого нужно ежемесячно откладывать.

Он просмотрел десятки рекламных объявлений в Интернете и узнал, что новые автомобили стоят около 20 000 долларов, подержанные - 19 000 долларов, старые - 18 000 долларов и так далее.


!

Билли, наш блестящий аналитик, начинает видеть закономерность:
итого, цена автомобиля зависит от его возраста и ежегодно падает на 1000 долларов, но не ниже 10 000 долларов.

Билли сделал то, что в машинном обучении называют "регрессией" - он предсказал стоимость (цену) на основе известных исторических данных.

Например
Люди делают это постоянно, пытаясь определить разумную стоимость бывшего в употреблении iPhone на OLX.
Проблема в том, что у них разные даты производства, десятки опций, техническое состояние, сезонные всплески спроса и бог знает сколько еще скрытых факторов.

Средний Билли не может держать все эти данные в голове при расчете цены. И я тоже.

Так давайте предоставим машине некоторые данные и попросим ее найти все скрытые закономерности, связанные с ценой.

вот
Так родилось машинное обучение.
Единственная цель машинного обучения - предсказывать результаты на основе входящих данных. Вот и все!

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

Итак, если мы хотим обучить машину, нам нужны три вещи: Данные, Переменные и Алгоритмы.

№1
Во-первых нам понядобяться - Данные.
Хотите обнаруживать спам? - Нужны образцы спам-сообщений. Хотите спрогнозировать акции? - Найдите историю цен.

Хотите узнать интересы пользователей?
Анализируйте их действия в социальных сетях.


Чем разнообразнее данные, тем лучше результат.




!
Есть два основных способа получения данных - ручной и автоматический.

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

Автоматический подход дешевле - вы собираете все, что можете найти, и надеетесь на лучшее.


!
Некоторые хитро-умные компании, такие как Google, используют своих же пользователей, чтобы бесплатно маркировать данные для них.

Помните ReCaptcha, который заставляет вас «Выбрать все уличные знаки»? Именно это они и делают. Бесплатный труд! На их месте я бы стал все больше и больше показывать капчу.

За наборами данных идёт большая охота. Крупные компании, могут даже раскрывать свои алгоритмы, но набор данных — крайне редко.



№2
Во-вторых нам нужны - Переменные.
Переменные также известны как параметры или признаки. Это может быть пробег автомобиля, пол пользователя, цена акций, частота слов в тексте. Другими словами, это факторы, на которые следует обратить внимание машине.

Кроме того машина должна знать, на что ей конкретно смотреть. Вот почему выбор правильных переменных обычно занимает больше времени, чем все остальные части машинного обучения.
№3
В-третьих нужно выбрать - Метод (Алгоритмы).
Любую задачу можно решить разными методами или алгоритмами. Выбранный нами алгоритм влияет на точность, скорость работы и производительность.

Есть 4 основных вида Машинного обучения: Классическое, С подкреплением, Ансамбли, Нейросети и глубокое обучение.

Их мы сейчас разберем ниже.

вид №1
Первый вид Машинного обучения - Классическое обучение.

Классическое обучения часто делится на две категории: с учителем и без учителя.

В первом случае у машины есть некий «учитель», который показывает машине что правильно. Например, кошка изображена на картинке или собака.

Учитель уже разделил (пометил) данные на кошек и собак, и машина использует эти примеры для обучения.


!

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

Очевидно, что с учителем машина будет учиться быстрее, поэтому ее чаще используют в реальных задачах - их мы и рассмотрим.


итак
Обучение с учителем - метод Классификации.
Классификация. «Разделяет объекты по заранее известным признакам. Разделяйте носки по цвету, документы по языку, музыку по жанрам»

Сегодня используется для:
- фильтрации спама.
- определения языка.
- поиска похожих документов.
- распознавания рукописных букв и цифр.


!
Машинное обучение чаще всего занимается именно классификацией вещей.

Машина здесь как ребенок, который учится сортировать игрушки: вот робот, вот танк...
Ой, а если это робот-танк? Ошибка! Ошибка!


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


!

Можно классифицировать абсолютно все:

- Пользователей по интересам (так делают алгоритмические ленты соцсетей).
- Статьи по языку и теме (это важно для поисковых систем).
- Музыку по жанру (вспомните плейлисты Яндекс музыки).


И даже ваши электронные письма.


!
Вот еще один практический пример классификации. Допустим, вам нужны деньги в кредит. Как банк узнает, вернете вы его или нет?

Нет возможности узнать наверняка. Но в банке много профилей людей, которые раньше брали деньги. У них есть данные о возрасте, образовании, роде занятий и заработной плате и, самое главное, о факте возврата денег.

Используя эти данные, мы можем научить машину находить закономерности и получать ответ.

еще
Обучение с учителем - метод Регрессии.

Регрессия. «Проведи линию через эти точки. Да, это тоже машинное обучение»

Сегодня это используется для:
- Прогнозы цен на акции
- Анализ спроса и объема продаж
- Медицинские диагнозы


И вообще любые числовые корреляции.



!
Регрессия - это как классификация, при которой мы прогнозируем число, а не категорию.

Например стоимость автомобиля по пробегу, уровень пробок по времени суток, объем спроса от роста компании и т. д. Регрессия идеальна, когда что-то зависит от времени.

Все, кто работает с финансами и анализом, любят регрессию. Она даже встроена в Excel.

теперь
Обучение без учителя - метод Кластеризации.
Кластеризация. «Разделяет объекты по неизвестным признакам. Машина сама ищет лучший способ»

В настоящее время используется:
- Для сегментации рынка (типы клиентов, лояльность).
- Объединение близких точек на карте.
- Для сжатия изображений.
- Для обнаружения аномального поведения.




!
Кластеризация - это как классификация, но без заранее определенных классов.

Это как разделить носки по цвету, когда вы не помните все цвета, которые у вас есть. Алгоритм кластеризации пытается найти похожие (по некоторым признакам) объекты и объединить их в кластер. Те, у кого много схожих функций, объединяются в один класс.

!
Отличный пример кластеризации - маркеры на веб-картах. Когда вы ищете все веганские рестораны, механизм кластеризации группирует их в маркеры.

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



!
Как и классификация, кластеризация может использоваться для обнаружения аномалий. Пользователь ведет себя ненормально после регистрации?

Позвольте машине временно забанить его и создать тикет, чтобы служба поддержки проверила его. Может это бот. Нам даже не нужно знать, что такое «нормальное поведение», мы просто загружаем все действия пользователя в нашу модель и позволяем машине решать, является ли это «типичным» пользователем или нет.
и еще
Обучение без учителя - Поиск правил (Ассоциаций).
Поиск правил (ассоциаций). «Ищет закономерности в потоке заказов»

В наши дни используется:
- Прогноз распродажи и скидок.
- Анализ товаров, купленных вместе.
- Расстановка товаров по полкам.
- Анализ шаблонов поведения на веб-сайтах.


Сюда входят все методы для анализа корзины покупок, автоматизации маркетинговой стратегии и других задач, связанных с событиями.



!
Если у вас есть последовательность чего-то и вы хотите найти в ней закономерности - примените этот метод.

Скажем, покупатель берет шесть банок пива и идет к кассе. Положить по пути арахис? Как часто люди покупают их вместе? Да, возможно, это сработает для пива и арахиса, но какие еще последовательности мы можем предсказать? Может ли небольшое изменение в расстановке товаров привести к значительному увеличению прибыли?
вид №2
Второй вид Машинного обучения - Обучение с подкреплением.
Обучение с подкреплением. «Бросьте робота в лабиринт и дайте ему найти выход»

В настоящее время используется:
- Беспилотные автомобили.
- Роботы-пылесосы.
- Игры.
- Автоматическая торговля.
- Управление ресурсами предприятия.



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

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


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

Выживание в окружающей среде - основная идея обучения с подкреплением. Бросьте робота в реальную жизнь, накажите его за ошибки и вознаградите за правильные поступки. Так же, как мы учим наших детей, верно?



!
Более эффективный способ здесь - построить виртуальный город и позволить беспилотному автомобилю сначала изучить все его особенности. Именно так мы обучаем автопилотов прямо сейчас.

Создайте виртуальный город на основе реальной карты, заполните пешеходами и позвольте машине научиться сбивать как можно меньше людей. Когда робот достаточно уверен в искусственной среде, его можно протестировать на реальных улицах.
вид №3
Третий вид Машинного обучения - это Ансамблевые методы.
Ансамбли. «Как куча глупых деревьев, которые исправляют ошибки друг друга»

В настоящее время используется для:
- Поисковых систем (★)
- Компьютерного зрения
- Обнаружения объекта


Пришло время для современных, взрослых методов!

!

Ансамбли и нейронные сети - два главных бойца, прокладывающих нам путь в будущее. Сегодня они дают наиболее точные результаты и широко используются в мире.

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


вид №4
Четвертый вид Машинного обучения - Нейронные сети
Нейронные сети и глубокое обучение. "Любая нейронная сеть - это, по сути, набор нейронов и связей между ними.»

Сегодня используется для:
- Замены всех вышеперечисленных алгоритмов.
- Идентификации объекта на фото и видео.
- Распознавания и синтеза речи.
- Обработки изображений и изменения стиля.
- Машинного перевода.



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

В настоящее время это используется во всех случаях, связанных с изображениями и видео. В том числе ваш iPhone использует некоторые из этих сетей.

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

Посмотрите на Алису от Яндекса или Assistant от Google. Они не только четко произносят слова, они даже расставляют правильные акценты!



!
Отсюда можно сделать вывод - «Что Сфера машинного обучения в ближайшее время будет только расти!»

Поэтому такие процессии как Data Scientist Специалист по обработке данных и Специалист по машинному обучению - стали настолько востребованы.

Теперь вы знаете что такое Машинное обучение и можете ориентироваться в некоторых терминах. Удачи!
Оцените пожалуйста пост!
Читайте и остальные статьи в моем блоге и не забывайте делиться с друзьями ссылкой, если материал вам понравился!
Айкен Каратаев
CEO Центр профориентации