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

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м
Строка 1: Строка 1:
{{TOCright}}
{{TOCright}}
-
'''Машинное обучение''' (Machine Learning) обширный подраздел [[Искусственный интеллект|искусственного интеллекта]], изучающий методы построения [[алгоритм]]ов, способных обучаться. Различают два типа обучения. ''Обучение по прецедентам'', или ''индуктивное обучение'', основано на выявлении закономерностей в [[выборка|эмпирических данных]]. ''Дедуктивное обучение'' предполагает формализацию знаний экспертов и их перенос в компьютер в виде [[база знаний|базы знаний]]. Дедуктивное обучение принято относить к области [[Экспертная система|экспертных систем]], поэтому термины ''машинное обучение'' и ''обучение по прецедентам'' можно считать синонимами.
+
'''Машинное обучение''' (Machine Learning) — обширный подраздел [[Искусственный интеллект|искусственного интеллекта]], изучающий методы построения [[алгоритм]]ов, способных обучаться. Различают два типа обучения. ''Обучение по прецедентам'', или ''индуктивное обучение'', основано на выявлении закономерностей в [[выборка|эмпирических данных]]. ''Дедуктивное обучение'' предполагает формализацию знаний экспертов и их перенос в компьютер в виде [[база знаний|базы знаний]]. Дедуктивное обучение принято относить к области [[Экспертная система|экспертных систем]], поэтому термины ''машинное обучение'' и ''обучение по прецедентам'' можно считать синонимами.
''Машинное обучение'' находится на стыке [[математическая статистика|математической статистики]], [[методы оптимизации|методов оптимизации]] и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами [[вычислительная эффективность|вычислительной эффективности]] и [[переобучение|переобучения]]. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с [[Извлечение информации|извлечением информации]] и [[интеллектуальный анализ данных|интеллектуальным анализом данных]] (''Data Mining'').
''Машинное обучение'' находится на стыке [[математическая статистика|математической статистики]], [[методы оптимизации|методов оптимизации]] и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами [[вычислительная эффективность|вычислительной эффективности]] и [[переобучение|переобучения]]. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с [[Извлечение информации|извлечением информации]] и [[интеллектуальный анализ данных|интеллектуальным анализом данных]] (''Data Mining'').
Строка 6: Строка 6:
Наиболее теоретические разделы ''машинного обучения'' объединены в отдельное направление, [[Теория вычислительного обучения|теорию вычислительного обучения]] (Computational Learning Theory, COLT).
Наиболее теоретические разделы ''машинного обучения'' объединены в отдельное направление, [[Теория вычислительного обучения|теорию вычислительного обучения]] (Computational Learning Theory, COLT).
-
''Машинное обучение'' не только математическая, но и практическая, инженерная дисциплина. Чистая теория, как правило, не приводит сразу к методам и алгоритмам, применимым на практике. Чтобы заставить их хорошо работать, приходится изобретать дополнительные [[эвристика|эвристики]], компенсирующие несоотвествие сделанных в теории предположений условиям реальных задач. Практически ни одно исследование в ''машинном обучении'' не обходится без ''эксперимента'' на [[модельные данные|модельных]] или [[реальные данные|реальных]] данных, подтверждающего практическую работоспособность метода.
+
''Машинное обучение'' — не только математическая, но и практическая, инженерная дисциплина. Чистая теория, как правило, не приводит сразу к методам и алгоритмам, применимым на практике. Чтобы заставить их хорошо работать, приходится изобретать дополнительные [[эвристика|эвристики]], компенсирующие несоотвествие сделанных в теории предположений условиям реальных задач. Практически ни одно исследование в ''машинном обучении'' не обходится без ''эксперимента'' на [[модельные данные|модельных]] или [[реальные данные|реальных]] данных, подтверждающего практическую работоспособность метода.
-
Основные международные конференции — [[International Conference on Machine Learning (конференция)|ICML]], [[NIPS]], [[ICPR]], [[COLT]].
+
Основные международные конференции — [[International Conference on Machine Learning (конференция)|ICML]], [[NIPS]], [[ICPR]], [[COLT]].
-
Международные конференции в странах СНГ — [[ИОИ]].
+
Международные конференции в странах СНГ — [[ИОИ]].
-
Основные всероссийские конференции — [[ММРО]], [[РОАИ]].
+
Основные всероссийские конференции — [[ММРО]], [[РОАИ]].
== Общая постановка задачи обучения по прецедентам ==
== Общая постановка задачи обучения по прецедентам ==
-
Дано конечное множество ''прецедентов'' (объектов, ситуаций), по каждому из которых собраны (измерены) некоторые ''данные''. Данные о прецеденте называют также его ''описанием''. Совокупность всех имеющихся описаний прецедентов называется [[обучающая выборка|обучающей выборкой]]. Требуется по этим ''частным'' данным выявить ''общие'' [[зависимость|зависимости]], [[закономерность|закономерности]], [[взаимосвязь|взаимосвязи]], присущие не только этой конкретной выборке, но вообще всем прецедентам, {{S|в том}} числе тем, которые ещё не наблюдались.
+
Дано конечное множество ''прецедентов'' (объектов, ситуаций), по каждому из которых собраны (измерены) некоторые ''данные''. Данные о прецеденте называют также его ''описанием''. Совокупность всех имеющихся описаний прецедентов называется [[обучающая выборка|обучающей выборкой]]. Требуется по этим ''частным'' данным выявить ''общие'' [[зависимость|зависимости]], [[закономерность|закономерности]], [[взаимосвязь|взаимосвязи]], присущие не только этой конкретной выборке, но вообще всем прецедентам, {{S|в том}} числе тем, которые ещё не наблюдались.
-
Говорят также о [[Восстановление зависимостей по эмпирическим данным|восстановлении зависимостей по эмпирическим данным]] этот термин был введён в пионерских работах Вапника и Червоненкиса.
+
Говорят также о [[Восстановление зависимостей по эмпирическим данным|восстановлении зависимостей по эмпирическим данным]] — этот термин был введён в пионерских работах Вапника и Червоненкиса.
Наиболее распространённым способом описания прецедентов является [[признаковое описание]].
Наиболее распространённым способом описания прецедентов является [[признаковое описание]].
-
Фиксируется совокупность {{S|''n'' показателей}}, измеряемых у всех прецедентов.
+
Фиксируется совокупность {{S|''n'' показателей}}, измеряемых у всех прецедентов.
-
Если все ''n'' показателей числовые, то признаковые описания представляют собой числовые векторы {{S|размерности ''n''}}.
+
Если все ''n'' показателей числовые, то признаковые описания представляют собой числовые векторы {{S|размерности ''n''}}.
-
Возможны и более сложные случаи, когда прецеденты описываются
+
Возможны и более сложные случаи, когда прецеденты описываются
[[Временной ряд|временными рядами]] или [[сигнал]]ами, [[изображение|изображениями]], [[видеоряд]]ами, [[Обработка текстов|текстами]], попарными отношениями друг с другом, например отношением сходства или интенсивности взаимодействия, {{S|и т. д.}}
[[Временной ряд|временными рядами]] или [[сигнал]]ами, [[изображение|изображениями]], [[видеоряд]]ами, [[Обработка текстов|текстами]], попарными отношениями друг с другом, например отношением сходства или интенсивности взаимодействия, {{S|и т. д.}}
-
Для решения задачи обучения по прецедентам в первую очередь фиксируется ''модель зависимости''.
+
Для решения задачи обучения по прецедентам в первую очередь фиксируется ''модель зависимости''.
-
Затем вводится [[функционал качества]], значение которого показывает, насколько хорошо модель описывает наблюдаемые данные.
+
Затем вводится [[функционал качества]], значение которого показывает, насколько хорошо модель описывает наблюдаемые данные.
-
''[[Алгоритм обучения]]'' (learning algorithm) ищет такой набор параметров модели, при котором функционал качества на заданной обучающей выборке принимает оптимальное значение.
+
''[[Алгоритм обучения]]'' (learning algorithm) ищет такой набор параметров модели, при котором функционал качества на заданной обучающей выборке принимает оптимальное значение.
Процесс ''настройки'' (fitting) модели по выборке данных в большинестве случаев сводится к применению численных [[методы оптимизации|методов оптимизации]].
Процесс ''настройки'' (fitting) модели по выборке данных в большинестве случаев сводится к применению численных [[методы оптимизации|методов оптимизации]].
'''Замечание о терминологии.'''
'''Замечание о терминологии.'''
-
{{S|В зарубежных}} публикациях термин ''algorithm'' употребляется только в указанном выше смысле, то есть это вычислительная процедура, которая по обучающей выборке строит функцию, аппроксимирующую ''целевую зависимость''.
+
{{S|В зарубежных}} публикациях термин ''algorithm'' употребляется только в указанном выше смысле, то есть это вычислительная процедура, которая по обучающей выборке строит функцию, аппроксимирующую ''целевую зависимость''.
-
{{S|В задачах}} классификации аппроксимирующую функцию принято называть ''классификатором'' (classifier), ''концептом'' (concept) или ''гипотезой'' (hypothesys); а в других задачах обучения — просто ''функцией''.
+
{{S|В задачах}} классификации аппроксимирующую функцию принято называть ''классификатором'' (classifier), ''концептом'' (concept) или ''гипотезой'' (hypothesys); а в других задачах обучения — просто ''функцией''.
-
{{S|В русскоязычной}} литературе аппроксимирующую функцию также называют ''[[алгоритм]]ом'', подчёркивая, что и она должна допускать эффективную компьютерную реализацию.
+
{{S|В русскоязычной}} литературе аппроксимирующую функцию также называют ''[[алгоритм]]ом'', подчёркивая, что и она должна допускать эффективную компьютерную реализацию.
Строка 39: Строка 39:
=== Основные стандартные типы задач ===
=== Основные стандартные типы задач ===
-
* [[Обучение с учителем]] (supervised learning) наиболее распространённый случай. Каждый прецедент представляет собой пару «объект, ответ». Требуется найти функциональную зависимость ответов от описаний объектов и построить ''алгоритм'', принимающий на входе описание объекта и выдающий на выходе ответ. Функционал качества обычно определяется как средняя ошибка ответов, выданных алгоритмом, по всем объектам выборки.
+
* [[Обучение с учителем]] (supervised learning) — наиболее распространённый случай. Каждый прецедент представляет собой пару «объект, ответ». Требуется найти функциональную зависимость ответов от описаний объектов и построить ''алгоритм'', принимающий на входе описание объекта и выдающий на выходе ответ. Функционал качества обычно определяется как средняя ошибка ответов, выданных алгоритмом, по всем объектам выборки.
-
** Задача [[классификация|классификации]] (classification) отличается тем, что множество допустимых ответов конечно. Их называют ''метками классов'' (class label). Класс — это множество всех объектов с данным значением метки.
+
** Задача [[классификация|классификации]] (classification) отличается тем, что множество допустимых ответов конечно. Их называют ''метками классов'' (class label). Класс — это множество всех объектов с данным значением метки.
-
** Задача [[регрессия|регрессии]] (regression) отличается тем, что допустимым ответом является действительное число или числовой вектор.
+
** Задача [[регрессия|регрессии]] (regression) отличается тем, что допустимым ответом является действительное число или числовой вектор.
-
** Задача [[прогнозирование|прогнозирования]] (forecasting) отличается тем, что объектами являются отрезки временных рядов, обрывающиеся в тот момент, когда требуется сделать прогноз на будущее. Для решения задач прогнозирования часто удаётся приспособить методы регрессии или классификации, причём во втором случае речь идёт скорее о задачах ''[[принятие решений|принятия решений]]''.
+
** Задача [[прогнозирование|прогнозирования]] (forecasting) отличается тем, что объектами являются отрезки временных рядов, обрывающиеся в тот момент, когда требуется сделать прогноз на будущее. Для решения задач прогнозирования часто удаётся приспособить методы регрессии или классификации, причём во втором случае речь идёт скорее о задачах ''[[принятие решений|принятия решений]]''.
-
* [[Обучение без учителя]] (unsupervised learning). В этом случае ответы не задаются, и требуется искать зависимости между объектами.
+
* [[Обучение без учителя]] (unsupervised learning). В этом случае ответы не задаются, и требуется искать зависимости между объектами.
** Задача [[кластеризация|кластеризации]] (clustering) заключается в том, чтобы сгруппировать объекты в [[кластер]]ы, используя данные о попарном сходстве объектов. Функционалы качества могут определяться по-разному, например, как отношение средних межкластерных и внутрикластерных расстояний.
** Задача [[кластеризация|кластеризации]] (clustering) заключается в том, чтобы сгруппировать объекты в [[кластер]]ы, используя данные о попарном сходстве объектов. Функционалы качества могут определяться по-разному, например, как отношение средних межкластерных и внутрикластерных расстояний.
** Задача [[поиск ассоциативных правил|поиска ассоциативных правил]] (association rules learning). Исходные данные представляются в виде признаковых описаний. Требуется найти такие наборы признаков, и такие значения этих признаков, которые особенно часто (неслучайно часто) встречаются в признаковых описаниях объектов.
** Задача [[поиск ассоциативных правил|поиска ассоциативных правил]] (association rules learning). Исходные данные представляются в виде признаковых описаний. Требуется найти такие наборы признаков, и такие значения этих признаков, которые особенно часто (неслучайно часто) встречаются в признаковых описаниях объектов.
-
* [[Частичное обучение]] (semi-supervised learning) занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов. Пример прикладной задачи — автоматическая [[рубрикация текстов|рубрикация]] большого количества текстов при условии, что некоторые из них уже отнесены к каким-то рубрикам.
+
* [[Частичное обучение]] (semi-supervised learning) занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов. Пример прикладной задачи — автоматическая [[рубрикация текстов|рубрикация]] большого количества текстов при условии, что некоторые из них уже отнесены к каким-то рубрикам.
-
* [[Трансдуктивное обучение]] (transductive learning). Дана конечная обучающая выборка прецедентов. Требуется по этим ''частным'' данным сделать предсказания отностительно других ''частных'' данных — [[тестовая выборка|тестовой выборки]]. {{S|В отличие}} от стандартной постановки, здесь не требуется выявлять ''общую'' закономерность, поскольку известно, что новых тестовых прецедентов не будет. {{S|С другой}} стороны, появляется возможность улучшить качество предсказаний за счёт анализа всей тестовой выборки целиком, например, путём её кластеризации. {{S|Во многих}} приложениях трансдуктивное обучение практически не отличается от частичного обучения.
+
* [[Трансдуктивное обучение]] (transductive learning). Дана конечная обучающая выборка прецедентов. Требуется по этим ''частным'' данным сделать предсказания отностительно других ''частных'' данных — [[тестовая выборка|тестовой выборки]]. {{S|В отличие}} от стандартной постановки, здесь не требуется выявлять ''общую'' закономерность, поскольку известно, что новых тестовых прецедентов не будет. {{S|С другой}} стороны, появляется возможность улучшить качество предсказаний за счёт анализа всей тестовой выборки целиком, например, путём её кластеризации. {{S|Во многих}} приложениях трансдуктивное обучение практически не отличается от частичного обучения.
* [[Обучение с подкреплением]] (reinforcement learning). Роль объектов играют пары «ситуация, принятое решение», ответами являются значения функционала качества, характеризующего правильность принятых решений (реакцию среды). Как и в задачах прогнозирования, здесь сущетвенную роль играет фактор времени. Примеры прикладных задач: формирование инвестиционных стратегий, автоматическое управление технологическими процессами, самообучение роботов, {{S|и т.д.}}
* [[Обучение с подкреплением]] (reinforcement learning). Роль объектов играют пары «ситуация, принятое решение», ответами являются значения функционала качества, характеризующего правильность принятых решений (реакцию среды). Как и в задачах прогнозирования, здесь сущетвенную роль играет фактор времени. Примеры прикладных задач: формирование инвестиционных стратегий, автоматическое управление технологическими процессами, самообучение роботов, {{S|и т.д.}}
-
* [[Динамическое обучение]] (online learning) может быть как обучением с учителем, так и без учителя. Специфика в том, что прецеденты поступают потоком. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Как и в задачах прогнозирования, здесь сущетвенную роль играет фактор времени.
+
* [[Динамическое обучение]] (online learning) может быть как обучением с учителем, так и без учителя. Специфика в том, что прецеденты поступают потоком. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Как и в задачах прогнозирования, здесь сущетвенную роль играет фактор времени.
* [[Активное обучение]] (active learning) отличается тем, что обучаемый имеет возможность самостоятельно назначать следующий прецедент, который станет известен. {{S|См. также}} [[Планирование экспериментов]].
* [[Активное обучение]] (active learning) отличается тем, что обучаемый имеет возможность самостоятельно назначать следующий прецедент, который станет известен. {{S|См. также}} [[Планирование экспериментов]].
-
* [[Метаобучение]] (meta-learning или learning-to-learn) отличается тем, что прецедентами являются ранее решённые задачи обучения. Требуется определить, какие из используемых в них [[эвристика|эвристик]] работают более эффективно. Конечная цель — обеспечить постоянное автоматическое совершенствование алгоритма обучения с течением времени.
+
* [[Метаобучение]] (meta-learning или learning-to-learn) отличается тем, что прецедентами являются ранее решённые задачи обучения. Требуется определить, какие из используемых в них [[эвристика|эвристик]] работают более эффективно. Конечная цель — обеспечить постоянное автоматическое совершенствование алгоритма обучения с течением времени.
-
** [[Многозадачное обучение]] (multi-task learning). Набор взаимосвязанных или схожих задач обучения решается одновременно, с помощью различных алгоритмов обучения, имеющих схожее внутренне представление. Информация о сходстве задач между собой позволяет более эффективно совершенствовать алгоритм обучения и повышать качество решения основной задачи.
+
** [[Многозадачное обучение]] (multi-task learning). Набор взаимосвязанных или схожих задач обучения решается одновременно, с помощью различных алгоритмов обучения, имеющих схожее внутренне представление. Информация о сходстве задач между собой позволяет более эффективно совершенствовать алгоритм обучения и повышать качество решения основной задачи.
-
** [[Индуктивный перенос]] (inductive transfer). Опыт решения отдельных ''частных'' задач обучения по прецедентам переносится на решение последующих ''частных'' задач обучения. Для формализации и сохранения этого опыта применяются реляционные или иерархические структуры представления знаний.
+
** [[Индуктивный перенос]] (inductive transfer). Опыт решения отдельных ''частных'' задач обучения по прецедентам переносится на решение последующих ''частных'' задач обучения. Для формализации и сохранения этого опыта применяются реляционные или иерархические структуры представления знаний.
-
** Иногда к метаобучению ошибочно относят построение [[алгоритмическая композиция|алгоритмических композиций]], в частности, [[бустинг]]; однако в композициях несколько алгоритмов рещают ''одну и ту же'' задачу, тогда как метаобучение предполагает, что решается много разных задач.
+
** Иногда к метаобучению ошибочно относят построение [[алгоритмическая композиция|алгоритмических композиций]], в частности, [[бустинг]]; однако в композициях несколько алгоритмов рещают ''одну и ту же'' задачу, тогда как метаобучение предполагает, что решается много разных задач.
=== Вспомогательные задачи ===
=== Вспомогательные задачи ===
-
Вспомогательные задачи, как правило, не представляют основного интереса с прикладной точки зрения, но используются в других (перечисленных выше) случаях для повышения качества решения.
+
Вспомогательные задачи, как правило, не представляют основного интереса с прикладной точки зрения, но используются в других (перечисленных выше) случаях для повышения качества решения.
* [[Сокращение размерности]] (dimension reduction), в частности, отбор информативных признаков (features selection). Часто применяется в задачах классификации и регрессии, поскольку лишние признаки усложняют удорожают получение исходных данных, усложняют процесс обучения и приводят к [[переобучение|переобучению]].
* [[Сокращение размерности]] (dimension reduction), в частности, отбор информативных признаков (features selection). Часто применяется в задачах классификации и регрессии, поскольку лишние признаки усложняют удорожают получение исходных данных, усложняют процесс обучения и приводят к [[переобучение|переобучению]].
-
* [[Фильтрация выбросов]] (outliers detection) обнаружение в обучающей выборке небольшого числа [[нетипичность|нетипичных]] объектов (выбросов, шума), которые могут появляться вследствие ошибок наблюдения, неожиданного изменения [[целевая функция|целевой функции]], или неадекватности модели. Как правило, удаление таких объектов или придание им меньшего ''веса'' приводит к построению более надёжных ([[Робастные методы|робастных]]) алгоритмов.
+
* [[Фильтрация выбросов]] (outliers detection) — обнаружение в обучающей выборке небольшого числа [[нетипичность|нетипичных]] объектов (выбросов, шума), которые могут появляться вследствие ошибок наблюдения, неожиданного изменения [[целевая функция|целевой функции]], или неадекватности модели. Как правило, удаление таких объектов или придание им меньшего ''веса'' приводит к построению более надёжных ([[Робастные методы|робастных]]) алгоритмов.
-
* [[Восполнение пропущенных данных]] замена недостающих значений в признаковых описаниях их прогнозными значениями.
+
* [[Восполнение пропущенных данных]] — замена недостающих значений в признаковых описаниях их прогнозными значениями.
-
=== Специфические прикладные задачи ===
+
=== Специфические прикладные задачи ===
-
Некоторые задачи, возникающие в прикладных областях, имеют черты сразу нескольких стандартных типов задач обучения, поэтому их трудно однозначно отнести к какому-то одному типу.
+
Некоторые задачи, возникающие в прикладных областях, имеют черты сразу нескольких стандартных типов задач обучения, поэтому их трудно однозначно отнести к какому-то одному типу.
-
* [[Формирование инвестиционного портфеля]] (portfolio selection) это динамическое обучение с подкреплением, в котором очень важен отбор информативных признаков. Роль признаков играют финансовые инструменты. Состав оптимального набора признаков (портфеля) может изменяться со временем. Функционалом качества является долгосрочная прибыль от инвестирования в данную стратегию управления портфелем.
+
* [[Формирование инвестиционного портфеля]] (portfolio selection) — это динамическое обучение с подкреплением, в котором очень важен отбор информативных признаков. Роль признаков играют финансовые инструменты. Состав оптимального набора признаков (портфеля) может изменяться со временем. Функционалом качества является долгосрочная прибыль от инвестирования в данную стратегию управления портфелем.
-
* [[Коллаборативная фильтрация]] (collaborative filtering) это прогнозирование предпочтений пользователей на основе их прежних предпочтений и предпочтений схожих пользователей. Применяются элементы классификации, кластеризации и восполнения пропущенных данных. {{S|См. также}} [[Персонализация]] и [[Анализ клиентских сред]].
+
* [[Коллаборативная фильтрация]] (collaborative filtering) — это прогнозирование предпочтений пользователей на основе их прежних предпочтений и предпочтений схожих пользователей. Применяются элементы классификации, кластеризации и восполнения пропущенных данных. {{S|См. также}} [[Персонализация]] и [[Анализ клиентских сред]].
== Приложения ==
== Приложения ==
Строка 109: Строка 109:
== Подходы и методы ==
== Подходы и методы ==
-
'''Подход''' к задачам обучения — это концепция, парадигма, точка зрения на процесс обучения, приводящая к набору базовых предположений, гипотез, эвристик, на основе которых строится модель, функционал качества и методы его оптимизации.
+
'''Подход''' к задачам обучения — это концепция, парадигма, точка зрения на процесс обучения, приводящая к набору базовых предположений, гипотез, эвристик, на основе которых строится модель, функционал качества и методы его оптимизации.
-
Разделение методов {{S|«по подходам»}} довольно условно.
+
Разделение методов {{S|«по подходам»}} довольно условно.
-
Разные подходы могут приводить к одной и той же модели, но разным методам её обучения.
+
Разные подходы могут приводить к одной и той же модели, но разным методам её обучения.
-
{{S|В некоторых}} случаях эти методы отличаются очень сильно, {{S|в других}} совсем немного и «плавно трансформируются» друг в друга путём незначительных модификаций.
+
{{S|В некоторых}} случаях эти методы отличаются очень сильно, {{S|в других}} — совсем немного и «плавно трансформируются» друг в друга путём незначительных модификаций.
=== Статистическая классификация ===
=== Статистическая классификация ===
-
В статистике решение задач классификации принято называть ''дискриминантным анализом''.
+
В статистике решение задач классификации принято называть ''дискриминантным анализом''.
-
[[Оптимальный байесовский классификатор]] основан на знании плотностей распределения классов, которые [[Оценивание плотности распределения|оцениваются]] по обучающей выборке.
+
'''[[:Категория:Байесовская теория классификации|Байесовская теория классификации]]''' основана на применении [[Оптимальный байесовский классификатор|оптимального байесовского классификатора]] и [[Оценивание плотности распределения|оценивании плотностей распределения]] классов по [[Обучающая выборка|обучающей выборке]].
-
Различные методы оценивания плотности порождают большое разнообразие байесовских классификаторов:
+
Различные методы оценивания плотности порождают большое разнообразие байесовских классификаторов.
-
* [[наивный байесовский классификатор]];
+
Среди них можно выделить три группы методов:
 +
 
 +
'''Параметрическое оценивание плотности'''
* [[квадратичный дискриминант]];
* [[квадратичный дискриминант]];
* [[линейный дискриминант Фишера]];
* [[линейный дискриминант Фишера]];
 +
 +
'''Непараметрическое оценивание плотности'''
* [[метод парзеновского окна]];
* [[метод парзеновского окна]];
-
* [[разделение смеси плотностей]], [[EM-алгоритм]];
+
 
 +
'''Оценивание плотности как смеси параметрических плотностей'''
 +
* [[разделение смеси распределений]], [[EM-алгоритм]];
* [[метод радиальных базисных функций]].
* [[метод радиальных базисных функций]].
 +
 +
Несколько особняком стоит [[наивный байесовский классификатор]], который может быть как параметрическим, так и непараметрическим.
 +
Он основан на нереалистичном предположении о статистической назависимости [[признак]]ов.
 +
Благодаря этому метод чрезвычайно прост.
Другие теоретико-вероятностные и статистические подходы:
Другие теоретико-вероятностные и статистические подходы:
Строка 132: Строка 142:
=== Классификация на основе сходства ===
=== Классификация на основе сходства ===
-
Во многих задачах классификации естественно задавать объекты не их [[признаковое описание|признаковыми описаниями]], а [[матрица расстояний|матрицей попарных расстояний]] (метрикой) между объектами.
+
'''[[:Категория:Метрические алгоритмы классификации|Метрические алгоритмы классификации]]''' применяются в тех задачах, где удаётся естественным образом задавать объекты не их [[признаковое описание|признаковыми описаниями]], а [[матрица расстояний|матрицей попарных расстояний]] между объектами.
-
Классификация объектов по их сходству основана на ''[[Гипотеза компактности|гипотезе компактности]]'', которая гласит, что в «хорошей задаче» схожие объекты чаще лежат в одном классе, чем в разных.
+
Классификация объектов по их сходству основана на ''[[Гипотеза компактности|гипотезе компактности]]'', которая гласит, что в «хорошей задаче» схожие объекты чаще лежат в одном классе, чем в разных.
-
На этой гипотезе основаны [[Метрический классификатор|метрические алгоритмы классификации]].
+
 
 +
Метрические алгоритмы относятся к методам [[Рассуждение на основе прецедентов|рассуждения на основе прецедентов]] (Case Based Reasoning, CBR}.
 +
Здесь действительно можно говорить о «рассуждениях», так как на вопрос «почему объект ''u'' был отнесён к классу ''y''?»
 +
алгоритм может дать понятный эксперту ответ:
 +
«потому, что имеются прецеденты — схожие с~ним объекты, принадлежащие классу ''y''»,
 +
и~предъявить список этих прецедентов.
 +
 
 +
Наиболее известные метрические алгоритмы классификации:
* [[метод ближайших соседей]];
* [[метод ближайших соседей]];
* [[метод парзеновского окна]];
* [[метод парзеновского окна]];
-
* [[метод радиальных базисных функций]].
+
* [[метод потенциальных функций]];
 +
* [[метод радиальных базисных функций]];
 +
* [[СТОЛП|отбор эталонных объектов]].
=== Классификация на основе разделимости ===
=== Классификация на основе разделимости ===
-
Большая группа методов классификации основана на построении разделяющей поверхности в пространстве объектов.
+
Большая группа методов классификации основана на явном построении разделяющей поверхности в пространстве объектов.
-
* [[персептрон]];
+
Из них чаще всех применяются '''[[:Категория:Линейные классификаторы|Линейные классификаторы]]''':
-
* [[метод потенциальных функций]];
+
* [[линейный дискриминант Фишера]];
-
* [[метод опорных векторов]].
+
* [[однослойный персептрон]];
 +
* [[логистическая регрессия]];
 +
* [[машина опорных векторов]] = [[Метод опорных векторов]] = [[SVM]].
=== Нейронные сети ===
=== Нейронные сети ===
 +
'''[[:Категория:Нейронные сети|Нейронные сети]]''' основаны не принципе [[коннективизм]]а — в них соединяется большое количество относительно простых элементов, а обучение сводится к построению оптимальной структуры связей и настройке параметров связей.
* [[персептрон]];
* [[персептрон]];
 +
* [[однослойный персептрон]];
* [[многослойный персептрон]];
* [[многослойный персептрон]];
 +
* [[метод стохастического градиента]]
 +
* [[метод обратного распространения ошибки]] = [[Backpropagation]] = [[Backprop]]
* [[самоорганизующаяся сеть Кохонена]];
* [[самоорганизующаяся сеть Кохонена]];
* [[гибридная сеть встречного распространения]];
* [[гибридная сеть встречного распространения]];
* [[сеть радиальных базисных функций]];
* [[сеть радиальных базисных функций]];
 +
* [[оптимальное усечение сети]] = [[Optimal Brain Damage]] = [[OBD]].
=== Индукция правил (поиск закономерностей) ===
=== Индукция правил (поиск закономерностей) ===
 +
'''[[:Категория:Логические алгоритмы классификации]]''' представляют собой композиции простых, легко интерпретируемых правил.
* [[решающее дерево]];
* [[решающее дерево]];
* [[решающий список]];
* [[решающий список]];
* [[решающий лес]];
* [[решающий лес]];
* [[тестовый алгоритм]];
* [[тестовый алгоритм]];
-
* [[алгоритм вычисления оценок]].
+
* [[алгоритм вычисления оценок]];
 +
* [[дерево регрессии]];
 +
* [[ассоциативные правила]] = [[правила ассоциации]].
=== Кластеризация ===
=== Кластеризация ===
 +
'''[[:Категория:Кластеризация]]'''
* [[графовые алгоритмы кластеризации]];
* [[графовые алгоритмы кластеризации]];
-
* [[cтатистические алгоритмы кластеризации]];
+
* [[cтатистические алгоритмы кластеризации]];
 +
* [[Алгоритм ФОРЕЛЬ]];
 +
* [[Алгоритм k средних]] = [[k-means]];
* [[иерархическая кластеризация]];
* [[иерархическая кластеризация]];
-
* [[ко-кластеризация]].
+
* [[ко-кластеризация]];
 +
* [[Нейронная сеть Кохонена]];
 +
* [[Ансамбль кластеризаторов]],
=== Регрессия ===
=== Регрессия ===
Строка 196: Строка 230:
* [[случайный поиск с адаптацией]];
* [[случайный поиск с адаптацией]];
* [[генетический алгоритм]].
* [[генетический алгоритм]].
 +
 +
=== Байесовский вывод ===
 +
'''[[:Категория:Байесовский вывод]]'''
 +
* [[байесовский вывод]]
 +
* [[байесовский информационный критерий]] = [[BIC]];
 +
* [[метод релевантных векторов]] = [[RVM]]
 +
* [[байесовская сеть]]
 +
== Ссылки ==
== Ссылки ==
-
* [http://groups.google.com/group/ML-news?hl=en Google Machine Learning News] форумы и новости по машинному обучению на Гугле
+
* [http://groups.google.com/group/ML-news?hl=en Google Machine Learning News] — форумы и новости по машинному обучению на Гугле
-
* [http://hunch.net hunch.net] блог Джона Лангфорда (John Langford) по проблемам машинного обучения
+
* [http://hunch.net hunch.net] — блог Джона Лангфорда (John Langford) по проблемам машинного обучения
-
* [http://mloss.org ML OSS] (Machine learning open source software) коллективный сайт разработчиков открытого софта для машинного обучения
+
* [http://mloss.org ML OSS] (Machine learning open source software) — коллективный сайт разработчиков открытого софта для машинного обучения
-
* [http://www.kdnuggets.com KDnuggets] крупнейший портал по интеллектуальному анализу данных, поддерживаемый Григорием Пятецким-Шапиро, одним из идеологов Data Mining
+
* [http://www.kdnuggets.com KDnuggets] — крупнейший портал по интеллектуальному анализу данных, поддерживаемый Григорием Пятецким-Шапиро, одним из идеологов Data Mining
-
* [http://clopinet.com/challenges ML challenges] cоревнования в решении задач машинного обучения
+
* [http://clopinet.com/challenges ML challenges] — cоревнования в решении задач машинного обучения
-
* [http://www.kdnet.org KDNet] (Knowledge Discovery Network of Excellence) международный проект, объединяющий представителей науки и бизнеса, решающих практические задачи интеллектуального анализа данных
+
* [http://www.kdnet.org KDNet] (Knowledge Discovery Network of Excellence) — международный проект, объединяющий представителей науки и бизнеса, решающих практические задачи интеллектуального анализа данных
-
* [http://www.mlpedia.org MLpedia] вики-ресурс по ''машинному обучению'', в последнее время почему-то недоступен
+
* [http://www.mlpedia.org MLpedia] — вики-ресурс по ''машинному обучению'', в последнее время почему-то недоступен
-
* [http://en.wikipedia.org/wiki/Category:Machine_learning Wikipedia] категория Machine Learning в англоязычной Википедии
+
* [http://en.wikipedia.org/wiki/Category:Machine_learning Wikipedia] — категория Machine Learning в англоязычной Википедии
-
* [http://citeseer.ist.psu.edu CiteSeer] основной источник знаний по Computer Science
+
* [http://citeseer.ist.psu.edu CiteSeer] — основной источник знаний по Computer Science
-
* [http://citeseerx.ist.psu.edu CiteSeer<sup>X</sup>] альфа-версия нового CiteSeer, пока глючная, но зато пополняемая
+
* [http://citeseerx.ist.psu.edu CiteSeer<sup>X</sup>] — альфа-версия нового CiteSeer, пока глючная, но зато пополняемая
== Курсы лекций ==
== Курсы лекций ==
Строка 216: Строка 258:
== Использованная литература ==
== Использованная литература ==
-
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: основы моделирования и первичная обработка данных. М.: Финансы и статистика, 1983.
+
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: основы моделирования и первичная обработка данных. — М.: Финансы и статистика, 1983.
-
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: исследование зависимостей. М.: Финансы и статистика, 1985.
+
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: исследование зависимостей. — М.: Финансы и статистика, 1985.
-
# ''Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: классификация и снижение размерности. М.: Финансы и статистика, 1989.
+
# ''Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: классификация и снижение размерности. — М.: Финансы и статистика, 1989.
-
# ''Вапник В. Н., Червоненкис А. Я.'' Теория распознавания образов. М.: Наука, 1974.
+
# ''Вапник В. Н., Червоненкис А. Я.'' Теория распознавания образов. — М.: Наука, 1974.
-
# ''Вапник В. Н.'' Восстановление зависимостей по эмпирическим данным. М.: Наука, 1979.
+
# ''Вапник В. Н.'' Восстановление зависимостей по эмпирическим данным. — М.: Наука, 1979.
-
# ''Журавлев Ю. И., Рязанов В. В., Сенько О. В.'' «Распознавание». Математические методы. Программная система. Практические применения. М.: Фазис, 2006. ISBN 5-7036-0108-8.
+
# ''Журавлев Ю. И., Рязанов В. В., Сенько О. В.'' «Распознавание». Математические методы. Программная система. Практические применения. — М.: Фазис, 2006. ISBN 5-7036-0108-8.
-
# ''Загоруйко Н. Г.'' Прикладные методы анализа данных и знаний. Новосибирск: ИМ СО РАН, 1999. ISBN 5-86134-060-9.
+
# ''Загоруйко Н. Г.'' Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. ISBN 5-86134-060-9.
-
# ''Шлезингер М., Главач В.'' Десять лекций по статистическому и структурному распознаванию. Киев: Наукова думка, 2004. ISBN 966-00-0341-2.
+
# ''Шлезингер М., Главач В.'' Десять лекций по статистическому и структурному распознаванию. — Киев: Наукова думка, 2004. ISBN 966-00-0341-2.
-
# ''Hastie T., Tibshirani R., Friedman J.'' The Elements of Statistical Learning. Springer, 2001. ISBN 0-387-95284-5.
+
# ''Hastie T., Tibshirani R., Friedman J.'' The Elements of Statistical Learning. — Springer, 2001. ISBN 0-387-95284-5.
-
#{{книга
+
# {{книга
|автор = MacKay D.
|автор = MacKay D.
|заглавие = On-line book: Information Theory, Inference, and Learning Algorithms
|заглавие = On-line book: Information Theory, Inference, and Learning Algorithms
Строка 231: Строка 273:
|ссылка = http://www.inference.phy.cam.ac.uk/mackay/itila
|ссылка = http://www.inference.phy.cam.ac.uk/mackay/itila
}}
}}
-
# ''Mitchell T.'' Machine Learning. McGraw-Hill Science/Engineering/Math, 1997. ISBN 0-07-042807-7.
+
# ''Mitchell T.'' Machine Learning. — McGraw-Hill Science/Engineering/Math, 1997. ISBN 0-07-042807-7.
-
# ''Schölkopf B.'', ''Smola A.J.'' Learning with Kernels. Support Vector Machines, Regularization, Optimization, and Beyond. MIT Press, Cambridge, MA, 2002 ISBN 13-978-0-262-19475-4 [http://www.learning-with-kernels.org/]
+
# ''Schölkopf B.'', ''Smola A.J.'' Learning with Kernels. Support Vector Machines, Regularization, Optimization, and Beyond. — MIT Press, Cambridge, MA, 2002 ISBN 13-978-0-262-19475-4 [http://www.learning-with-kernels.org/]
-
# ''Vapnik V.N. '' Statistical learning theory. N.Y.: John Wiley & Sons, Inc., 1998. [http://lib.mexmat.ru/books/9220]
+
# ''Vapnik V.N. '' Statistical learning theory. — N.Y.: John Wiley & Sons, Inc., 1998. [http://lib.mexmat.ru/books/9220]
-
# ''Witten I.H.'', ''Frank E.'' Data Mining: Practical Machine Learning Tools and Techniques (Second Edition). - Morgan Kaufmann, 2005 ISBN 0-12-088407-0 [http://www.cs.waikato.ac.nz/~ml/weka/book.html]
+
# ''Witten I.H.'', ''Frank E.'' Data Mining: Practical Machine Learning Tools and Techniques (Second Edition). — Morgan Kaufmann, 2005 ISBN 0-12-088407-0 [http://www.cs.waikato.ac.nz/~ml/weka/book.html]

Версия 22:24, 24 апреля 2008

Содержание

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

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

Наиболее теоретические разделы машинного обучения объединены в отдельное направление, теорию вычислительного обучения (Computational Learning Theory, COLT).

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

Основные международные конференции — ICML, NIPS, ICPR, COLT.

Международные конференции в странах СНГ — ИОИ.

Основные всероссийские конференции — ММРО, РОАИ.

Общая постановка задачи обучения по прецедентам

Дано конечное множество прецедентов (объектов, ситуаций), по каждому из которых собраны (измерены) некоторые данные. Данные о прецеденте называют также его описанием. Совокупность всех имеющихся описаний прецедентов называется обучающей выборкой. Требуется по этим частным данным выявить общие зависимости, закономерности, взаимосвязи, присущие не только этой конкретной выборке, но вообще всем прецедентам, в том числе тем, которые ещё не наблюдались. Говорят также о восстановлении зависимостей по эмпирическим данным — этот термин был введён в пионерских работах Вапника и Червоненкиса.

Наиболее распространённым способом описания прецедентов является признаковое описание. Фиксируется совокупность n показателей, измеряемых у всех прецедентов. Если все n показателей числовые, то признаковые описания представляют собой числовые векторы размерности n. Возможны и более сложные случаи, когда прецеденты описываются временными рядами или сигналами, изображениями, видеорядами, текстами, попарными отношениями друг с другом, например отношением сходства или интенсивности взаимодействия, и т. д.

Для решения задачи обучения по прецедентам в первую очередь фиксируется модель зависимости. Затем вводится функционал качества, значение которого показывает, насколько хорошо модель описывает наблюдаемые данные. Алгоритм обучения (learning algorithm) ищет такой набор параметров модели, при котором функционал качества на заданной обучающей выборке принимает оптимальное значение. Процесс настройки (fitting) модели по выборке данных в большинестве случаев сводится к применению численных методов оптимизации.

Замечание о терминологии. В зарубежных публикациях термин algorithm употребляется только в указанном выше смысле, то есть это вычислительная процедура, которая по обучающей выборке строит функцию, аппроксимирующую целевую зависимость. В задачах классификации аппроксимирующую функцию принято называть классификатором (classifier), концептом (concept) или гипотезой (hypothesys); а в других задачах обучения — просто функцией. В русскоязычной литературе аппроксимирующую функцию также называют алгоритмом, подчёркивая, что и она должна допускать эффективную компьютерную реализацию.


Типология задач обучения по прецедентам

Основные стандартные типы задач

  • Обучение с учителем (supervised learning) — наиболее распространённый случай. Каждый прецедент представляет собой пару «объект, ответ». Требуется найти функциональную зависимость ответов от описаний объектов и построить алгоритм, принимающий на входе описание объекта и выдающий на выходе ответ. Функционал качества обычно определяется как средняя ошибка ответов, выданных алгоритмом, по всем объектам выборки.
    • Задача классификации (classification) отличается тем, что множество допустимых ответов конечно. Их называют метками классов (class label). Класс — это множество всех объектов с данным значением метки.
    • Задача регрессии (regression) отличается тем, что допустимым ответом является действительное число или числовой вектор.
    • Задача прогнозирования (forecasting) отличается тем, что объектами являются отрезки временных рядов, обрывающиеся в тот момент, когда требуется сделать прогноз на будущее. Для решения задач прогнозирования часто удаётся приспособить методы регрессии или классификации, причём во втором случае речь идёт скорее о задачах принятия решений.
  • Обучение без учителя (unsupervised learning). В этом случае ответы не задаются, и требуется искать зависимости между объектами.
    • Задача кластеризации (clustering) заключается в том, чтобы сгруппировать объекты в кластеры, используя данные о попарном сходстве объектов. Функционалы качества могут определяться по-разному, например, как отношение средних межкластерных и внутрикластерных расстояний.
    • Задача поиска ассоциативных правил (association rules learning). Исходные данные представляются в виде признаковых описаний. Требуется найти такие наборы признаков, и такие значения этих признаков, которые особенно часто (неслучайно часто) встречаются в признаковых описаниях объектов.
  • Частичное обучение (semi-supervised learning) занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов. Пример прикладной задачи — автоматическая рубрикация большого количества текстов при условии, что некоторые из них уже отнесены к каким-то рубрикам.
  • Трансдуктивное обучение (transductive learning). Дана конечная обучающая выборка прецедентов. Требуется по этим частным данным сделать предсказания отностительно других частных данных — тестовой выборки. В отличие от стандартной постановки, здесь не требуется выявлять общую закономерность, поскольку известно, что новых тестовых прецедентов не будет. С другой стороны, появляется возможность улучшить качество предсказаний за счёт анализа всей тестовой выборки целиком, например, путём её кластеризации. Во многих приложениях трансдуктивное обучение практически не отличается от частичного обучения.
  • Обучение с подкреплением (reinforcement learning). Роль объектов играют пары «ситуация, принятое решение», ответами являются значения функционала качества, характеризующего правильность принятых решений (реакцию среды). Как и в задачах прогнозирования, здесь сущетвенную роль играет фактор времени. Примеры прикладных задач: формирование инвестиционных стратегий, автоматическое управление технологическими процессами, самообучение роботов, и т.д.
  • Динамическое обучение (online learning) может быть как обучением с учителем, так и без учителя. Специфика в том, что прецеденты поступают потоком. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Как и в задачах прогнозирования, здесь сущетвенную роль играет фактор времени.
  • Метаобучение (meta-learning или learning-to-learn) отличается тем, что прецедентами являются ранее решённые задачи обучения. Требуется определить, какие из используемых в них эвристик работают более эффективно. Конечная цель — обеспечить постоянное автоматическое совершенствование алгоритма обучения с течением времени.
    • Многозадачное обучение (multi-task learning). Набор взаимосвязанных или схожих задач обучения решается одновременно, с помощью различных алгоритмов обучения, имеющих схожее внутренне представление. Информация о сходстве задач между собой позволяет более эффективно совершенствовать алгоритм обучения и повышать качество решения основной задачи.
    • Индуктивный перенос (inductive transfer). Опыт решения отдельных частных задач обучения по прецедентам переносится на решение последующих частных задач обучения. Для формализации и сохранения этого опыта применяются реляционные или иерархические структуры представления знаний.
    • Иногда к метаобучению ошибочно относят построение алгоритмических композиций, в частности, бустинг; однако в композициях несколько алгоритмов рещают одну и ту же задачу, тогда как метаобучение предполагает, что решается много разных задач.

Вспомогательные задачи

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

  • Сокращение размерности (dimension reduction), в частности, отбор информативных признаков (features selection). Часто применяется в задачах классификации и регрессии, поскольку лишние признаки усложняют удорожают получение исходных данных, усложняют процесс обучения и приводят к переобучению.
  • Фильтрация выбросов (outliers detection) — обнаружение в обучающей выборке небольшого числа нетипичных объектов (выбросов, шума), которые могут появляться вследствие ошибок наблюдения, неожиданного изменения целевой функции, или неадекватности модели. Как правило, удаление таких объектов или придание им меньшего веса приводит к построению более надёжных (робастных) алгоритмов.

Специфические прикладные задачи

Некоторые задачи, возникающие в прикладных областях, имеют черты сразу нескольких стандартных типов задач обучения, поэтому их трудно однозначно отнести к какому-то одному типу.

  • Формирование инвестиционного портфеля (portfolio selection) — это динамическое обучение с подкреплением, в котором очень важен отбор информативных признаков. Роль признаков играют финансовые инструменты. Состав оптимального набора признаков (портфеля) может изменяться со временем. Функционалом качества является долгосрочная прибыль от инвестирования в данную стратегию управления портфелем.

Приложения

Целью машинного обучения является частичная или полная автоматизация решения сложных профессиональных задач в самых разных областях человеческой деятельности. Машинное обучение имеет широкий спектр приложений:

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

Подходы и методы

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

Разделение методов «по подходам» довольно условно. Разные подходы могут приводить к одной и той же модели, но разным методам её обучения. В некоторых случаях эти методы отличаются очень сильно, в других — совсем немного и «плавно трансформируются» друг в друга путём незначительных модификаций.

Статистическая классификация

В статистике решение задач классификации принято называть дискриминантным анализом.

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

Параметрическое оценивание плотности

Непараметрическое оценивание плотности

Оценивание плотности как смеси параметрических плотностей

Несколько особняком стоит наивный байесовский классификатор, который может быть как параметрическим, так и непараметрическим. Он основан на нереалистичном предположении о статистической назависимости признаков. Благодаря этому метод чрезвычайно прост.

Другие теоретико-вероятностные и статистические подходы:

Классификация на основе сходства

Метрические алгоритмы классификации применяются в тех задачах, где удаётся естественным образом задавать объекты не их признаковыми описаниями, а матрицей попарных расстояний между объектами. Классификация объектов по их сходству основана на гипотезе компактности, которая гласит, что в «хорошей задаче» схожие объекты чаще лежат в одном классе, чем в разных.

Метрические алгоритмы относятся к методам рассуждения на основе прецедентов (Case Based Reasoning, CBR}. Здесь действительно можно говорить о «рассуждениях», так как на вопрос «почему объект u был отнесён к классу y?» алгоритм может дать понятный эксперту ответ: «потому, что имеются прецеденты — схожие с~ним объекты, принадлежащие классу y», и~предъявить список этих прецедентов.

Наиболее известные метрические алгоритмы классификации:

Классификация на основе разделимости

Большая группа методов классификации основана на явном построении разделяющей поверхности в пространстве объектов. Из них чаще всех применяются Линейные классификаторы:

Нейронные сети

Нейронные сети основаны не принципе коннективизма — в них соединяется большое количество относительно простых элементов, а обучение сводится к построению оптимальной структуры связей и настройке параметров связей.

Индукция правил (поиск закономерностей)

Категория:Логические алгоритмы классификации представляют собой композиции простых, легко интерпретируемых правил.

Кластеризация

Категория:Кластеризация

Регрессия

Алгоритмические композиции

Сокращение размерности

Выбор модели

Байесовский вывод

Категория:Байесовский вывод


Ссылки

  • Google Machine Learning News — форумы и новости по машинному обучению на Гугле
  • hunch.net — блог Джона Лангфорда (John Langford) по проблемам машинного обучения
  • ML OSS (Machine learning open source software) — коллективный сайт разработчиков открытого софта для машинного обучения
  • KDnuggets — крупнейший портал по интеллектуальному анализу данных, поддерживаемый Григорием Пятецким-Шапиро, одним из идеологов Data Mining
  • ML challenges — cоревнования в решении задач машинного обучения
  • KDNet (Knowledge Discovery Network of Excellence) — международный проект, объединяющий представителей науки и бизнеса, решающих практические задачи интеллектуального анализа данных
  • MLpedia — вики-ресурс по машинному обучению, в последнее время почему-то недоступен
  • Wikipedia — категория Machine Learning в англоязычной Википедии
  • CiteSeer — основной источник знаний по Computer Science
  • CiteSeerX — альфа-версия нового CiteSeer, пока глючная, но зато пополняемая

Курсы лекций

Использованная литература

  1. Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: основы моделирования и первичная обработка данных. — М.: Финансы и статистика, 1983.
  2. Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: исследование зависимостей. — М.: Финансы и статистика, 1985.
  3. Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: классификация и снижение размерности. — М.: Финансы и статистика, 1989.
  4. Вапник В. Н., Червоненкис А. Я. Теория распознавания образов. — М.: Наука, 1974.
  5. Вапник В. Н. Восстановление зависимостей по эмпирическим данным. — М.: Наука, 1979.
  6. Журавлев Ю. И., Рязанов В. В., Сенько О. В. «Распознавание». Математические методы. Программная система. Практические применения. — М.: Фазис, 2006. ISBN 5-7036-0108-8.
  7. Загоруйко Н. Г. Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. ISBN 5-86134-060-9.
  8. Шлезингер М., Главач В. Десять лекций по статистическому и структурному распознаванию. — Киев: Наукова думка, 2004. ISBN 966-00-0341-2.
  9. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. — Springer, 2001. ISBN 0-387-95284-5.
  10. MacKay D. On-line book: Information Theory, Inference, and Learning Algorithms. — 2005.
  11. Mitchell T. Machine Learning. — McGraw-Hill Science/Engineering/Math, 1997. ISBN 0-07-042807-7.
  12. Schölkopf B., Smola A.J. Learning with Kernels. Support Vector Machines, Regularization, Optimization, and Beyond. — MIT Press, Cambridge, MA, 2002 ISBN 13-978-0-262-19475-4 [1]
  13. Vapnik V.N. Statistical learning theory. — N.Y.: John Wiley & Sons, Inc., 1998. [2]
  14. Witten I.H., Frank E. Data Mining: Practical Machine Learning Tools and Techniques (Second Edition). — Morgan Kaufmann, 2005 ISBN 0-12-088407-0 [3]


Личные инструменты