Машинное обучение (machine learning)

1. Определение

Машинное обучение (machine learning) – раздел отрасли искусственного интеллекта, занимающийся разработкой программ, способных меняться под воздействием внешних факторов. Программное обеспечение использует статистический анализ и прогнозирование для выявления закономерностей и принятия решения по корректировке кода программы.

2. История создания и развития

Разработка алгоритмов машинного обучения началась с появлением искусственного интеллекта. Первой программой, способной самообучаться, принято считать игру в шашки, изобретенную Артуром Самуэлем в 1952 году. Программа анализировала текущие позиции и выбирала наилучшие варианты для последующих ходов. Тогда А. Самуэль дал первое определение машинному обучению – «область исследований разработки машин, не являющихся заранее запрограммированными». В 1957 году была предложена модель нейронной сети, похожая на современные алгоритмы машинного обучения. С тех пор и по настоящее время ведется активная разработка молей и систем машинного обучения, среди которых: алгоритм дерева решений (1986 год), метод опорных векторов (1995 год), с 2005 года – глубокое обучение (Deep Learning) и т.д.

В последнее время исследования в области machine learning, так или иначе, связаны с Интернетом вещей, концепцией «умный» город, создания беспилотного транспорта.

3. Технические характеристики

Машинное обучение (machine learning) в основном подразделяют на два вида:

  • контролируемое – поиск зависимости между конечным результатом и первоначальным описанием задачи;

  • неконтролируемое – в этом случае конечный результат не известен заранее и требуется искать зависимости между объектами, т.е. стоит задача упорядочить данные или описать их структуру.

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

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

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

4. Кейсы применения

Сегодня машинное обучение применяется практически во всех областях науки и техники, самыми популярными приложениями являются обнаружение мошенничества, биржевой технический анализ, техническая диагностика, робототехника (яркий пример – создание компьютерного зрения, распознавание объектов и речи). Лента новостей социальной сети Facebook использует машинное обучение для составления персонального контента для каждого пользователя. Также часто машинное обучение используют при создании игр, чаще всего встречаются шахматы, для автоматизации медицинского диагностического программного обеспечения и т.д.

5. Полезные ссылки

Источники: