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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: '''Машинное обучение''' (Machine Learning) — обширный подраздел [[Искусственный интеллект|искусственного интел...)
Текущая версия (11:43, 25 октября 2016) (править) (отменить)
(Ссылки)
 
(49 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
'''Машинное обучение''' (Machine Learning) обширный подраздел [[Искусственный интеллект|искусственного интеллекта]], изучающий методы построения [[алгоритм]]ов, способных обучаться. Различают два типа обучения. ''Обучение по прецедентам'', или ''индуктивное обучение'', основано на выявлении закономерностей в [[выборка|эмпирических данных]]. ''Дедуктивное обучение'' предполагает формализацию знаний экспертов и их перенос в компьютер в виде [[база знаний|базы знаний]]. Дедуктивное обучение принято относить к области [[Экспертная система|экспертных систем]], поэтому термины ''машинное обучение'' и ''обучение по прецедентам'' можно считать синонимами.
+
{{TOCright}}
 +
'''Машинное обучение''' (Machine Learning) — обширный подраздел [[Искусственный интеллект|искусственного интеллекта]], изучающий методы построения [[алгоритм]]ов, способных обучаться. Различают два типа обучения. ''Обучение по прецедентам'', или ''индуктивное обучение'', основано на выявлении общих закономерностей по частным [[выборка|эмпирическим данным]]. ''Дедуктивное обучение'' предполагает формализацию знаний экспертов и их перенос в компьютер в виде [[база знаний|базы знаний]]. Дедуктивное обучение принято относить к области [[Экспертная система|экспертных систем]], поэтому термины ''машинное обучение'' и ''обучение по прецедентам'' можно считать синонимами.
-
Машинное обучение находится на стыке [[математическая статистика|математической статистики]], [[методы оптимизации|методов оптимизации]] и [[дискретная математика|дискретной математики]], но имеет также и собственную специфику, связанную с проблемами [[вычислительная эффективность|вычислительной эффективности]] и [[переобучение|переобучения]]. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с [[Извлечение информации|извлечением информации]], [[интеллектуальный анализ данных|интеллектуальным анализом данных]] (''Data Mining'').
+
''Машинное обучение'' находится на стыке [[математическая статистика|математической статистики]], [[методы оптимизации|методов оптимизации]] и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами [[вычислительная эффективность|вычислительной эффективности]] и [[переобучение|переобучения]]. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с [[Извлечение информации|извлечением информации]] и [[интеллектуальный анализ данных|интеллектуальным анализом данных]] (''Data Mining'').
 +
 
 +
Наиболее теоретические разделы ''машинного обучения'' объединены в отдельное направление, [[Теория вычислительного обучения|теорию вычислительного обучения]] (Computational Learning Theory, COLT).
 +
 
 +
''Машинное обучение'' — не только математическая, но и практическая, инженерная дисциплина. Чистая теория, как правило, не приводит сразу к методам и [[алгоритм]]ам, применимым на практике. Чтобы заставить их хорошо работать, приходится изобретать дополнительные [[эвристика|эвристики]], компенсирующие несоответствие сделанных в теории предположений условиям реальных задач. Практически ни одно исследование в ''машинном обучении'' не обходится без ''эксперимента'' на [[модельные данные|модельных]] или [[реальные данные|реальных]] данных, подтверждающего практическую работоспособность метода.
 +
 
 +
== Общая постановка задачи обучения по прецедентам ==
 +
Дано конечное множество ''прецедентов'' (объектов, ситуаций), по каждому из которых собраны (измерены) некоторые ''данные''. Данные о прецеденте называют также его ''описанием''. Совокупность всех имеющихся описаний прецедентов называется [[обучающая выборка|обучающей выборкой]]. Требуется по этим ''частным'' данным выявить ''общие'' [[зависимость|зависимости]], [[закономерность|закономерности]], [[взаимосвязь|взаимосвязи]], присущие не только этой конкретной выборке, но вообще всем прецедентам, в том числе тем, которые ещё не наблюдались.
 +
Говорят также о [[Восстановление зависимостей по эмпирическим данным|восстановлении зависимостей по эмпирическим данным]] — этот термин был введён в работах [[Теория Вапника-Червоненкиса|Вапника и Червоненкиса]].
 +
 
 +
Наиболее распространённым способом описания прецедентов является [[признаковое описание]].
 +
Фиксируется совокупность ''n'' показателей, измеряемых у всех прецедентов.
 +
Если все ''n'' показателей числовые, то признаковые описания представляют собой числовые векторы размерности ''n''.
 +
Возможны и более сложные случаи, когда прецеденты описываются
 +
[[Временной ряд|временными рядами]] или [[сигнал]]ами, [[изображение|изображениями]], [[видеоряд]]ами, [[Обработка текстов|текстами]], попарными отношениями сходства или интенсивности взаимодействия, и т. д.
 +
 
 +
Для решения задачи обучения по прецедентам в первую очередь фиксируется [[модель]] восстанавливаемой зависимости.
 +
Затем вводится [[функционал качества]], значение которого показывает, насколько хорошо модель описывает наблюдаемые данные.
 +
''[[Алгоритм обучения]]'' (learning algorithm) ищет такой набор параметров модели, при котором функционал качества на заданной обучающей выборке принимает оптимальное значение.
 +
Процесс ''настройки'' (fitting) модели по выборке данных в большинстве случаев сводится к применению численных [[методы оптимизации|методов оптимизации]].
 +
 
 +
'''Замечание о терминологии.'''
 +
В зарубежных публикациях термин ''algorithm'' употребляется только в указанном выше смысле, то есть это вычислительная процедура, которая по обучающей выборке производит настройку модели. Выходом [[алгоритм обучения|алгоритма обучения]] является функция, аппроксимирующая неизвестную (восстанавливаемую) зависимость.
 +
В задачах классификации аппроксимирующую функцию принято называть ''классификатором'' (classifier), ''концептом'' (concept) или ''гипотезой'' (hypothesys);
 +
в задачах [[регрессионный анализ|восстановления регрессии]] — ''функцией регрессии'';
 +
иногда просто ''функцией''.
 +
В русскоязычной литературе аппроксимирующую функцию также называют ''[[алгоритм]]ом'', подчёркивая, что и она должна допускать эффективную компьютерную реализацию.
 +
 
 +
== Типология задач обучения по прецедентам ==
 +
=== Основные стандартные типы задач ===
 +
* [[Обучение с учителем]] (supervised learning) — наиболее распространённый случай. Каждый прецедент представляет собой пару «объект, ответ». Требуется найти функциональную зависимость ответов от описаний объектов и построить ''[[алгоритм]]'', принимающий на входе описание объекта и выдающий на выходе ответ. Функционал качества обычно определяется как средняя ошибка ответов, выданных алгоритмом, по всем объектам выборки.
 +
** Задача [[классификация|классификации]] (classification) отличается тем, что множество допустимых ответов конечно. Их называют ''метками классов'' (class label). Класс — это множество всех объектов с данным значением метки.
 +
** Задача [[регрессия|регрессии]] (regression) отличается тем, что допустимым ответом является действительное число или числовой вектор.
 +
** Задача [[ранжирование|ранжирования]] (learning to rank) отличается тем, что ответы надо получить сразу на множестве объектов, после чего отсортировать их по значениям ответов. Может сводиться к задачам классификации или регрессии. Часто применяется в [[информационный поиск|информационном поиске]] и [[анализ текстов|анализе текстов]].
 +
** Задача [[прогнозирование|прогнозирования]] (forecasting) отличается тем, что объектами являются отрезки временных рядов, обрывающиеся в тот момент, когда требуется сделать прогноз на будущее. Для решения задач прогнозирования часто удаётся приспособить методы регрессии или классификации, причём во втором случае речь идёт скорее о задачах ''[[принятие решений|принятия решений]]''.
 +
 
 +
* [[Обучение без учителя]] (unsupervised learning). В этом случае ответы не задаются, и требуется искать зависимости между объектами.
 +
** Задача [[кластеризация|кластеризации]] (clustering) заключается в том, чтобы сгруппировать объекты в [[кластер]]ы, используя данные о попарном сходстве объектов. Функционалы качества могут определяться по-разному, например, как отношение средних межкластерных и внутрикластерных расстояний.
 +
** Задача [[поиск ассоциативных правил|поиска ассоциативных правил]] (association rules learning). Исходные данные представляются в виде признаковых описаний. Требуется найти такие наборы признаков, и такие значения этих признаков, которые особенно часто (неслучайно часто) встречаются в признаковых описаниях объектов.
 +
** Задача [[Фильтрация выбросов|фильтрации выбросов]] (outliers detection) — обнаружение в обучающей выборке небольшого числа [[нетипичность|нетипичных]] объектов. В некоторых приложениях их поиск является самоцелью (например, обнаружение мошенничества). В других приложениях эти объекты являются следствием ошибок в данных или неточности модели, то есть [[шум]]ом, мешающим настраивать модель, и должны быть удалены из выборки, см. также [[робастные методы]] и [[одноклассовая классификация]].
 +
** Задача построения [[доверительная область|доверительной области]] (quantile estimation) — области минимального объёма с достаточно гладкой границей, содержащей заданную долю выборки.
 +
** Задача [[сокращение размерности|сокращения размерности]] (dimensionality reduction) заключается в том, чтобы по исходным признакам с помощью некоторых функций преобразования перейти к наименьшему числу новых признаков, не потеряв при этом никакой существенной информации об объектах выборки. В классе линейных преобразований наиболее известным примером является [[метод главных компонент]].
 +
** Задача [[Заполнение пропущенных значений|заполнения пропущенных значений]] (missing values) — замена недостающих значений в матрице объекты–признаки их прогнозными значениями.
 +
 
 +
* [[Частичное обучение]] (semi-supervised learning) занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов. Пример прикладной задачи — автоматическая [[рубрикация текстов|рубрикация]] большого количества текстов при условии, что некоторые из них уже отнесены к каким-то рубрикам.
 +
 
 +
* [[Трансдуктивное обучение]] (transductive learning). Дана конечная обучающая выборка прецедентов. Требуется по этим ''частным'' данным сделать предсказания отностительно других ''частных'' данных — [[тестовая выборка|тестовой выборки]]. {{S|В отличие}} от стандартной постановки, здесь не требуется выявлять ''общую'' закономерность, поскольку известно, что новых тестовых прецедентов не будет. {{S|С другой}} стороны, появляется возможность улучшить качество предсказаний за счёт анализа всей тестовой выборки целиком, например, путём её кластеризации. {{S|Во многих}} приложениях трансдуктивное обучение практически не отличается от частичного обучения.
 +
 
 +
* [[Обучение с подкреплением]] (reinforcement learning). Роль объектов играют пары «ситуация, принятое решение», ответами являются значения функционала качества, характеризующего правильность принятых решений (реакцию среды). Как и в задачах прогнозирования, здесь существенную роль играет фактор времени. Примеры прикладных задач: формирование инвестиционных стратегий, автоматическое управление технологическими процессами, самообучение роботов, {{S|и т.д.}}
 +
 
 +
* [[Динамическое обучение]] (online learning) может быть как обучением с учителем, так и без учителя. Специфика в том, что прецеденты поступают потоком. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Как и в задачах прогнозирования, здесь существенную роль играет фактор времени.
 +
 
 +
* [[Активное обучение]] (active learning) отличается тем, что обучаемый имеет возможность самостоятельно назначать следующий прецедент, который станет известен. {{S|См. также}} [[Планирование экспериментов]].
 +
 
 +
* [[Метаобучение]] (meta-learning или learning-to-learn) отличается тем, что прецедентами являются ранее решённые задачи обучения. Требуется определить, какие из используемых в них [[эвристика|эвристик]] работают более эффективно. Конечная цель — обеспечить постоянное автоматическое совершенствование [[алгоритм]]а обучения с течением времени.
 +
** [[Многозадачное обучение]] (multi-task learning). Набор взаимосвязанных или схожих задач обучения решается одновременно, с помощью различных алгоритмов обучения, имеющих схожее внутренне представление. Информация о сходстве задач между собой позволяет более эффективно совершенствовать алгоритм обучения и повышать качество решения основной задачи.
 +
** [[Индуктивный перенос]] (inductive transfer). Опыт решения отдельных ''частных'' задач обучения по прецедентам переносится на решение последующих ''частных'' задач обучения. Для формализации и сохранения этого опыта применяются реляционные или иерархические структуры представления знаний.
 +
** Иногда к метаобучению ошибочно относят построение [[алгоритмическая композиция|алгоритмических композиций]], в частности, [[бустинг]]; однако в композициях несколько алгоритмов решают ''одну и ту же'' задачу, тогда как метаобучение предполагает, что решается много разных задач.
 +
 
 +
=== Специфические прикладные задачи ===
 +
Некоторые задачи, возникающие в прикладных областях, имеют черты сразу нескольких стандартных типов задач обучения, поэтому их трудно однозначно отнести к какому-то одному типу.
 +
 
 +
* [[Формирование инвестиционного портфеля]] (portfolio selection) — это динамическое обучение с подкреплением, в котором очень важен отбор информативных признаков. Роль признаков играют финансовые инструменты. Состав оптимального набора признаков (портфеля) может изменяться со временем. Функционалом качества является долгосрочная прибыль от инвестирования в данную стратегию управления портфелем.
 +
 
 +
* [[Коллаборативная фильтрация]] (collaborative filtering) — это прогнозирование предпочтений пользователей на основе их прежних предпочтений и предпочтений схожих пользователей. Применяются элементы классификации, кластеризации и восполнения пропущенных данных. {{S|См. также}} [[Персонализация]] и [[Анализ клиентских сред]].
== Приложения ==
== Приложения ==
-
Целью машинного обучения является частичная или полная автоматизация решения сложных профессиональных задач в самых разных областях человеческой деятельности.
+
Целью ''машинного обучения'' является частичная или полная автоматизация решения сложных профессиональных задач в самых разных областях человеческой деятельности.
 +
''Машинное обучение'' имеет широкий спектр приложений:
 +
* [[:Категория:Приложения в биоинформатике]]
 +
* [[:Категория:Приложения в медицине]]
 +
** [[Медицинская диагностика]]
 +
* [[:Категория:Приложения в геологии и геофизике]]
 +
* [[:Категория:Приложения в социологии]]
 +
* [[:Категория:Приложения в экономике]]
 +
** [[Кредитный скоринг]] (credit scoring)
 +
** [[Предсказание ухода клиентов]] (churn prediction)
 +
** [[Обнаружение мошенничества]] (fraud detection)
 +
** [[Биржевой технический анализ]] (technical analysis)
 +
** [[Биржевой надзор]] (market surveillance)
 +
* [[:Категория:Приложения в технике]]
 +
** [[Техническая диагностика]]
 +
** [[Робототехника]]
 +
** [[Компьютерное зрение]]
 +
** [[Распознавание речи]]
 +
* [[:Категория:Приложения в офисной автоматизации]]
 +
** [[Распознавание текста]]
 +
** [[Обнаружение спама]]
 +
** [[Категоризация документов]]
 +
** [[Распознавание рукописного ввода]]
-
Машинное обучение имеет широкий спектр приложений:
+
Сфера применений ''машинного обучения'' постоянно расширяется. Повсеместная информатизация приводит к накоплению огромных объёмов данных в науке, производстве, бизнесе, транспорте, здравоохранении. Возникающие при этом задачи прогнозирования, управления и принятия решений часто сводятся к обучению по прецедентам. Раньше, когда таких данных не было, эти задачи либо вообще не ставились, либо решались совершенно другими методами.
-
* [[Распознавание речи]]
+
-
* [[Распознавание изображений]]
+
-
* [[Распознавание рукописного ввода]]
+
-
* [[Техническая диагностика]]
+
-
* [[Медицинская диагностика]]
+
-
* [[Прогнозирование временных рядов]]
+
-
* [[Биоинформатика]]
+
-
* [[Обнаружение мошенничества]]
+
-
* [[Обнаружение спама]]
+
-
* [[Категоризация документов]]
+
-
* [[Биржевой технический анализ]]
+
-
* [[Финансовый надзор]]
+
-
* [[Кредитный скоринг]]
+
-
* [[Предсказание ухода клиентов]]
+
-
Сфера применений машинного обучения постоянно расширяется. Повсеместная информатизация приводит к накоплению огромных объёмов данных в науке, производстве, бизнесе, транспорте, здравоохранении. Возникающие при этом задачи прогнозирования, управления и принятия решений часто сводятся к обучению по прецедентам. Раньше, когда таких данных не было, эти задачи либо вообще не ставились, либо решались совершенно другими методами.
+
== Подходы и методы ==
-
== Общая постановка задачи обучения по прецедентам ==
+
'''Подход''' к задачам обучения — это концепция, парадигма, точка зрения на процесс обучения, приводящая к набору базовых предположений, гипотез, эвристик, на основе которых строится модель, функционал качества и методы его оптимизации.
-
Имеется множество ''объектов'' (ситуаций) и множество возможных ''ответов'' (откликов, реакций). Существует некоторая зависимость между ответами и объектами, но она не известна. Известна только конечная совокупность ''прецедентов'' — пар «объект, ответ», называемая ''обучающей выборкой''. На основе этих данных требуется восстановить зависимость, то есть построить алгоритм, способный для любого объекта выдать достаточно точный ответ. Для измерения точности ответов определённым образом вводится ''функционал качества''.
+
Разделение методов {{S|«по подходам»}} довольно условно.
 +
Разные подходы могут приводить к одной и той же модели, но разным методам её обучения.
 +
{{S|В некоторых}} случаях эти методы отличаются очень сильно, {{S|в других}} — совсем немного и «плавно трансформируются» друг в друга путём незначительных модификаций.
-
Данная постановка является обобщением классических задач [[аппроксимация|аппроксимации]] функций. В классических задачах аппроксимации объектами являются действительные числа или векторы. В реальных прикладных задачах входные данные об объектах могуть быть неполными, неточными, нечисловыми, разнородными. Эти особенности приводят к большому разнообразию методов машинного обучения.
+
=== Статистическая классификация ===
 +
В статистике решение задач классификации принято называть ''дискриминантным анализом''.
-
== Типология задач обучения по прецедентам ==
+
'''[[:Категория:Байесовская теория классификации|Байесовская теория классификации]]''' основана на применении [[Оптимальный байесовский классификатор|оптимального байесовского классификатора]] и [[Оценивание плотности распределения|оценивании плотностей распределения]] классов по [[Обучающая выборка|обучающей выборке]].
 +
Различные методы оценивания плотности порождают большое разнообразие байесовских классификаторов.
 +
Среди них можно выделить три группы методов:
-
=== Типы входных данных ===
+
'''Параметрическое оценивание плотности'''
 +
* [[квадратичный дискриминант]];
 +
* [[линейный дискриминант Фишера]];
-
* [[Признаковое описание]] объектов — наиболее распространённый случай.
+
'''Непараметрическое оценивание плотности'''
-
* Описание взаимоотношений между объектами, чаще всего отношения попарного сходства.
+
* [[метод парзеновского окна]];
-
* [[Временной ряд]] или [[сигнал]].
+
-
* [[Изображение]] или [[видеоряд]].
+
-
=== Типы выходных данных ===
+
'''Оценивание плотности как смеси параметрических плотностей'''
 +
* [[разделение смеси распределений]], [[EM-алгоритм]];
 +
* [[метод радиальных базисных функций]].
-
* [[Классификация]] — множество возможных ответов конечно.
+
Несколько особняком стоит [[наивный байесовский классификатор]], который может быть как параметрическим, так и непараметрическим.
-
* [[Кластеризация]] — множество возможных ответов конечно, но неизвестно.
+
Он основан на нереалистичном предположении о статистической независимости [[признак]]ов.
-
* [[Регрессия]] — ответы являются действительными числами или векторами.
+
Благодаря этому метод чрезвычайно прост.
-
=== Типы функционалов качества ===
+
Другие теоретико-вероятностные и статистические подходы:
 +
* [[скрытая марковская цепь]];
 +
* [[байесовская сеть]].
-
* [[Обучение с учителем]] — наиболее распространённый случай. Для каждого прецедента задаётся и объект, и ответ. Функционал качества определяется как средняя ошибка ответов. Предполагается, что искомый алгоритм должен его минимизировать.
+
=== Классификация на основе сходства ===
-
* [[Обучение без учителя]], в частности, [[кластеризация]]. Для каждого прецедента задаётся только объект. Требуется сгруппировать объекты в [[кластер]]ы, используя данные о попарном сходстве объектов. Функционалы качества могут определяться по-разному, например, как отношение средних межкластерных и внутрикластерных расстояний.
+
'''[[:Категория:Метрические алгоритмы классификации|Метрические алгоритмы классификации]]''' применяются в тех задачах, где удаётся естественным образом задавать объекты не их [[признаковое описание|признаковыми описаниями]], а [[матрица расстояний|матрицей попарных расстояний]] между объектами.
-
* [[Обучение с подкреплением]]. Роль объектов играют пары «ситуация, принятое решение», ответами являются значения функционала качества, характеризующего правильность принятых решений (реакцию среды). Данный подход используется при самообучении роботов.
+
Классификация объектов по их сходству основана на ''[[Гипотеза компактности|гипотезе компактности]]'', которая гласит, что в «хорошей задаче» схожие объекты чаще лежат в одном классе, чем в разных.
-
* [[Активное обучение]] отличается тем, что обучаемый алгоритм имеет возможность самостоятельно назначать следующий объект, на котором станет известен верный ответ. См. также [[Планирование экспериментов]].
+
-
=== Методы ===
+
Метрические алгоритмы относятся к методам [[Рассуждение на основе прецедентов|рассуждения на основе прецедентов]] (Case Based Reasoning, CBR}.
 +
Здесь действительно можно говорить о «рассуждениях», так как на вопрос «почему объект ''u'' был отнесён к классу ''y''?»
 +
алгоритм может дать понятный эксперту ответ:
 +
«потому, что имеются прецеденты — схожие с~ним объекты, принадлежащие классу ''y''»,
 +
и~предъявить список этих прецедентов.
-
* [[Байесовский классификатор]]:
+
Наиболее известные метрические алгоритмы классификации:
-
** [[линейный дискриминант Фишера]];
+
* [[метод ближайших соседей]];
-
** [[метод парзеновского окна]];
+
* [[метод парзеновского окна]];
-
** [[метод потенциальных функций]];
+
* [[метод потенциальных функций]];
-
** [[метод ближайших соседей]].
+
* [[метод радиальных базисных функций]];
 +
* [[СТОЛП|отбор эталонных объектов]].
-
* [[Байесовская сеть]].
+
=== Классификация на основе разделимости ===
 +
Большая группа методов классификации основана на явном построении разделяющей поверхности в пространстве объектов.
 +
Из них чаще всех применяются '''[[:Категория:Линейные классификаторы|Линейные классификаторы]]''':
 +
* [[линейный дискриминант Фишера]];
 +
* [[однослойный персептрон]];
 +
* [[логистическая регрессия]];
 +
* [[машина опорных векторов]] = [[Метод опорных векторов]] = [[SVM]].
-
* [[Кластеризация]]:
+
=== Нейронные сети ===
-
** [[иерархическая кластеризация]].
+
'''[[:Категория:Нейронные сети|Нейронные сети]]''' основаны на принципе [[коннективизм]]а — в них соединяется большое количество относительно простых элементов, а обучение сводится к построению оптимальной структуры связей и настройке параметров связей.
 +
* [[персептрон]];
 +
* [[однослойный персептрон]];
 +
* [[многослойный персептрон]];
 +
* [[метод стохастического градиента]]
 +
* [[метод обратного распространения ошибки]] = [[Backpropagation]] = [[Backprop]]
 +
* [[Нейронная сеть Кохонена ]];
 +
* [[гибридная сеть встречного распространения]];
 +
* [[сеть радиальных базисных функций]];
 +
* [[оптимальное усечение сети]] = [[Optimal Brain Damage]] = [[OBD]].
-
* [[Статистическая регрессия]]:
+
=== Индукция правил (поиск закономерностей) ===
-
** [[линейная регрессия]];
+
'''[[:Категория:Логические алгоритмы классификации]]''' представляют собой композиции простых, легко интерпретируемых правил.
-
** [[нелинейная регрессия]];
+
* [[решающее дерево]];
-
** [[векторная регрессия]];
+
* [[решающий список]];
-
** [[логистическая регрессия]].
+
* [[решающий лес]];
 +
* [[тестовый алгоритм]];
 +
* [[алгоритм вычисления оценок]];
 +
* [[дерево регрессии]];
 +
* [[ассоциативные правила]] = [[правила ассоциации]].
-
* [[Нейронная сеть]]:
+
=== Кластеризация ===
-
** [[персептрон]];
+
'''[[:Категория:Кластеризация]]'''
-
** [[многослойный персептрон]];
+
* [[графовые алгоритмы кластеризации]];
-
** [[самоорганизующаяся сеть Кохонена]];
+
* [[cтатистические алгоритмы кластеризации]];
-
** [[гибридная сеть встречного распространения]];
+
* [[Алгоритм ФОРЕЛЬ]];
-
** [[сеть радиальных базисных функций]];
+
* [[Быстрый алгоритм нахождения метрических сгущений с использованием матрицы парных расстояний в ранговых шкалах.]];
-
** [[машина опорных векторов]].
+
* [[Алгоритм k средних]] = [[k-means]];
 +
* [[иерархическая кластеризация]];
 +
* [[ко-кластеризация]];
 +
* [[Нейронная сеть Кохонена]];
 +
* [[Ансамбль кластеризаторов]],
-
* [[Индукция правил]]:
+
=== Регрессия ===
-
** [[решающее дерево]];
+
* [[линейная регрессия]];
-
** [[решающий список]];
+
* [[нелинейная регрессия]];
-
** [[решающий лес]];
+
* [[векторная регрессия]];
-
** [[тестовый алгоритм]];
+
* [[логистическая регрессия]].
-
** [[алгоритм вычисления оценок]].
+
-
* [[Алгоритмическая композиция]]:
+
=== Алгоритмические композиции ===
-
** [[взвешенное голосование]];
+
* [[взвешенное голосование]];
-
** [[бустинг]];
+
* [[бустинг]];
-
** [[бэггинг]];
+
* [[бэггинг]];
-
** [[метод комитетов]];
+
* [[метод случайных подпространств]];
-
** [[смесь экспертов]].
+
* [[метод комитетов]];
 +
* [[смесь экспертов]].
-
* [[Сокращение размерности]]:
+
=== Сокращение размерности ===
-
** [[селекция признаков]] = [[отбор признаков]];
+
* [[селекция признаков]] = [[отбор признаков]];
-
** [[метод главных компонент]];
+
* [[метод главных компонент]];
-
** [[метод независимых компонент]];
+
* [[метод независимых компонент]];
-
** [[многомерное шкалирование]].
+
* [[многомерное шкалирование]].
-
* [[Выбор модели]]:
+
=== Выбор модели ===
-
** [[минимизация эмпирического риска]];
+
* [[минимизация эмпирического риска]];
-
** [[структурная минимизация риска]];
+
* [[структурная минимизация риска]];
-
** [[минимум длины описания]];
+
* [[минимум длины описания]];
-
** [[критерий Акаике]] = [[AIC]];
+
* [[критерий Акаике]] = [[AIC]];
-
** [[байесовский информационный критерий]] = [[BIC]];
+
* [[байесовский информационный критерий]] = [[BIC]];
-
** [[скользящий контроль]];
+
* [[скользящий контроль]];
-
** [[извлечение признаков]];
+
* [[извлечение признаков]];
-
** [[метод группового учёта аргументов]] = [[МГУА]] = [[самоорганизация моделей]];
+
* [[метод группового учёта аргументов]] = [[МГУА]] = [[самоорганизация моделей]];
-
** [[случайный поиск с адаптацией]];
+
* [[случайный поиск с адаптацией]];
-
** [[генетический алгоритм]].
+
* [[генетический алгоритм]].
-
== Использованная литература ==
+
=== Байесовский вывод ===
 +
'''[[:Категория:Байесовский вывод]]'''
 +
* [[байесовский вывод]]
 +
* [[байесовский информационный критерий]] = [[BIC]];
 +
* [[метод релевантных векторов]] = [[RVM]]
 +
* [[байесовская сеть]]
-
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: основы моделирования и первичная обработка данных. — М.: Финансы и статистика, 1983.
+
== Софт ==
-
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: исследование зависимостей. — М.: Финансы и статистика, 1985.
+
-
# ''Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: классификация и снижение размерности. — М.: Финансы и статистика, 1989.
+
-
# ''Вапник В. Н.'' Восстановление зависимостей по эмпирическим данным. — М.: Наука, 1979.
+
-
# ''Журавлев Ю. И., Рязанов В. В., Сенько О. В.'' «Распознавание». Математические методы. Программная система. Практические применения. — М.: Фазис, 2006. ISBN 5-7036-0108-8.
+
-
# ''Загоруйко Н. Г.'' Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. ISBN 5-86134-060-9.
+
-
# ''Шлезингер М., Главач В.'' Десять лекций по статистическому и структурному распознаванию. — Киев: Наукова думка, 2004. ISBN 966-00-0341-2.
+
-
# ''Hastie T., Tibshirani R., Friedman J.'' The Elements of Statistical Learning. — Springer, 2001. ISBN 0-387-95284-5.
+
-
# ''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/]
+
-
# ''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]
+
-
=== Курсы лекций ===
+
 
-
* [http://www.ccas.ru/voron/teaching.html ''Воронцов К. В.'' Математические методы обучения по прецедентам]. Курс лекций. [[МФТИ]]. [[2006]]
+
'''На середину 2016 года лидирующие позиции в мире статистической обработки информации занимает R, который, в частности, содержит обширный набор пакетов для машинного обучения.'''
 +
 
 +
 
 +
'''Нейронные сети:''' нейронная сеть с одним скрытым слоем реализована в пакете nnet (поставляется в составе R). Пакет RSNNS предлагает интерфейс к Stuttgart Neural Network Simulator (SNNS). Интерфейс к библиотеке FCNN позволяет расширяемые пользователем искусственные нейронные сети в пакете FCNN4R.
 +
 
 +
'''Рекурсивное разделение:''' модели с древовидной структурой для регрессии, классификации и анализа дожития, следующие идеям в документации CART, реализованы в пакетах rpart и tree (поставляется с R). Пакет rpart рекомендуется для вычислений подобных CART-деревьям. Обширный набор инструментов алгоритмов разделения доступен в пакете Weka, RWeka обеспечивает интерфейс этой реализации, включая J4.8-вариант C4.5 и M5. Кубиxческий пакет подгоняет модели, основанными на правилах (подобными деревьям) с линейными регрессионными моделями в терминальных листах, основанных на коррекции наблюдений и бустинге. Пакет C50 может подогнать деревья классификации C5.0, модели, основанные на правилах и их версиях бустинга.
 +
 
 +
Два рекурсивных алгоритма разделения с несмещенным выбором переменной и статистическим критерием остановки реализованы в пакете party. Функция ctree () основывается на непараметрических условных процедурах вывода для тестирования независимости между откликом и каждой входной переменной, тогда как mob() может использоваться, чтобы разделить параметрические модели. Расширяемые инструменты для визуализации двоичных деревьев и распределений узла отклика также доступны в пакете party.
 +
 
 +
Модели древовидной структуры с изменяемыми коэффициентами реализованы в пакете vcrpart.
 +
 
 +
Для задач с двоичными входными переменными пакет LogicReg реализует логистическую регрессию. Графические инструменты для визуализации деревьев доступны в пакете maptree.
 +
 
 +
Деревья для моделирования длящихся данных посредством случайных эффектов предлагаются пакетом REEMtree. Разделение смешанных моделей выполнено RPMM.
 +
Вычислительная инфраструктура для представления деревьев и объединенных методов для предсказания и визуализации реализована в partykit. Эта инфраструктура используется пакетом evtree, чтобы реализовать эволюционное приобретение знаний о глобально оптимальных деревьях. Наклонные деревья доступны в пакете oblique.tree.
 +
 
 +
'''Случайные леса:''' ссылка на реализованный алгоритм случайного лесного для регрессии и классификации доступна в пакете randomForest. У пакета ipred есть бэггинг (укладывание в мешки) для регрессии, классификации и анализа дожития, а также связывания, комбинации многоуровневых моделей через приобретение знаний ансамблем. Кроме того, вариант случайного леса для переменных отклика, измеренных в произвольных весах на основе условных деревьев вывода, реализован в пакете party. Пакет randomForestSRC реализует объединенную обработку случайных лесов Бреимена для задач дожития, регрессии и классификации. Квантильные регрессионные леса в пакете quantregForest позволяют квантилей числового отклика на исследовательских переменных с помощью подхода случайного леса. Для двоичных данных LogicForest - лес деревьев логистической регрессии (пакет LogicReg. Пакеты varSelRF и Boruta фокусируются на выборе переменной по средним значениям для алгоритмов случайных лесов. Кроме того, пакеты ranger и Rborist предлагают интерфейсы R к быстрым реализациям C++ случайных лесов.
 +
 
 +
'''Методы регуляризации и усечения:''' регрессионные модели с некоторым ограничением на оценки параметров могут быть подогнаны с использованием пакетов lasso2 и lars. Lasso с одновременными обновлениями для групп параметров (groupwise лассо) доступно в пакете grplasso; grpreg пакет реализует много других моделей со групповыми штрафами, такими как группа MCP группа SCAD. Путь регуляризации L1 для обобщенных линейных моделей и моделей Cox может быть получен из функций, доступных в пакете glmpath, всем лассо или эластично-сетевом пути регуляризации (также в elasticnet) для линейной регрессии, логистической, и регрессионные полиномные модели могут быть получены из пакета glmnet. Пакет со штрафами предоставляет альтернативную реализацию лассо (L1), и гребенки (L2) для шрафовки регрессионных моделей (и GLM и модели Cox). Пакет RXshrink может использоваться, чтобы идентифицировать и вывести на экран ТРАССИРОВКИ для указанного пути усечения и определения надлежащей степени усечения. Полупараметрические аддитивные модели опасностей под штрафами лассо предлагаются пакетом ahaz. Обобщение метода уменьшения Лассо для линейной регрессии называют ослабленным лассо и доступно в пакете relaxo. Проекция Фишера LDA с дополнительным штрафом ЛАССО, чтобы произвести прореженные решения реализована в пакете penalizedLDA. Прореженный классификатор центроидов и утилиты для анализов экспрессии гена реализованы в пакете pamr. Реализация многомерных адаптивных регрессии сплайнов доступна в пакете earth. Выбор переменной посредством выбора клона в SVMs в оштрафованных моделях (SCAD или штрафы L1) реализован в пакете penalizedSVM. Различные формы оштрафованного дискриминантного анализа реализованы в пакетах hda, rda, и sda. Пакет LiblineaR предлагает интерфейс библиотеке LIBLINEAR. пакет ncvreg подгоняет моделям линейной регрессии и логистической регрессии под SCAD и штрафы регрессии MCP, используя координационный алгоритм спуска. Регрессия гребня высокой производительности (т.е. штрафования со многими переменными прогноза) и гетероскедастичные модели эффектов является содержанием пакета bigRR. Реализация методов ограничений для упорядоченной минимизации рисков - доступен пакете bmrm. Также имеется лассо с негауссовским и ошибками гетероскедастичности оценено hdm, вывод на низко-размерных компонентах регрессии Лассо и предполагаемых эффектов обработки в высоко-размерной установке. Пакет SIS реализует уверенный независимый отбор в линейной обобщенной модели и модели Cox.
 +
 
 +
'''Бустинг (усиление):''' различные формы градиентного бустингаа реализованы в пакете gbm (бустинг, основанный на дереве функциональный градиентный спуск). Оптимизируется функция потерь Hinge с помощью бустинга, реализованного в пакете bst. Можно использовать пакет GAMBoost для подгонки обобщенных аддитивных моделей алгоритмом бустинга. Расширяемая платформа бустинга для обобщенных линейных, аддитивных и непараметрических моделей доступна в пакете mboost. Основанный на правдоподобии бустинг для моделей Cox реализовано в CoxBoost и для смешанных моделей в GMMBoost. Можно подогнать модели GAMLSS, используя бустинг gamboostLSS.
 +
 
 +
'''Методы опорных векторов и ядерные методы:''' функция svm () из e1071 предлагает интерфейс библиотеке LIBSVM, и пакет kernlab реализует гибкую платформу для ядерного обучения (включая SVMs, RVMs и другие алгоритмы ядерного обучения). Интерфейс к реализации SVMlight (только для one-all классификации) дан в пакете klaR. Соответствующая размерность в пространствах признаков ядра может быть оценена, используя rdetools, который также предлагает процедуры для выбора модели и предсказание.
 +
 
 +
 
 +
'''Байесовские Методы:''' Bayesian Additive Regression Trees (BART), где заключительная модель определена с точки зрения суммы по многим слабым ученикам (мало чем отличающийся от методов ансамбля), реализованы в пакете BayesTree. Байесовская нестационарная, полупараметрическая нелинейная регрессия и проектирование с помощью древовидного Гауссовского процесса, включая Байесовский CART и древовидной линейные модели, доступны в пакете tgp.
 +
 
 +
'''Оптимизация с использованием генетических алгоритмов:''' Пакеты rgp и rgenoud предлагают подпрограммы оптимизации на основе генетических алгоритмов. Пакет Rmalschains реализует имитационные алгоритмы с цепочками локального поиска, которые являются специальным типом эволюционных алгоритмов, комбинируя генетический алгоритм устойчивого состояния с локальным поиском для реально оцененной параметрической оптимизации.
 +
 
 +
'''Правила ассоциации:''' Пакет arules обеспечивает обе структуры данных для эффективной обработки прореженных двоичных данных, а также интерфейсов к реализациям Apriori, и Eclat для интеллектуальной обработки частотных наборов элементов, максимальных частотных наборов элементов, замкнутых частотных наборов элементов и правила ассоциации.
 +
 
 +
'''Системы, основанные на нечетких правилах:''' пакет frbs реализует стандартные методы для изучения систем, основанных на нечетких правилах для регрессии и классификации. Пакет RoughSets содержит всесторонние реализации грубой теории множеств (RST) и нечеткой грубой теории множеств (FRST) в одном пакете.
 +
 
 +
'''Выбор и проверка модели:''' пакет e1071 содержит функцию настройки tune() для настройки параметров, а функция errorest () (ipred) может использоваться для оценки коэффициента ошибок. Параметр стоимости C для методов опорных векторов может быть выбран, использовав функциональность пакета svmpath. Функции для анализа ROC и другие методы визуализации для сравнения классификаторов доступны в пакете ROCR. Пакеты hdi и stabs реализуют выбор устойчивости для диапазона моделей, hdi также предлагает другие процедуры вывода в высоко-размерных моделях.
 +
 
 +
'''Другие процедуры:''' очевидные классификаторы определяют количество неопределенности по поводу класса тестовых образцов, используя функцию mass Dempster-Shafer в пакете evclass. Пакет OneR (Одно Правило) предлагает алгоритм классификации с улучшениями для сложной обработки отсутствующих значений и числовых данных вместе с обширными диагностическими функциями
 +
 
 +
'''Пакеты-обертки:''' пакет caret содержит функции для подгонки моделей с последующим предсказанием, включая настройку параметров и и мер значимости переменных. Пакет может использовать с различными инструментами по организации параллельных вычислений (например, MPI, NWS и т.д.). В подобном духе пакет mlr предлагает высокоуровневый интерфейс различным пакетам статистически и машинного обучения. Пакет SuperLearner реализует аналогичный набор инструментов. Пакет h2o реализует платформу машинного обучения общего назначения, у которой есть масштабируемые реализации многих популярных алгоритмов, такие как случайный лес, GBM, GLM (с эластичной сетевой регуляризацией), и глубокое обучение (feedforward многоуровневые сети), среди других.
 +
 
 +
'''GUI rattle''' - графический пользовательский интерфейс, обеспечивающий полный цикл машинного обучения: предварительный анализ данных (data mining), подгонку 6 типов моделей, предсказание по этим моделям и оценку реузльтативности моделей. Все действия пользователя протоколируются на R, что может быть использовано в дальнейшем.
 +
 
 +
'''CORElearn''' реализует довольно широкий класс машинного обучения.
 +
 
 +
== Конференции ==
 +
Основные международные конференции — [[International Conference on Machine Learning (конференция)|ICML]], [[NIPS]], [[ICPR]], [[COLT]].
 +
 
 +
Международные конференции в странах СНГ — [[ИОИ]].
 +
 
 +
Основные всероссийские конференции — [[ММРО]], [[РОАИ]].
 +
 
 +
См. также [[Рейтинг международных научных конференций]].
 +
 
 +
== Ссылки ==
 +
* [http://groups.google.com/group/ML-news?hl=en Google Machine Learning News] — форумы и новости по машинному обучению на Гугле
 +
* [https://cran.r-project.org/web/views/MachineLearning.html] - перечень пакетов, содержащихся в R, по машинному обучению
 +
* [http://hunch.net hunch.net] — блог Джона Лангфорда (John Langford) по проблемам машинного обучения
 +
* [http://mloss.org ML OSS] (Machine learning open source software) — коллективный сайт разработчиков открытого софта для машинного обучения
 +
* [http://www.kdnuggets.com KDnuggets] — крупнейший портал по интеллектуальному анализу данных, поддерживаемый Григорием Пятецким-Шапиро, одним из идеологов Data Mining
 +
* [http://clopinet.com/challenges ML challenges] — cоревнования в решении задач машинного обучения
 +
* [http://www.kdnet.org KDNet] (Knowledge Discovery Network of Excellence) — международный проект, объединяющий представителей науки и бизнеса, решающих практические задачи интеллектуального анализа данных
 +
* [http://www.mlpedia.org MLpedia] — вики-ресурс по ''машинному обучению'', в последнее время почему-то недоступен
 +
* [http://en.wikipedia.org/wiki/Category:Machine_learning Wikipedia] — категория Machine Learning в англоязычной Википедии
 +
* [http://citeseer.ist.psu.edu CiteSeer] — основной источник знаний по Computer Science
 +
* [http://citeseerx.ist.psu.edu CiteSeer<sup>X</sup>] — альфа-версия нового CiteSeer, пока глючная, но зато пополняемая
 +
 
 +
== См. также ==
 +
* [[Как обучаются машины? Научно-популярная статья]] ([[Участник:K-3|Н.Ю.Золотых]])
 +
* [[Машинное обучение (курс лекций, Н.Ю.Золотых)]]
 +
* [[Машинное обучение (курс лекций, К.В.Воронцов)]]
 +
* [[Машинное обучение и обучаемость: сравнительный обзор ( В.И.Донской)]] [http://intellectualarchive.com/getfile.php?file=6kEaOEViwnV&orig_file=Donskoy%20Mach%20Learning%20Survey.pdf]
 +
* [[Математические методы распознавания образов (курс лекций, А.Е. Лепский, А.Г. Броневич)]]
 +
* [[Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов, 2009)]]
 +
* [[Прикладная регрессия и оптимизация (курс лекций, B.В.Стрижов)]]
 +
* [[:Категория:Учебные курсы|Все учебные курсы на MachineLearning.ru]]
 +
 
 +
== Курсы лекций ==
 +
* [http://www.ccas.ru/voron/teaching.html ''Воронцов К. В.'' Математические методы обучения по прецедентам]. Курс лекций. [[МФТИ]]. 2006
* Сергей Николенко. Курс лекций [http://www.csin.ru/courses/samoobuchayushchiesya-sistemy-i-nechetkaya-logika «Самообучающиеся системы»]
* Сергей Николенко. Курс лекций [http://www.csin.ru/courses/samoobuchayushchiesya-sistemy-i-nechetkaya-logika «Самообучающиеся системы»]
* Сергей Николенко. Курс лекций [http://www.csin.ru/courses/probabilistic-learning «Вероятностное обучение»]
* Сергей Николенко. Курс лекций [http://www.csin.ru/courses/probabilistic-learning «Вероятностное обучение»]
-
{{Заготовка}}
+
== Использованная литература ==
 +
 
 +
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: основы моделирования и первичная обработка данных. — М.: Финансы и статистика, 1983.
 +
# ''Айвазян С. А., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: исследование зависимостей. — М.: Финансы и статистика, 1985.
 +
# ''Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д.'' Прикладная статистика: классификация и снижение размерности. — М.: Финансы и статистика, 1989.
 +
# ''Вапник В. Н., Червоненкис А. Я.'' Теория распознавания образов. — М.: Наука, 1974.
 +
# ''Вапник В. Н.'' Восстановление зависимостей по эмпирическим данным. — М.: Наука, 1979.
 +
# ''Журавлев Ю. И., Рязанов В. В., Сенько О. В.'' «Распознавание». Математические методы. Программная система. Практические применения. — М.: Фазис, 2006. ISBN 5-7036-0108-8.
 +
# ''Загоруйко Н. Г.'' Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. ISBN 5-86134-060-9.
 +
# ''Шлезингер М., Главач В.'' Десять лекций по статистическому и структурному распознаванию. — Киев: Наукова думка, 2004. ISBN 966-00-0341-2.
 +
# ''Hastie T., Tibshirani R., Friedman J.'' The Elements of Statistical Learning. — Springer, 2001. ISBN 0-387-95284-5.
 +
# {{книга
 +
|автор = MacKay D.
 +
|заглавие = On-line book: Information Theory, Inference, and Learning Algorithms
 +
|год = 2005
 +
|ссылка = http://www.inference.phy.cam.ac.uk/mackay/itila
 +
}}
 +
# ''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/]
 +
# ''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]
 +
 
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]
[[Категория:Энциклопедия анализа данных]]
[[Категория:Энциклопедия анализа данных]]
 +
[[Категория:Популярные и обзорные статьи]]

Текущая версия

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Регрессия

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

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

Выбор модели

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

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

Софт

На середину 2016 года лидирующие позиции в мире статистической обработки информации занимает R, который, в частности, содержит обширный набор пакетов для машинного обучения.


Нейронные сети: нейронная сеть с одним скрытым слоем реализована в пакете nnet (поставляется в составе R). Пакет RSNNS предлагает интерфейс к Stuttgart Neural Network Simulator (SNNS). Интерфейс к библиотеке FCNN позволяет расширяемые пользователем искусственные нейронные сети в пакете FCNN4R.

Рекурсивное разделение: модели с древовидной структурой для регрессии, классификации и анализа дожития, следующие идеям в документации CART, реализованы в пакетах rpart и tree (поставляется с R). Пакет rpart рекомендуется для вычислений подобных CART-деревьям. Обширный набор инструментов алгоритмов разделения доступен в пакете Weka, RWeka обеспечивает интерфейс этой реализации, включая J4.8-вариант C4.5 и M5. Кубиxческий пакет подгоняет модели, основанными на правилах (подобными деревьям) с линейными регрессионными моделями в терминальных листах, основанных на коррекции наблюдений и бустинге. Пакет C50 может подогнать деревья классификации C5.0, модели, основанные на правилах и их версиях бустинга.

Два рекурсивных алгоритма разделения с несмещенным выбором переменной и статистическим критерием остановки реализованы в пакете party. Функция ctree () основывается на непараметрических условных процедурах вывода для тестирования независимости между откликом и каждой входной переменной, тогда как mob() может использоваться, чтобы разделить параметрические модели. Расширяемые инструменты для визуализации двоичных деревьев и распределений узла отклика также доступны в пакете party.

Модели древовидной структуры с изменяемыми коэффициентами реализованы в пакете vcrpart.

Для задач с двоичными входными переменными пакет LogicReg реализует логистическую регрессию. Графические инструменты для визуализации деревьев доступны в пакете maptree.

Деревья для моделирования длящихся данных посредством случайных эффектов предлагаются пакетом REEMtree. Разделение смешанных моделей выполнено RPMM. Вычислительная инфраструктура для представления деревьев и объединенных методов для предсказания и визуализации реализована в partykit. Эта инфраструктура используется пакетом evtree, чтобы реализовать эволюционное приобретение знаний о глобально оптимальных деревьях. Наклонные деревья доступны в пакете oblique.tree.

Случайные леса: ссылка на реализованный алгоритм случайного лесного для регрессии и классификации доступна в пакете randomForest. У пакета ipred есть бэггинг (укладывание в мешки) для регрессии, классификации и анализа дожития, а также связывания, комбинации многоуровневых моделей через приобретение знаний ансамблем. Кроме того, вариант случайного леса для переменных отклика, измеренных в произвольных весах на основе условных деревьев вывода, реализован в пакете party. Пакет randomForestSRC реализует объединенную обработку случайных лесов Бреимена для задач дожития, регрессии и классификации. Квантильные регрессионные леса в пакете quantregForest позволяют квантилей числового отклика на исследовательских переменных с помощью подхода случайного леса. Для двоичных данных LogicForest - лес деревьев логистической регрессии (пакет LogicReg. Пакеты varSelRF и Boruta фокусируются на выборе переменной по средним значениям для алгоритмов случайных лесов. Кроме того, пакеты ranger и Rborist предлагают интерфейсы R к быстрым реализациям C++ случайных лесов.

Методы регуляризации и усечения: регрессионные модели с некоторым ограничением на оценки параметров могут быть подогнаны с использованием пакетов lasso2 и lars. Lasso с одновременными обновлениями для групп параметров (groupwise лассо) доступно в пакете grplasso; grpreg пакет реализует много других моделей со групповыми штрафами, такими как группа MCP группа SCAD. Путь регуляризации L1 для обобщенных линейных моделей и моделей Cox может быть получен из функций, доступных в пакете glmpath, всем лассо или эластично-сетевом пути регуляризации (также в elasticnet) для линейной регрессии, логистической, и регрессионные полиномные модели могут быть получены из пакета glmnet. Пакет со штрафами предоставляет альтернативную реализацию лассо (L1), и гребенки (L2) для шрафовки регрессионных моделей (и GLM и модели Cox). Пакет RXshrink может использоваться, чтобы идентифицировать и вывести на экран ТРАССИРОВКИ для указанного пути усечения и определения надлежащей степени усечения. Полупараметрические аддитивные модели опасностей под штрафами лассо предлагаются пакетом ahaz. Обобщение метода уменьшения Лассо для линейной регрессии называют ослабленным лассо и доступно в пакете relaxo. Проекция Фишера LDA с дополнительным штрафом ЛАССО, чтобы произвести прореженные решения реализована в пакете penalizedLDA. Прореженный классификатор центроидов и утилиты для анализов экспрессии гена реализованы в пакете pamr. Реализация многомерных адаптивных регрессии сплайнов доступна в пакете earth. Выбор переменной посредством выбора клона в SVMs в оштрафованных моделях (SCAD или штрафы L1) реализован в пакете penalizedSVM. Различные формы оштрафованного дискриминантного анализа реализованы в пакетах hda, rda, и sda. Пакет LiblineaR предлагает интерфейс библиотеке LIBLINEAR. пакет ncvreg подгоняет моделям линейной регрессии и логистической регрессии под SCAD и штрафы регрессии MCP, используя координационный алгоритм спуска. Регрессия гребня высокой производительности (т.е. штрафования со многими переменными прогноза) и гетероскедастичные модели эффектов является содержанием пакета bigRR. Реализация методов ограничений для упорядоченной минимизации рисков - доступен пакете bmrm. Также имеется лассо с негауссовским и ошибками гетероскедастичности оценено hdm, вывод на низко-размерных компонентах регрессии Лассо и предполагаемых эффектов обработки в высоко-размерной установке. Пакет SIS реализует уверенный независимый отбор в линейной обобщенной модели и модели Cox.

Бустинг (усиление): различные формы градиентного бустингаа реализованы в пакете gbm (бустинг, основанный на дереве функциональный градиентный спуск). Оптимизируется функция потерь Hinge с помощью бустинга, реализованного в пакете bst. Можно использовать пакет GAMBoost для подгонки обобщенных аддитивных моделей алгоритмом бустинга. Расширяемая платформа бустинга для обобщенных линейных, аддитивных и непараметрических моделей доступна в пакете mboost. Основанный на правдоподобии бустинг для моделей Cox реализовано в CoxBoost и для смешанных моделей в GMMBoost. Можно подогнать модели GAMLSS, используя бустинг gamboostLSS.

Методы опорных векторов и ядерные методы: функция svm () из e1071 предлагает интерфейс библиотеке LIBSVM, и пакет kernlab реализует гибкую платформу для ядерного обучения (включая SVMs, RVMs и другие алгоритмы ядерного обучения). Интерфейс к реализации SVMlight (только для one-all классификации) дан в пакете klaR. Соответствующая размерность в пространствах признаков ядра может быть оценена, используя rdetools, который также предлагает процедуры для выбора модели и предсказание.


Байесовские Методы: Bayesian Additive Regression Trees (BART), где заключительная модель определена с точки зрения суммы по многим слабым ученикам (мало чем отличающийся от методов ансамбля), реализованы в пакете BayesTree. Байесовская нестационарная, полупараметрическая нелинейная регрессия и проектирование с помощью древовидного Гауссовского процесса, включая Байесовский CART и древовидной линейные модели, доступны в пакете tgp.

Оптимизация с использованием генетических алгоритмов: Пакеты rgp и rgenoud предлагают подпрограммы оптимизации на основе генетических алгоритмов. Пакет Rmalschains реализует имитационные алгоритмы с цепочками локального поиска, которые являются специальным типом эволюционных алгоритмов, комбинируя генетический алгоритм устойчивого состояния с локальным поиском для реально оцененной параметрической оптимизации.

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

Системы, основанные на нечетких правилах: пакет frbs реализует стандартные методы для изучения систем, основанных на нечетких правилах для регрессии и классификации. Пакет RoughSets содержит всесторонние реализации грубой теории множеств (RST) и нечеткой грубой теории множеств (FRST) в одном пакете.

Выбор и проверка модели: пакет e1071 содержит функцию настройки tune() для настройки параметров, а функция errorest () (ipred) может использоваться для оценки коэффициента ошибок. Параметр стоимости C для методов опорных векторов может быть выбран, использовав функциональность пакета svmpath. Функции для анализа ROC и другие методы визуализации для сравнения классификаторов доступны в пакете ROCR. Пакеты hdi и stabs реализуют выбор устойчивости для диапазона моделей, hdi также предлагает другие процедуры вывода в высоко-размерных моделях.

Другие процедуры: очевидные классификаторы определяют количество неопределенности по поводу класса тестовых образцов, используя функцию mass Dempster-Shafer в пакете evclass. Пакет OneR (Одно Правило) предлагает алгоритм классификации с улучшениями для сложной обработки отсутствующих значений и числовых данных вместе с обширными диагностическими функциями

Пакеты-обертки: пакет caret содержит функции для подгонки моделей с последующим предсказанием, включая настройку параметров и и мер значимости переменных. Пакет может использовать с различными инструментами по организации параллельных вычислений (например, MPI, NWS и т.д.). В подобном духе пакет mlr предлагает высокоуровневый интерфейс различным пакетам статистически и машинного обучения. Пакет SuperLearner реализует аналогичный набор инструментов. Пакет h2o реализует платформу машинного обучения общего назначения, у которой есть масштабируемые реализации многих популярных алгоритмов, такие как случайный лес, GBM, GLM (с эластичной сетевой регуляризацией), и глубокое обучение (feedforward многоуровневые сети), среди других.

GUI rattle - графический пользовательский интерфейс, обеспечивающий полный цикл машинного обучения: предварительный анализ данных (data mining), подгонку 6 типов моделей, предсказание по этим моделям и оценку реузльтативности моделей. Все действия пользователя протоколируются на R, что может быть использовано в дальнейшем.

CORElearn реализует довольно широкий класс машинного обучения.

Конференции

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

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

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

См. также Рейтинг международных научных конференций.

Ссылки

  • Google Machine Learning News — форумы и новости по машинному обучению на Гугле
  • [1] - перечень пакетов, содержащихся в R, по машинному обучению
  • 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 [3]
  13. Vapnik V.N. Statistical learning theory. — N.Y.: John Wiley & Sons, Inc., 1998. [4]
  14. Witten I.H., Frank E. Data Mining: Practical Machine Learning Tools and Techniques (Second Edition). — Morgan Kaufmann, 2005 ISBN 0-12-088407-0 [5]
Личные инструменты