Машинное обучение

Машинное обучение (англ. Machine Learning) — обширный подраздел искусственного интеллекта, математическая дисциплина извлекающая знания из данных.

Дисциплина машинного обучения использует следующие разделы:

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

Типы обучения

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

Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с извлечением информации (Information Extraction), интеллектуальным анализом данных (Data Mining).

Способы обучения

  • Обучение с учителем — для каждого прецедента задаётся пара «ситуация, требуемое решение»:
    1. Метод коррекции ошибки
    2. Метод обратного распространения ошибки
  • Обучение без учителя — для каждого прецедента задаётся только «ситуация», требуется сгруппировать объекты в кластеры, используя данные о попарном сходстве объектов, и/или понизить размерность данных:
    1. Альфа-система подкрепления
    2. Гамма-система подкрепления
    3. Метод ближайших соседей
  • Обучение с подкреплением — для каждого прецедента имеется пара «ситуация, принятое решение»:
    1. Генетический алгоритм.
  • Активное обучение — отличается тем, что обучаемый алгоритм имеет возможность самостоятельно назначать следующую исследуемую ситуацию, на которой станет известен верный ответ
  • Обучение с частичным привлечением учителя (semi-supervised learning) — для части прецедентов задается пара «ситуация, требуемое решение», а для части — только «ситуация»
  • Трансдуктивное обучение (transduction) — обучение с частичным привлечением учителя, когда прогноз предполагается делать только для прецедентов из тестовой выборки
  • Многозадачное обучение (multi-task learning) — одновременное обучение группе взаимосвязанных задач, для каждой из которых задаются свои пары «ситуация, требуемое решение»
  • Многовариантное обучение (multiple-instance learning) — обучение, когда прецеденты могут быть объединены в группы, в каждой из которых для всех прецедентов имеется «ситуация», но только для одного из них (причем, неизвестно какого) имеется пара «ситуация, требуемое решение»

Решаемые задачи

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

Scikit Learn предлагает карту выбора нужного алгоритма для решения той или иной задачи:

Scikit-learn-map.png

Сферы применения

  • Распознавание речи - преобразование речевого сигнала в цифровую информацию (например, текстовые данные).
  • Распознавание жестов - преобразование жестов (росчерков, англ. gesture) в цифровую информацию (клавиатурные команды, сочетания клавиш, текстовые данные)
  • Распознавание рукописного ввода - преобразование рукописного ввода в цифровую информацию
  • Распознавание образов - классификация и идентификация предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков
  • Техническая диагностика - определение технического состояния объектов.
  • Медицинская диагностика - процесс установления диагноза, то есть заключения о сущности болезни и состоянии пациента
  • Прогнозирование временных рядов - предсказание будущих значений временного ряда по настоящим и прошлым значениям
  • Биоинформатика
    • Геномная биоинформатика - математические методы компьютерного анализа в сравнительной геномике
    • Cтруктурная биоинформатика - разработка алгоритмов и программ для предсказания пространственной структуры биополимеров
    • исследование стратегий, соответствующих вычислительных методологий, а также общее управление информационной сложности биологических систем
  • Обнаружение мошенничества
  • Обнаружение спама - см. Байесовская фильтрация спама
  • Категоризация документов
  • Биржевой технический анализ
  • Финансовый надзор
  • Кредитный скоринг — оценка кредитоспособности (кредитных рисков) лица
  • Предсказание ухода клиентов
  • Хемоинформатика — применение методов информатики для решения химических проблем: прогноз физико-химических свойств химических соединений, свойств материалов, токсикологическая и биологическая активность, ADME/T, экотоксикологические свойства, разработка новых лекарственных препаратов и материалов.
  • Обучение ранжированию в информационном поиске

Программное обеспечение

  • TensorFlow - библиотека для машинного обучения от Google
  • scikit-learn - python-фреймворк со стандартными алгоритмами машинного обучения
  • Jupyter Notebook - веб-приложение для совместной работы

Курсы

Ссылки