Машинное обучение
Машинное обучение (англ. Machine Learning) — обширный подраздел искусственного интеллекта, математическая дисциплина извлекающая знания из данных.
Дисциплина машинного обучения использует следующие разделы:
- математической статистики,
- численных методов оптимизации,
- теории вероятностей,
- дискретного анализа.
Содержание
Типы обучения
- Индуктивное обучение (Обучение по прецедентам) основано на выявлении закономерностей в эмпирических данных.
- Дедуктивное обучение предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний. Дедуктивное обучение принято относить к области экспертных систем, поэтому термины машинное обучение и обучение по прецедентам можно считать синонимами.
Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с извлечением информации (Information Extraction), интеллектуальным анализом данных (Data Mining).
Способы обучения
- Обучение с учителем — для каждого прецедента задаётся пара «ситуация, требуемое решение»:
- Метод коррекции ошибки;
- Метод обратного распространения ошибки.
- Обучение без учителя — для каждого прецедента задаётся только «ситуация», требуется сгруппировать объекты в кластеры, используя данные о попарном сходстве объектов, и/или понизить размерность данных:
- Альфа-система подкрепления;
- Гамма-система подкрепления;
- Метод ближайших соседей.
- Обучение с подкреплением — для каждого прецедента имеется пара «ситуация, принятое решение»:
- Активное обучение — отличается тем, что обучаемый алгоритм имеет возможность самостоятельно назначать следующую исследуемую ситуацию, на которой станет известен верный ответ.
- Обучение с частичным привлечением учителя (semi-supervised learning) — для части прецедентов задается пара «ситуация, требуемое решение», а для части — только «ситуация».
- Трансдуктивное обучение (transduction) — обучение с частичным привлечением учителя, когда прогноз предполагается делать только для прецедентов из тестовой выборки.
- Многозадачное обучение (multi-task learning) — одновременное обучение группе взаимосвязанных задач, для каждой из которых задаются свои пары «ситуация, требуемое решение».
- Многовариантное обучение (multiple-instance learning) — обучение, когда прецеденты могут быть объединены в группы, в каждой из которых для всех прецедентов имеется «ситуация», но только для одного из них (причем, неизвестно какого) имеется пара «ситуация, требуемое решение».
Решаемые задачи
- Классификация как правило, выполняется с помощью обучения с учителем на этапе собственно обучения.
- Кластеризация как правило, выполняется с помощью обучения без учителя
- Регрессия как правило, выполняется с помощью обучения с учителем на этапе тестирования, является частным случаем задач прогнозирования.
- Понижение размерности данных и их визуализация выполняется с помощью обучения без учителя
- Восстановление плотности распределения вероятности по набору данных
- Одноклассовая классификация и выявление новизны
- Построение ранговых зависимостей
Scikit Learn предлагает карту выбора нужного алгоритма для решения той или иной задачи:
Сферы применения
- Распознавание речи - преобразование речевого сигнала в цифровую информацию (например, текстовые данные).
- Распознавание жестов - преобразование жестов (росчерков, англ. gesture) в цифровую информацию (клавиатурные команды, сочетания клавиш, текстовые данные)
- Распознавание рукописного ввода - преобразование рукописного ввода в цифровую информацию
- Распознавание образов - классификация и идентификация предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков
- Техническая диагностика - определение технического состояния объектов.
- Медицинская диагностика - процесс установления диагноза, то есть заключения о сущности болезни и состоянии пациента
- Прогнозирование временных рядов - предсказание будущих значений временного ряда по настоящим и прошлым значениям
- Биоинформатика
- Геномная биоинформатика - математические методы компьютерного анализа в сравнительной геномике
- Cтруктурная биоинформатика - разработка алгоритмов и программ для предсказания пространственной структуры биополимеров
- исследование стратегий, соответствующих вычислительных методологий, а также общее управление информационной сложности биологических систем
- Обнаружение мошенничества
- Обнаружение спама - см. Байесовская фильтрация спама
- Категоризация документов
- Биржевой технический анализ
- Финансовый надзор
- Кредитный скоринг — оценка кредитоспособности (кредитных рисков) лица
- Предсказание ухода клиентов
- Хемоинформатика — применение методов информатики для решения химических проблем: прогноз физико-химических свойств химических соединений, свойств материалов, токсикологическая и биологическая активность, ADME/T, экотоксикологические свойства, разработка новых лекарственных препаратов и материалов.
- Обучение ранжированию в информационном поиске
Программное обеспечение
- TensorFlow - библиотека для машинного обучения от Google
- scikit-learn - python-фреймворк со стандартными алгоритмами машинного обучения
- Jupyter Notebook - веб-приложение для совместной работы
Курсы
- A Visual Introduction to Machine Learning
- Курс Эндрю Энга из Стэнфордского университета по машинному обучению /// Classnotes
- Yaser Abu-Mostafa’s Machine Learning course
- Neural Networks and Deep Learning (Recommended by Google Brain Team)
- Statistical Machine Learning
- Курс по машинному обучению на Udacity
- Сообщество Machine Learning на Reddit
- Видеолекции UC Berkeley
- образовательный проект Kaggle