Машинное обучение — различия между версиями

 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''Машинное обучение''' (англ. Machine Learning) — обширный подраздел искусственного интеллекта, математическая дисциплина извлекающая знания из данных.
+
'''Машинное обучение''' (англ. Machine Learning) — обширный подраздел [[AI|искусственного интеллекта]], математическая дисциплина извлекающая знания из данных.
  
 
Дисциплина машинного обучения использует следующие разделы:
 
Дисциплина машинного обучения использует следующие разделы:
Строка 5: Строка 5:
 
* численных методов оптимизации,
 
* численных методов оптимизации,
 
* теории вероятностей,
 
* теории вероятностей,
* дискретного анализа,
+
* дискретного анализа.
  
 
== Типы обучения ==
 
== Типы обучения ==
Строка 15: Строка 15:
 
== Способы обучения ==
 
== Способы обучения ==
 
* '''Обучение с учителем''' — для каждого прецедента задаётся пара «ситуация, требуемое решение»:
 
* '''Обучение с учителем''' — для каждого прецедента задаётся пара «ситуация, требуемое решение»:
*# Метод коррекции ошибки
+
*# Метод коррекции ошибки;
*# Метод обратного распространения ошибки
+
*# Метод обратного распространения ошибки.
 
* '''Обучение без учителя''' — для каждого прецедента задаётся только «ситуация», требуется сгруппировать объекты в кластеры, используя данные о попарном сходстве объектов, и/или понизить размерность данных:
 
* '''Обучение без учителя''' — для каждого прецедента задаётся только «ситуация», требуется сгруппировать объекты в кластеры, используя данные о попарном сходстве объектов, и/или понизить размерность данных:
*# Альфа-система подкрепления
+
*# Альфа-система подкрепления;
*# Гамма-система подкрепления
+
*# Гамма-система подкрепления;
*# Метод ближайших соседей
+
*# Метод ближайших соседей.
 
* '''Обучение с подкреплением''' — для каждого прецедента имеется пара «ситуация, принятое решение»:
 
* '''Обучение с подкреплением''' — для каждого прецедента имеется пара «ситуация, принятое решение»:
*# Генетический алгоритм.
+
*# [[Эволюционные алгоритмы|Генетический алгоритм]].
* '''Активное обучение''' — отличается тем, что обучаемый алгоритм имеет возможность самостоятельно назначать следующую исследуемую ситуацию, на которой станет известен верный ответ
+
* '''Активное обучение''' — отличается тем, что обучаемый алгоритм имеет возможность самостоятельно назначать следующую исследуемую ситуацию, на которой станет известен верный ответ.
* '''Обучение с частичным привлечением учителя''' (semi-supervised learning) — для части прецедентов задается пара «ситуация, требуемое решение», а для части — только «ситуация»
+
* '''Обучение с частичным привлечением учителя''' (semi-supervised learning) — для части прецедентов задается пара «ситуация, требуемое решение», а для части — только «ситуация».
* '''Трансдуктивное обучение''' (transduction) — обучение с частичным привлечением учителя, когда прогноз предполагается делать только для прецедентов из тестовой выборки
+
* '''Трансдуктивное обучение''' (transduction) — обучение с частичным привлечением учителя, когда прогноз предполагается делать только для прецедентов из тестовой выборки.
* '''Многозадачное обучение''' (multi-task learning) — одновременное обучение группе взаимосвязанных задач, для каждой из которых задаются свои пары «ситуация, требуемое решение»
+
* '''Многозадачное обучение''' (multi-task learning) — одновременное обучение группе взаимосвязанных задач, для каждой из которых задаются свои пары «ситуация, требуемое решение».
* '''Многовариантное обучение''' (multiple-instance learning) — обучение, когда прецеденты могут быть объединены в группы, в каждой из которых для всех прецедентов имеется «ситуация», но только для одного из них (причем, неизвестно какого) имеется пара «ситуация, требуемое решение»
+
* '''Многовариантное обучение''' (multiple-instance learning) — обучение, когда прецеденты могут быть объединены в группы, в каждой из которых для всех прецедентов имеется «ситуация», но только для одного из них (причем, неизвестно какого) имеется пара «ситуация, требуемое решение».
  
== Ссылки ==
+
== Решаемые задачи ==
* [https://www.coursera.org/learn/machine-learning Курс Эндрю Энга из Стэнфордского университета по машинному обучению]
+
* '''Классификация''' как правило, выполняется с помощью обучения с учителем на этапе собственно обучения.
 +
* '''Кластеризация''' как правило, выполняется с помощью обучения без учителя
 +
* '''Регрессия''' как правило, выполняется с помощью обучения с учителем на этапе тестирования, является частным случаем задач прогнозирования.
 +
* '''Понижение размерности данных и их визуализация''' выполняется с помощью обучения без учителя
 +
* '''Восстановление плотности распределения вероятности по набору данных'''
 +
* '''Одноклассовая классификация и выявление новизны'''
 +
* '''Построение ранговых зависимостей'''
 +
 
 +
[http://scikit-learn.org/stable/tutorial/machine_learning_map/ Scikit Learn] предлагает карту выбора нужного алгоритма для решения той или иной задачи:
 +
 
 +
[[Файл:scikit-learn-map.png|center|800px]]
 +
 
 +
== Сферы применения ==
 +
* '''Распознавание речи''' - преобразование речевого сигнала в цифровую информацию (например, текстовые данные).
 +
* '''Распознавание жестов''' - преобразование жестов (росчерков, англ. gesture) в цифровую информацию (клавиатурные команды, сочетания клавиш, текстовые данные)
 +
* '''Распознавание рукописного ввода''' - преобразование рукописного ввода в цифровую информацию
 +
* '''[[Распознавание образов]]''' - классификация и идентификация предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков
 +
* '''[[Техническая диагностика]]''' - определение технического состояния объектов.
 +
* '''Медицинская диагностика''' - процесс установления диагноза, то есть заключения о сущности болезни и состоянии пациента
 +
* '''[[Прогнозирование]] временных рядов''' - предсказание будущих значений временного ряда по настоящим и прошлым значениям
 +
* '''Биоинформатика'''
 +
** '''Геномная биоинформатика''' - математические методы компьютерного анализа в сравнительной геномике
 +
** '''Cтруктурная биоинформатика''' - разработка алгоритмов и программ для предсказания пространственной структуры биополимеров
 +
** исследование стратегий, соответствующих вычислительных методологий, а также общее управление информационной сложности биологических систем
 +
* '''Обнаружение мошенничества'''
 +
* '''Обнаружение спама''' - см. [https://ru.wikipedia.org/wiki/Байесовская_фильтрация_спама Байесовская фильтрация спама]
 +
* '''Категоризация документов'''
 +
* '''Биржевой технический анализ'''
 +
* '''Финансовый надзор'''
 +
* '''Кредитный скоринг''' — оценка кредитоспособности (кредитных рисков) лица
 +
* '''Предсказание ухода клиентов'''
 +
* '''Хемоинформатика''' — применение методов информатики для решения химических проблем: прогноз физико-химических свойств химических соединений, свойств материалов, токсикологическая и биологическая активность, ADME/T, экотоксикологические свойства, разработка новых лекарственных препаратов и материалов.
 +
* '''Обучение ранжированию в информационном поиске'''
 +
 
 +
== Программное обеспечение ==  
 +
* [https://www.tensorflow.org/ TensorFlow] - библиотека для машинного обучения от Google
 +
* [http://scikit-learn.org/stable/ scikit-learn] - python-фреймворк со стандартными алгоритмами машинного обучения
 +
* [http://jupyter.org/ Jupyter Notebook] - веб-приложение для совместной работы
 +
 
 +
== Курсы ==
 +
* [http://www.r2d3.us/visual-intro-to-machine-learning-part-1/ A Visual Introduction to Machine Learning]
 +
* [https://www.coursera.org/learn/machine-learning Курс Эндрю Энга из Стэнфордского университета по машинному обучению] /// [http://holehouse.org/mlclass/index.html Classnotes]
 +
* [https://work.caltech.edu/telecourse.html Yaser Abu-Mostafa’s Machine Learning course]
 +
* [http://neuralnetworksanddeeplearning.com/ Neural Networks and Deep Learning (Recommended by Google Brain Team)]
 +
* [http://www.stat.cmu.edu/~larry/=sml/ Statistical Machine Learning]
 
* [https://www.udacity.com/course/machine-learning-supervised-learning--ud675 Курс по машинному обучению на Udacity]
 
* [https://www.udacity.com/course/machine-learning-supervised-learning--ud675 Курс по машинному обучению на Udacity]
 
* [http://www.reddit.com/r/machinelearning Сообщество Machine Learning на Reddit]
 
* [http://www.reddit.com/r/machinelearning Сообщество Machine Learning на Reddit]
 +
* [https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/lecture-videos/ Видеолекции UC Berkeley]
 +
* [https://www.kaggle.com/ образовательный проект Kaggle]
 +
 +
== Ссылки ==
 +
* [https://github.com/ZuzooVn/machine-learning-for-software-engineers Top-down learning path: Machine Learning for Software Engineers]
 +
* [http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf Rules of Machine Learning: Best Practices]
 +
* [https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap Deep Learning Papers Reading Roadmap]
  
 
[[Категория:Дисциплины]]
 
[[Категория:Дисциплины]]
 
[[Категория:Искусственный интеллект]]
 
[[Категория:Искусственный интеллект]]

Текущая версия на 17:45, 17 августа 2019

Машинное обучение (англ. 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 - веб-приложение для совместной работы

Курсы

Ссылки