Общие понятия — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Классификация задач машинного обучения)
м (rollbackEdits.php mass rollback)
 
(не показаны 94 промежуточные версии 13 участников)
Строка 1: Строка 1:
 
== Понятие машинного обучения в искусственном интеллекте ==
 
== Понятие машинного обучения в искусственном интеллекте ==
 +
Одним из первых, кто использовал термин "машинное обучение", был изобретатель первой самообучающейся компьютерной программы игры в шашки А. Л. Самуэль в 1959 г. <ref>[https://www.cs.virginia.edu/~evans/greatworks/samuel.pdf A.L. Samuel "Some Studies in Machine Learning Using the Game of Checkers" (IBM Journal. July 1959. P. 210–229)]</ref>
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
 
'''Машинное обучение''' (англ. ''Machine learning'') {{---}} процесс, который даёт возможность компьютерам обучаться выполнять что-то без явного написания кода.
 
'''Машинное обучение''' (англ. ''Machine learning'') {{---}} процесс, который даёт возможность компьютерам обучаться выполнять что-то без явного написания кода.
 
}}
 
}}
''A.L. Samuel "Some Studies in Machine Learning Using the Game of Checkers" (IBM Journal. July 1959. P. 210–229)''
+
Это определение не выдерживает критики, так как не понятно, что означает наречие "явно". Более точное определение дал намного позже Т. М. Митчелл. <ref>[https://www.cs.ubbcluj.ro/~gabis/ml/ml-books/McGrawHill%20-%20Machine%20Learning%20-Tom%20Mitchell.pdf T.M. Mitchell "Machine Learning" (McGraw-Hill, 1997) ]</ref>
 
 
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Говорят, что компьютерная '''программа учится''' на опыте $E$ относительно некоторой задачи $T$ и некоторой меры производительности $P$, если ее производительность на $T$, измеренная $P$, улучшается с опытом $E$.
+
Компьютерная '''программа обучается''' на основе опыта $E$ по отношению к некоторому классу задач $T$ и меры качества $P$, если качество решения задач из $T$, измеренное на основе $P$, улучшается с приобретением опыта $E$.  
 
}}
 
}}
''T.M. Mitchell "Machine Learning" (McGraw-Hill, 1997)''
 
  
 
== Задача обучения ==
 
== Задача обучения ==
 
$X$ {{---}} множество объектов (англ. '''object set''', or ''input set'') <br />
 
$X$ {{---}} множество объектов (англ. '''object set''', or ''input set'') <br />
$Y$ {{---}} множество ответов (англ. '''label set''', or ''output set'') <br />
+
$Y$ {{---}} множество меток классов (англ. '''label set''', or ''output set'') <br />
$y ∶ X → Y$ {{---}} неизвестная зависимость  (англ. '''unknown target function''' ''(dependency)'') <br />
+
$\hat y∶ X → Y$ {{---}} неизвестная зависимость  (англ. '''unknown target function''' ''(dependency)'') <br />
  
Компьютер всегда имеет дело с признаковым описанием объектов. ''Например:'' пациента можно описать признаками: имя, возраст, номер полиса, жалобы, давление, температура, результаты анализов. <br />
+
'''Дано''' <br />
 +
${x_1, . . . , x_l} ⊂ X$ {{---}} обучающая выборка (англ. ''training sample set'') <br />
 +
$y_i = \hat y(x_i), i = 1, . . . , l $ {{---}} известные метки классов <br />
 +
'''Найти''' <br />
 +
Найти $ a ∶ X → Y $ {{---}} алгоритм, решающую функцию (англ. '''decision function'''), приближающую $y$ на всём множестве $X$.
 +
=== Признаки ===
 +
Компьютер всегда имеет дело с признаковым описанием объектов. ''Например,'' пациента можно описать признаками: имя, возраст, номер полиса, жалобы, давление, температура, результаты анализов. <br />
 
$f_j∶ X → D_j,j = 1, ... , n$ {{---}} признаки (англ. '''features''', or ''attributes'').
 
$f_j∶ X → D_j,j = 1, ... , n$ {{---}} признаки (англ. '''features''', or ''attributes'').
  
 
Типы признаков:
 
Типы признаков:
* бинарный (''binary''): $D_j = \{0, 1\}$
+
* бинарный (''binary''): $D_j = \{0, 1\}$;
* номинальный (''categorical): $D_j$ конечно
+
* номинальный, или категориальный (''categorical): $D_j$ конечно;
* упорядоченный (''ordinal''): $D_j$ конечно и упорядоченно
+
* упорядоченный (''ordinal''): $D_j$ конечно и упорядоченно;
* количественный (''numerical''): $D_j = \mathbb{R}$
+
* числовой (''numerical''): $D_j = \mathbb{R}$.
 +
 
 +
т.е. объект представляется как набор признаков $(f_1(x),... ,f_n(x))$. Данные обычно представляются в виде матрицы объектов-признаков
  
т.е объект представляется как набор признаков $(f_1(x),... ,f_n(x))$. Данные обычно представляются в виде матрицы объектов-признаков <br />
 
 
<tex>
 
<tex>
 
F = ||f_j(x_i)||_{[l \times n]} =  
 
F = ||f_j(x_i)||_{[l \times n]} =  
Строка 35: Строка 41:
 
\end{pmatrix}
 
\end{pmatrix}
 
</tex> <br />
 
</tex> <br />
'''Дано''' <br />
+
 
${x_1, . . . , x_l} ⊂ X$ {{---}} обучающая выбока (англ. ''training sample set'') <br />
 
$y_i = y(x_i), i = 1, . . . , l $ {{---}} известные ответы <br />
 
'''Найти''' <br />
 
Найти $ a ∶ X → Y $ {{---}} алгоритм, решающую функцию (англ. '''decision function'''), приближающую $y$ на всём множестве $X$.
 
  
 
----
 
----
 +
 
=== Типы задач ===
 
=== Типы задач ===
'''Задачи классификации''' (англ. ''classification''):
+
'''Классификация''' (англ. ''classification'') <br/>
* $Y = \{−1, +1\}$ — классификация на 2 класса
+
* $Y = \{−1, +1\}$ — классификация на 2 класса;
* $Y = \{1, . . . , M\}$ — на $M$ непересекающихся классов
+
* $Y = \{1, . . . , M\}$ — на $M$ непересекающихся классов;
* $Y = \{0, 1\}^M$— на $M$ классов, которые могут пересекаться.
+
* $Y = \{0, 1\}^M$— на $M$ классов, которые могут пересекаться. <br/>
''Примеры:'' распознавание текста по рукописному вводу, определение того, находится на фотографии человек или кот.<br/>
+
 
'''Задачи восстановления регрессии''' (англ. ''regression''):
+
''Цель'': научиться определять, к какому классу принадлежит объект. <br/>
* $Y = \mathbb{R}$ или $Y = \mathbb{R}^m$
+
''Примеры'': распознавание текста по рукописному вводу; определение того, находится на фотографии человек или кот; определение, является ли письмо спамом. <br/>
''Примеры:'' предсказание стоимости акции через полгода, предсказание прибыли магазина в следующем месяце, предсказание качества вина на слепом тестировании.<br/>
+
''Методы'': [[Метрический классификатор и метод ближайших соседей|метод ближайших соседей]], [[Дерево решений и случайный лес|дерево решений]], [[Логистическая регрессия|логистическая регрессия]], [[Метод опорных векторов (SVM)|метод опорных векторов]], [[Байесовская классификация|байесовский классификатор]], [[Сверточные нейронные сети|cверточные нейронные сети]].
'''Задачи ранжирования''' (англ. ''ranking''):
+
 
* $Y$ {{---}} конечное упорядоченное множество
+
'''Восстановление регрессии''' (англ. ''regression'') <br/>
''Пример:'' выдача поискового запроса.<br/>
+
* $Y = \mathbb{R}$ или $Y = \mathbb{R}^m$. <br/>
'''Задачи уменьшения размерности'''  <br/>
+
 
Научиться описывать данные не $N$ признаками, а меньшим числом (как правило, 2-3 для последующей визуализации). В качестве примера помимо необходимости для визуализации можно привести сжатие данных. <br/>
+
''Цель'': получать прогноз на основе выборки объектов. <br/>
'''Задачи кластеризации'''<br/>
+
''Примеры'': предсказание стоимости акции через полгода; предсказание прибыли магазина в следующем месяце; предсказание качества вина на слепом тестировании. <br/>
Разбиение данных на похожие категории. <br/>
+
''Методы'': [[Линейная регрессия|линейная регрессия]], [[Дерево решений и случайный лес|дерево решений]], [[Метод опорных векторов (SVM)|метод опорных векторов]].
''Примеры:'' разбиение клиентов сотового оператора по платёжеспособности, разбиение космических объектов на похожие (галактики, планеты, звезды и так далее). <br/>
+
 
'''Задачи выявления аномалий'''<br/>
+
'''Ранжирование''' (англ. ''ranking'') <br/>
На основании признаков научиться различать отличать аномалии от «не-аномалий». Кажется, что от задачи классификации эта задача ничем не отличается. Но особенность выявления аномалий состоит в том, что примеров аномалий для тренировки модели у нас либо очень мало, либо нет совсем, поэтому мы не можем решать такую задачу как задачу классификации. <br/>
+
{{main|Ранжирование}}
''Пример:'' определение мошеннических транзакций по банковской карте.
+
* $Y$ {{---}} конечное упорядоченное множество. <br/>
 +
 
 +
''Цель'': научиться по множеству объектов получать множество рейтингов, упорядоченное согласно заданному отношению порядка. <br/>
 +
''Примеры'': выдача поискового запроса; подбор интересных новостей для пользователя. <br/>
 +
''Методы'': [[Ранжирование#Поточечный подход|поточечный подход]], [[Ранжирование#Попарный подход|попарный подход]], [[Ранжирование#Списочный подход|списочный подход]].
 +
 
 +
'''Кластеризация'''  (англ. ''clustering'')<br/>
 +
{{main|Кластеризация}}
 +
''Цель'': разбить множество объектов на подмножества ('''кластеры''') таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров по какому-либо критерию. <br/>
 +
''Примеры'': разбиение клиентов сотового оператора по платёжеспособности; разбиение космических объектов на похожие (галактики, планеты, звезды). <br/>
 +
''Методы'': [[Иерархическая кластеризация|иерархическая кластеризация]], [[Эволюционные алгоритмы кластеризации|эволюционные алгоритмы кластеризации]], [[EM-алгоритм]].
 +
 
 +
----
 +
 
 +
=== Вспомогательные типы задач ===
 +
 
 +
'''Уменьшение размерности'''  (англ. ''dimensionality reduction'') <br/>
 +
{{main|Уменьшение размерности}}
 +
 
 +
''Цель'': научиться описывать данные не $N$ признаками, а меньшим числом для повышения точности модели или последующей визуализации. <br/>
 +
''Примеры'': визуализация в двумерном или трехмерном пространстве; сжатие данных. <br/>
 +
''Методы'': [[Вариации регрессии#Гребневая регрессия (ридж-регрессия)|гребневая регрессия]], [[Вариации регрессии#Лассо-регрессия|лассо-регрессия]], [[Метод главных компонент (PCA)|метод главных компонент]], [[Стохастическое вложение соседей с t-распределением|стохастическое вложение соседей с t-распределением]].
 +
 
 +
'''Выявление аномалий''' (англ. ''anomaly detection'')<br/>
 +
{{main|Выброс}}
 +
''Цель'': научиться выявлять аномалии в данных. Отличительная особенность задачи от классификации {{---}} примеров аномалий для тренировки модели очень мало, либо нет совсем; поэтому для ее решения необходимы специальные методы. <br/>
 +
''Примеры'': определение мошеннических транзакций по банковской карте; обнаружение событий, предвещающих землетрясение. <br/>
 +
''Методы'': [[Выброс#Методы обнаружения выбросов|экстремальный анализ данных, аппроксимирующий метод, проецирующие методы]].
  
 
== Классификация задач машинного обучения ==
 
== Классификация задач машинного обучения ==
==== Обучение с учителем (англ. ''Supervised learning'') ==== <ref> [http://www.machinelearning.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC Обучение с учителем]</ref>
+
 
Тренировочные данные доступны все сразу и размечены (известны ответы для поставленной задачи).<br/>
+
==== Обучение с учителем (англ. ''Supervised learning'' <ref> [http://www.machinelearning.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC Обучение с учителем]</ref>) ====
''Задачи которые могут решаться этим способом:'' классификация, регрессия, предсказание.
+
Метки классов $y_i$ доступны все сразу (известны ответы для поставленной задачи).<br/>
 +
''Задачи, которые могут решаться этим способом:'' классификация, регрессия.
  
 
==== Обучение без учителя (англ. ''Unsupervised learning'') ====
 
==== Обучение без учителя (англ. ''Unsupervised learning'') ====
Тренировочные данные доступны все сразу, но ответы для поставленной задачи неизвестны.<br/>
+
Изучает широкий класс задач обработки данных, в которых известны только описания множества объектов (обучающей выборки), и требуется обнаружить внутренние взаимосвязи, зависимости, закономерности, существующие между объектами. Т.е. тренировочные данные доступны все сразу, но ответы для поставленной задачи неизвестны.  
''Задачи, которые могут решаться этим способом:'' кластеризация, нахождение ассоциативных правил, выдача рекомендаций (например реклама), уменьшение размености датасета.
+
 
==== Обучение с частичным привлечением учителя (англ. ''Semi-supervised learning'') ====
+
''Задачи, которые могут решаться этим способом:'' кластеризация, нахождение ассоциативных правил, выдача рекомендаций (например, реклама), уменьшение размерности датасета, [[Обработка естественного языка|обработка естественного языка]].
Тренировочные данные доступны все сразу, но размечено мало, либо малоинформативная часть.<br/>
+
 
''Примером частичного обучения может послужить сообучение:'' два или более обучаемых алгоритма используют один и тот же набор данных, но каждый при обучении использует различные — в идеале некоррелированные — наборы признаков объектов.
+
==== Обучение с частичным привлечением учителя (англ. ''Semi-supervised learning''<ref>[http://www.machinelearning.ru/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 Semi-supervised learning]</ref>) ====
 +
{{main|Обучение с частичным привлечением учителя}}
 +
Занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов (Размечено мало, либо малоинформативная часть).<br/>
 +
''Примером частичного обучения может послужить сообучение:'' два или более обучаемых алгоритма используют один и тот же набор данных, но каждый при обучении использует различные — в идеале некоррелирующие — наборы признаков объектов.
  
 
==== Обучение с подкреплением (англ. ''Reinforcement learning'') ====
 
==== Обучение с подкреплением (англ. ''Reinforcement learning'') ====
 +
{{main|Обучение с подкреплением}}
 
Частный случай обучения с учителем, сигналы подкрепления (правильности ответа) выдаются не учителем, а некоторой средой, с которой взаимодействует программа. Размеченность данных зависит от среды.
 
Частный случай обучения с учителем, сигналы подкрепления (правильности ответа) выдаются не учителем, а некоторой средой, с которой взаимодействует программа. Размеченность данных зависит от среды.
 +
 +
Окружение обычно формулируется как [http://en.wikipedia.org/wiki/Markov_decision_process марковский процесс принятия решений] (МППР) с конечным множеством состояний, и в этом смысле алгоритмы обучения с подкреплением тесно связаны с динамическим программированием. Вероятности выигрышей и перехода состояний в МППР обычно являются величинами случайными, но стационарными в рамках задачи.
 +
 +
При обучении с подкреплением, в отличие от обучения с учителем, не предоставляются верные пары "входные данные-ответ", а принятие субоптимальных решений (дающих локальный экстремум) не ограничивается явно. Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний (англ. ''exploration vs exploitation tradeoff'').
 +
 
==== Активное обучение (англ. ''Active learning'') ====
 
==== Активное обучение (англ. ''Active learning'') ====
Отличается тем, что обучаемый имеет возможность самостоятельно назначать следующий прецедент, который станет известен.  
+
{{main|Активное обучение}}
 +
Отличается тем, что обучаемый имеет возможность самостоятельно назначать следующий прецедент, который станет известен. Применяется когда получение истиной метки для объекта затруднительно. Поэтому алгоритм должен уметь определять, на каких объектах ему надо знать ответ,
 +
чтобы лучше всего обучиться, построить наилучшую модель.
 +
 
 
==== Обучение в реальном времени (англ. ''Online learning'') ====
 
==== Обучение в реальном времени (англ. ''Online learning'') ====
Тренировочные данные поступают последовательно.
+
{{main|Обучение в реальном времени}}
==== Структурное предсказание (англ. ''Structured prediction'') ====
+
Может быть как обучением с учителем, так и без учителя. Специфика в том, что тренировочные данные поступают последовательно. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Здесь существенную роль играет фактор времени.
==== Выбор модели и валидация (англ. ''Model selection and validation'') ====
 
  
 
== Примеры задач ==
 
== Примеры задач ==
 
*  '''Предсказание месторождений полезных ископаемых''' <br/>
 
*  '''Предсказание месторождений полезных ископаемых''' <br/>
Признаками являются данные геологической разведки. Наличие или отсутствие тех или иных пород на территории района кодируется бинарными признаками. Физико-химические свойства этих пород могут описываться как количественными, так и качественными признаками. Обучающая выборка составляется из прецедентов двух классов: районов известных месторождений и похожих районов, в которых интересующее ископаемое обнаружено не было. При поиске редких полезных ископаемых количество объектов может оказаться намного меньше, чем количество признаков. В этой ситуации плохо работают классические статистические методы. Задача решается путём поиска закономерностей в имеющемся массиве данных. В процессе решения выделяются короткие наборы признаков, обладающие наибольшей информативностью — способностью наилучшим образом разделять классы. По аналогии с медицинской задачей, можно сказать, что отыскиваются «синдромы» месторождений. Это важный побочный результат исследования, представляющий значительный интерес для геофизиков и геологов.
+
''Признаками'' являются данные геологической разведки.  
 +
* ''Бинарные признаки:'' наличие/отсутствие тех или иных пород на территории района;
 +
* ''Числовые признаки:'' физико-химические свойства пород можно описать количественной характеристикой.
 +
 
 +
''Обучающая выборка'' состоит из двух классов:
 +
* районы известных месторождений;
 +
* похожие районы, в которых интересующее ископаемое обнаружено не было.
 +
 
 +
При поиске редких полезных ископаемых количество объектов может оказаться намного меньше, чем количество признаков. В этой ситуации плохо работают классические статистические методы. Задача решается путём поиска закономерностей в имеющемся массиве данных. В процессе решения выделяются короткие наборы признаков, обладающие наибольшей ''информативностью'' — способностью наилучшим образом разделять классы (''"синдромы"'' месторождений).  
 
* '''Оценивание кредитоспособности заёмщиков''' <br/>
 
* '''Оценивание кредитоспособности заёмщиков''' <br/>
Эта задача решается банками при выдаче кредитов. Потребность в автоматизации процедуры выдачи кредитов впервые возникла в период бума кредитных карт 60-70-х годов в США и других развитых странах. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита. В случае физических лиц признаковое описание состоит из анкеты, которую заполняет сам заёмщик, и, возможно, дополнительной информации, которую банк собирает о нём из собственных источников. Примеры бинарных признаков: пол, наличие телефона. Номинальные признаки место проживания, профессия, работодатель. Порядковые признаки образование, занимаемая должность. Количественные признаки сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках. Обучающая выборка составляется из заёмщиков с известной кредитной историей. В простейшем случае принятие решений сводится к классификации заёмщиков на два класса: «хороших» и «плохих». Кредиты выдаются только заёмщикам первого класса. В более сложном случае оценивается суммарное число баллов (score) заёмщика, набранных по совокупности информативных признаков. Чем выше оценка, тем более надёжным считается заёмщик. Отсюда и название — кредитный скоринг. На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Следующая задача — решить, на каких условиях выдавать кредит: определить процентную ставку, срок погашения, и прочие параметры кредитного договора. Эта задача также может быть решения методами обучения по прецедентам.  
+
Эта задача решается банками при выдаче кредитов. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита.
* '''Прогнозирование потребительского спроса''' <br/>
+
 
Решается современными супермаркетами и торговыми розничными сетями. Для эффективного управления торговой сетью необходимо прогнозировать объёмы продаж для каждого товара на заданное число дней вперёд. На основе этих прогнозов осуществляется планирование закупок, управление ассортиментом, формирование ценовой политики, планирование промоакций (рекламных кампаний). Специфика задачи в том, что количество товаров может исчисляться десятками или даже сотнями тысяч. Прогнозирование и принятие решений по каждому товару «вручную» просто немыслимо. Исходными данными для прогнозирования являются временные ряды цен и объёмов продаж по товарам и по отдельным магазинам. Современные технологии позволяют снимать эти данные непосредственно с кассовых аппаратов. Для увеличения точности прогнозов необходимо также учитывать различные внешние факторы, влияющие на потребительский спрос: уровень инфляции, погодные условия, рекламные кампании, социально-демографические условия, активность конкурентов. В зависимости от целей анализа в роли объектов выступают либо товары, либо магазины, либо пары «магазин, товар». Ещё одна особенность задачи — несимметричность функции потерь. Если прогноз делается с целью планирования закупок, то потери от заниженного прогноза существенно выше потерь от завышенного.  
+
В случае физических лиц признаковое описание состоит из:
* '''Принятие инвестиционных решений на финансовом рынке''' <br/>
+
* анкеты, которую заполняет сам заёмщик;
В этой задаче умение хорошо прогнозировать самым непосредственным образом превращается в прибыль. Если инвестор предполагает, что цена акции вырастет, он покупает акции, надеясь продать их позже по более высокой цене. И, наоборот, прогнозируя падение цен, инвестор продаёт акции, чтобы впоследствии выкупить их обратно по более низкой цене. Задача инвестора-спекулянта в том, чтобы правильно предугадать направление будущего изменения цены — роста или падения. Большой популярностью пользуются автоматические торговые стратегии -алгоритмы, принимающие торговые решения без участия человека. Разработка такого алгоритма — тоже задача обучения с учителем. В роли объектов выступают ситуации, фактически, моменты времени. Описание объекта — это вся предыстория изменения цен и объёмов торгов, зафиксированная к данному моменту. В простейшем случае объекты необходимо классифицировать на три класса, соответствующих возможным решениям: купить, продать или выжидать. Обучающей выборкой для настройки торговых стратегий служат исторические данные о движении цен и объёмов за некоторый промежуток времени. Критерий качества в данной задаче существенно отличается от стандартного функционала средней ошибки, поскольку инвестора интересует не точность прогнозирования, а максимизация итоговой прибыли. Современный биржевой технический анализ насчитывает сотни параметрических торговых стратегий, параметры которых принято настраивать по критерию максимума прибыли на выбранном интервале истории.  
+
* дополнительной информации, которую банк собирает о нём из собственных источников.
* '''Задача классификации видов ириса (Фишер 1936)''' <ref>[https://ru.wikipedia.org/wiki/%D0%98%D1%80%D0%B8%D1%81%D1%8B_%D0%A4%D0%B8%D1%88%D0%B5%D1%80%D0%B0 Задача классификации видов ириса]</ref><br/>
+
 
 +
Можно выделить следующие ''признаки'':
 +
* ''Бинарные признаки:'' пол, наличие телефона;
 +
* ''Номинальные признаки:'' место проживания, профессия, работодатель;
 +
* ''Порядковые признаки:'' образование, занимаемая должность;
 +
* ''Числовые признаки:''сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках.
 +
 
 +
''Обучающая выборка'' составляется из заёмщиков с известной кредитной историей.  
 +
 
 +
На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Чем выше суммарное число баллов заёмщика, набранных по совокупности информативных признаков, тем более надёжным считается заёмщик.  
 +
* '''Задачи медицинской диагностики''' <br/>
 +
В роли ''объектов'' выступают пациенты. Признаки характеризуют результаты обследований, симптомы заболевания и применявшиеся методы лечения.
 +
 
 +
* ''Бинарные признаки'': пол, наличие головной боли, слабости;
 +
* ''Порядковый признак'': тяжесть состояния (удовлетворительное, средней тяжести, тяжёлое, крайне тяжёлое);
 +
* ''Числовые признаки:''возраст, пульс, артериальное давление, содержание гемоглобина в крови, доза препарата.  
 +
 
 +
Признаковое описание пациента является, по сути дела, формализованной историей болезни.
 +
 +
Накопив достаточное количество данных, можно решать различные задачи:
 +
* классифицировать вид заболевания (дифференциальная диагностика);
 +
* определять наиболее целесообразный способ лечения;
 +
* предсказывать длительность и исход заболевания;
 +
* оценивать риск осложнений;
 +
* находить наиболее характерные для данного заболевания совокупности симптомов.  
 +
 
 +
Ценность такого рода систем в том, что они способны мгновенно анализировать и обобщать огромное количество прецедентов — возможность, недоступная специалисту-врачу.  
 +
 
 +
* '''Задача классификации видов ириса (Фишер 1936)''' <ref>[https://ru.wikipedia.org/wiki/%D0%98%D1%80%D0%B8%D1%81%D1%8B_%D0%A4%D0%B8%D1%88%D0%B5%D1%80%D0%B0 Задача классификации видов ириса]</ref> <ref>[http://edu.mmcs.sfedu.ru/pluginfile.php/17198/mod_resource/content/1/01%20%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F.pdf Презентация "Основные понятия машинного обучения"]</ref><br/>  
 
[[Файл:Iris_classification.png|650px]]
 
[[Файл:Iris_classification.png|650px]]
 +
 +
== Открытые наборы данных для обучения ==
 +
{{main|Известные наборы данных|l1=Известные наборы данных}}
 +
==== Компьютерное зрение ====
 +
*  [https://pjreddie.com/projects/mnist-in-csv/ MNIST]: один из самых востребованных наборов для проверки работоспособности. Есть датасеты 25x25, отцентрованные, рукописные чёрно-белые цифры;
 +
*  [https://www.cs.toronto.edu/~kriz/cifar.html CIFAR10 & CIFAR100]: цветные изображения 32x32. Сегодня используется нечасто, но может быть хорошим вариантов для проверки работоспособности;
 +
*  [http://image-net.org/ ImageNet]: датасет изображений для проверки новых алгоритмов.
 +
 +
==== Естественные языки ====
 +
* [https://blog.einstein.ai/the-wikitext-long-term-dependency-language-modeling-dataset/ WikiText]: большой свод данных для языкового моделирования из статей Википедии, собранный Salesforce MetaMind.
 +
==== Речь ====
 +
*  [http://www.openslr.org/12/ LibriSpeech]: около 500 часов начитки аудиокниг, в исполнении разных людей. Данные организованы по главам книг, содержат текст и записи.
 +
==== Системы рекомендаций и ранжирования ====
 +
* [https://www.kaggle.com/c/msdchallenge Million Song Dataset]: большой open source-датасет [https://www.kaggle.com/ Kaggle], насыщенный метаданными. Хороший вариант для тех, кто экспериментирует с гибридными системами рекомендаций.
 +
==== Сети и графы ====
 +
* [http://snap.stanford.edu/data/#amazon Amazon Co-Purchasing] и [http://snap.stanford.edu/data/amazon-meta.html Amazon Reviews]: данные, собранные из раздела «Пользователи, купившие это, также выбирают…» на Amazon, а также обзоры сопутствующих товаров. Хорош для экспериментов рекомендательными системами в соцсетях.
 +
==== Геопространственные данные ====
 +
* [http://wiki.openstreetmap.org/wiki/Planet.osm OpenStreetMap]: векторные картографические данные для всей планеты, с бесплатной лицензией. Включает в себя старую версию данных TIGER Бюро переписи США.
  
 
== См. также ==
 
== См. также ==
Строка 101: Строка 197:
 
* [[Оценка качества в задаче кластеризации]]
 
* [[Оценка качества в задаче кластеризации]]
 
* [[Кросс-валидация]]
 
* [[Кросс-валидация]]
 +
* [[Обзор библиотек для машинного обучения на Python]]
  
 
== Примечания ==
 
== Примечания ==
Строка 106: Строка 203:
  
 
== Источники информации ==
 
== Источники информации ==
#[https://en.wikipedia.org/wiki/Machine_learning Машинное обучение] {{---}} Wiki
+
*[https://en.wikipedia.org/wiki/Machine_learning Wikipedia {{---}} Machine learning]
#[http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%28%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%9A.%D0%92.%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2%29 Курс лекций по машинному обучению] {{---}} Воронцов К.В.
+
*[http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%28%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%9A.%D0%92.%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2%29 machinelearning.ru {{---}} Машинное обучение (курс лекций, К.В.Воронцов)]
#[https://newtonew.com/tech/machine-learning-novice Статья "Машинное обучение для чайников"]
+
*[https://newtonew.com/tech/machine-learning-novice Машинное обучение для чайников]
 +
*[https://golos.io/ru--programmirovanie/@randall/kak-ii-nauchit-vsemu-luchshie-otkrytye-nabory-dannykh-dlya-obucheniya Лучшие наборы данных для обучения]
  
 
[[Категория: Машинное обучение]]
 
[[Категория: Машинное обучение]]

Текущая версия на 19:38, 4 сентября 2022

Понятие машинного обучения в искусственном интеллекте

Одним из первых, кто использовал термин "машинное обучение", был изобретатель первой самообучающейся компьютерной программы игры в шашки А. Л. Самуэль в 1959 г. [1]

Определение:
Машинное обучение (англ. Machine learning) — процесс, который даёт возможность компьютерам обучаться выполнять что-то без явного написания кода.

Это определение не выдерживает критики, так как не понятно, что означает наречие "явно". Более точное определение дал намного позже Т. М. Митчелл. [2]

Определение:
Компьютерная программа обучается на основе опыта $E$ по отношению к некоторому классу задач $T$ и меры качества $P$, если качество решения задач из $T$, измеренное на основе $P$, улучшается с приобретением опыта $E$.


Задача обучения

$X$ — множество объектов (англ. object set, or input set)
$Y$ — множество меток классов (англ. label set, or output set)
$\hat y∶ X → Y$ — неизвестная зависимость (англ. unknown target function (dependency))

Дано
${x_1, . . . , x_l} ⊂ X$ — обучающая выборка (англ. training sample set)
$y_i = \hat y(x_i), i = 1, . . . , l $ — известные метки классов
Найти
Найти $ a ∶ X → Y $ — алгоритм, решающую функцию (англ. decision function), приближающую $y$ на всём множестве $X$.

Признаки

Компьютер всегда имеет дело с признаковым описанием объектов. Например, пациента можно описать признаками: имя, возраст, номер полиса, жалобы, давление, температура, результаты анализов.
$f_j∶ X → D_j,j = 1, ... , n$ — признаки (англ. features, or attributes).

Типы признаков:

  • бинарный (binary): $D_j = \{0, 1\}$;
  • номинальный, или категориальный (categorical): $D_j$ конечно;
  • упорядоченный (ordinal): $D_j$ конечно и упорядоченно;
  • числовой (numerical): $D_j = \mathbb{R}$.

т.е. объект представляется как набор признаков $(f_1(x),... ,f_n(x))$. Данные обычно представляются в виде матрицы объектов-признаков

[math] F = ||f_j(x_i)||_{[l \times n]} = \begin{pmatrix} f_1(x_1) & \cdots & f_n(x_1) \\ \cdots & \cdots & \cdots \\ f_1(x_l) & \cdots & f_n(x_l) \\ \end{pmatrix} [/math]



Типы задач

Классификация (англ. classification)

  • $Y = \{−1, +1\}$ — классификация на 2 класса;
  • $Y = \{1, . . . , M\}$ — на $M$ непересекающихся классов;
  • $Y = \{0, 1\}^M$— на $M$ классов, которые могут пересекаться.

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

Восстановление регрессии (англ. regression)

  • $Y = \mathbb{R}$ или $Y = \mathbb{R}^m$.

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

Ранжирование (англ. ranking)

Основная статья: Ранжирование
  • $Y$ — конечное упорядоченное множество.

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

Кластеризация (англ. clustering)

Основная статья: Кластеризация

Цель: разбить множество объектов на подмножества (кластеры) таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров по какому-либо критерию.
Примеры: разбиение клиентов сотового оператора по платёжеспособности; разбиение космических объектов на похожие (галактики, планеты, звезды).
Методы: иерархическая кластеризация, эволюционные алгоритмы кластеризации, EM-алгоритм.


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

Уменьшение размерности (англ. dimensionality reduction)

Основная статья: Уменьшение размерности

Цель: научиться описывать данные не $N$ признаками, а меньшим числом для повышения точности модели или последующей визуализации.
Примеры: визуализация в двумерном или трехмерном пространстве; сжатие данных.
Методы: гребневая регрессия, лассо-регрессия, метод главных компонент, стохастическое вложение соседей с t-распределением.

Выявление аномалий (англ. anomaly detection)

Основная статья: Выброс

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

Классификация задач машинного обучения

Обучение с учителем (англ. Supervised learning [3])

Метки классов $y_i$ доступны все сразу (известны ответы для поставленной задачи).
Задачи, которые могут решаться этим способом: классификация, регрессия.

Обучение без учителя (англ. Unsupervised learning)

Изучает широкий класс задач обработки данных, в которых известны только описания множества объектов (обучающей выборки), и требуется обнаружить внутренние взаимосвязи, зависимости, закономерности, существующие между объектами. Т.е. тренировочные данные доступны все сразу, но ответы для поставленной задачи неизвестны.

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

Обучение с частичным привлечением учителя (англ. Semi-supervised learning[4])

Занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов (Размечено мало, либо малоинформативная часть).
Примером частичного обучения может послужить сообучение: два или более обучаемых алгоритма используют один и тот же набор данных, но каждый при обучении использует различные — в идеале некоррелирующие — наборы признаков объектов.

Обучение с подкреплением (англ. Reinforcement learning)

Основная статья: Обучение с подкреплением

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

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

При обучении с подкреплением, в отличие от обучения с учителем, не предоставляются верные пары "входные данные-ответ", а принятие субоптимальных решений (дающих локальный экстремум) не ограничивается явно. Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний (англ. exploration vs exploitation tradeoff).

Активное обучение (англ. Active learning)

Основная статья: Активное обучение

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

Обучение в реальном времени (англ. Online learning)

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

Примеры задач

  • Предсказание месторождений полезных ископаемых

Признаками являются данные геологической разведки.

  • Бинарные признаки: наличие/отсутствие тех или иных пород на территории района;
  • Числовые признаки: физико-химические свойства пород можно описать количественной характеристикой.

Обучающая выборка состоит из двух классов:

  • районы известных месторождений;
  • похожие районы, в которых интересующее ископаемое обнаружено не было.

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

  • Оценивание кредитоспособности заёмщиков

Эта задача решается банками при выдаче кредитов. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита.

В случае физических лиц признаковое описание состоит из:

  • анкеты, которую заполняет сам заёмщик;
  • дополнительной информации, которую банк собирает о нём из собственных источников.

Можно выделить следующие признаки:

  • Бинарные признаки: пол, наличие телефона;
  • Номинальные признаки: место проживания, профессия, работодатель;
  • Порядковые признаки: образование, занимаемая должность;
  • Числовые признаки:сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках.

Обучающая выборка составляется из заёмщиков с известной кредитной историей.

На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Чем выше суммарное число баллов заёмщика, набранных по совокупности информативных признаков, тем более надёжным считается заёмщик.

  • Задачи медицинской диагностики

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

  • Бинарные признаки: пол, наличие головной боли, слабости;
  • Порядковый признак: тяжесть состояния (удовлетворительное, средней тяжести, тяжёлое, крайне тяжёлое);
  • Числовые признаки:возраст, пульс, артериальное давление, содержание гемоглобина в крови, доза препарата.

Признаковое описание пациента является, по сути дела, формализованной историей болезни.

Накопив достаточное количество данных, можно решать различные задачи:

  • классифицировать вид заболевания (дифференциальная диагностика);
  • определять наиболее целесообразный способ лечения;
  • предсказывать длительность и исход заболевания;
  • оценивать риск осложнений;
  • находить наиболее характерные для данного заболевания совокупности симптомов.

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

  • Задача классификации видов ириса (Фишер 1936) [5] [6]

Iris classification.png

Открытые наборы данных для обучения

Основная статья: Известные наборы данных

Компьютерное зрение

  • MNIST: один из самых востребованных наборов для проверки работоспособности. Есть датасеты 25x25, отцентрованные, рукописные чёрно-белые цифры;
  • CIFAR10 & CIFAR100: цветные изображения 32x32. Сегодня используется нечасто, но может быть хорошим вариантов для проверки работоспособности;
  • ImageNet: датасет изображений для проверки новых алгоритмов.

Естественные языки

  • WikiText: большой свод данных для языкового моделирования из статей Википедии, собранный Salesforce MetaMind.

Речь

  • LibriSpeech: около 500 часов начитки аудиокниг, в исполнении разных людей. Данные организованы по главам книг, содержат текст и записи.

Системы рекомендаций и ранжирования

  • Million Song Dataset: большой open source-датасет Kaggle, насыщенный метаданными. Хороший вариант для тех, кто экспериментирует с гибридными системами рекомендаций.

Сети и графы

  • Amazon Co-Purchasing и Amazon Reviews: данные, собранные из раздела «Пользователи, купившие это, также выбирают…» на Amazon, а также обзоры сопутствующих товаров. Хорош для экспериментов рекомендательными системами в соцсетях.

Геопространственные данные

  • OpenStreetMap: векторные картографические данные для всей планеты, с бесплатной лицензией. Включает в себя старую версию данных TIGER Бюро переписи США.

См. также

Примечания

Источники информации