Термин «машинное обучение», скорее всего, встречался вам не раз. Хотя его нередко используют как синоним искусственного интеллекта, на самом деле машинное обучение – это один из его элементов. При этом оба понятия родились в Массачусетском технологическом институте в конце 1950-х годов.

Сегодня вы сталкиваетесь с машинным обучением каждый день, хотя, возможно, и не знаете этого. Голосовые помощники Siri и Google, распознавание лиц в Facebook и Windows 10, рекомендации в Amazon, технологии, не позволяющие автомобилям-роботам натыкаться на препятствия, созданы благодаря прогрессу машинного обучения.

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

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

Самообучающееся программное обеспечение

Так что же такое машинное обучение? Начнем с того, чем оно не является. Это не обычные компьютерные программы, написанные вручную.

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

Классический пример – распознавание образов. Покажите системе машинного обучения достаточное количество снимков собак с пометкой «собака», а также кошек, деревьев и других объектов, помеченных «не собака», и она со временем начнет хорошо отличать собак. И для этого ей не нужно будет объяснять, как именно те выглядят.

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

Обучение с учителем и без

Упомянутый вид машинного обучения называется обучением с учителем. Это значит, что кто-то познакомил алгоритм с огромным объемом учебных данных, просматривая результаты и корректируя настройки до тех пор, пока не была достигнута нужная точность классификации данных, которые система еще не «видела». Это то же самое, что нажимать кнопку «не спам» в почтовой программе, когда фильтр случайно перехватывает нужное вам сообщение. Чем чаще вы это делаете, тем точнее становится фильтр.

Типичные задачи обучения с учителем – классификация и прогнозирование (или регрессионный анализ). Распознавание спама и образов – задачи классификации, а прогнозирование котировок акций – классический пример регрессии.

При обучении без учителя система просматривает гигантские объемы данных, запоминая, как выглядят «нормальные» данные, чтобы получить возможность распознавать аномалии и скрытые закономерности. Обучение без учителя полезно, когда вы точно не знаете, что именно ищете, – в этом случае систему можно заставить вам помочь.

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

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

...

Это не вся статья. Полная версия доступна только подписчикам журнала. Пожалуйста, авторизуйтесь либо оформите подписку.

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF