Опубликован: 02.09.2013 | Уровень: для всех | Доступ: платный
Лекция 2:

Введение в машинное обучение

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Аннотация: В лекции рассматриваются основные задачи машинного обучения, приведены основные методы решения этих задач.

1. Введение в машинное обучение

Презентацию к лекции Вы можете скачать здесь.

Машинное обучение (machine learning) – это область научного знания, имеющая дело с алгоритмами, "способными обучаться". Необходимость использования методов машинного обучения объясняется тем, что для многих сложных – "интеллектуальных" – задач (например, распознавание рукописного текста, речи и т. п.) очень сложно (или даже невозможно) разработать "явный" алгоритм их решения, однако часто можно научить компьютер обучиться решению этих задач. Одним из первых, кто использовал термин "машинное обучение", был изобретатель первой самообучающейся компьютерной программы игры в шашки А. Л. Самуэль в 1959 г. [10]. Под обучением он понимал процесс, в результате которого компьютер способен показать поведение, которое в нее не было заложено "явно". Это определение не выдерживает критики, так как не понятно, что означает наречие "явно". Более точное определение дал намного позже Т. М. Митчелл [9]: говорят, что компьютерная программа обучается на основе опыта E по отношению к некоторому классу задач T и меры качества P, если качество решения задач из T, измеренное на основе P, улучшается с приобретением опыта E.

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

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

Различают дедуктивное и индуктивное обучение. В задачах дедуктивного обучения имеются знания, каким-либо образом формализованные. Требуется вывести из них правило, применительное к конкретному случаю. Дедуктивное обучение относят к области экспертных систем и здесь рассматриваться не будет. Основная задача индуктивного обучения заключается в восстановлении некоторой зависимости по эмпирическим данным. Индуктивное обучение подразделяется на обучение с учителем, обучение без учителя, обучение с подкреплением (reinforcement learning), активное обучение и др.

Обстоятельными учебниками по машинному обучению являются [1, 8, 9] и др. Также рекомендуем русскоязычный ресурс www.machinelearning.ru и сайт курса по машинному обучению одного из авторов настоящего пособия www.uic.unn.ru/~zny/ml.

1.1. Задача обучения с учителем

1.1.1. Постановка задачи обучения с учителем

Рассмотрим постановку задачи обучения с учителем (supervised learning). Пусть $\mathcal{X} – некоторое множество, элементы которого называются объектами или примерами, ситуациями, входами (samples); а $\mathcal{Y} – множество, элементы которого называются ответами или откликами, метками, выходами (responses). Имеется некоторая зависимость (детерминированная или вероятностная), позволяющая по x\in\mathcal{X} предсказать y\in\mathcal{Y} . В частности, если зависимость детерминированная, то существует функция f^*:\mathcal{X}\rightarrow\mathcal{Y} . Зависимость известна только на объектах обучающей выборки

\lbrace (x^{(i)},y^{(i)}):x^{(i)}\in\mathcal{X},y^{(i)}\in\mathcal{Y}\,\,(i=1,2,...,N) \rbrace

Упорядоченная пара "объект-ответ" (x^{(i)},y^{(i)})\in\mathcal{X}\times\mathcal{Y} называется прецедентом.

Задача обучения с учителем заключается в восстановлении зависимости между входом и выходом по имеющейся обучающей выборке, т. е. необходимо построить функцию (решающее правило) f:\mathcal{X}\rightarrow\mathcal{Y} , по новым объектам x\in\mathcal{X} предсказывающую ответ y=f(x)\in\mathcal{Y} :

y=f(x) \approx f^*(x).

Функция f при этом выбирается из некоторого множества возможных моделей $\mathcal{F} . Процесс нахождения f называется обучением (learning), а также настройкой или подгонкой (fitting) модели. Алгоритм построения функции по заданной обучающей выборке называется алгоритмом обучения. Некоторый класс алгоритмов называется методом обучения. Иногда термины "алгоритм" и "метод" используются как синонимы.

Алгоритмы обучения, конечно же, оперируют не с самими объектами, а их описаниями. Наиболее распространенным является признаковое описание. При таком подходе объект представляется как вектор x=(x_1,x_2,\,...,x_d) , где x_j \in Q_j\,\,(j=1,2,\,...,d). Таким образом,

\mathcal{X}=Q_1 \times Q_2 \times ... \times Q_d.

Компонента x_j называется j-м признаком, или свойством (feature), или атрибутом объекта x. Если Q_j=\mathbb{R} , то j-й признак называется количественным или вещественным. Если Q_j конечно, то j-й признак называется номинальным, или категориальным, или фактором. Если при этом \lvert Q_j \rvert=2 , то признак называется бинарным. Если Q_j конечно и упорядочено, то признак называется порядковым. Множество \mathcal{X} называется пространством признаков.

В зависимости от того, какие значения может принимать ответ , различают разные классы задач обучения с учителем. Если \mathcal{Y}=\mathbb{R} , то говорят о задаче восстановления регрессии. Решающее правило f при этом называют регрессией. Если \mathcal{Y} конечно, например,\mathcal{Y}=\lbrace 1,2,...,K \rbrace, то говорят о задаче классификации. Решающее правило f при этом называют классификатором. В последнем случае можно интерпретировать как номер класса, к которому принадлежит объект x . К задачам обучения относят также задачи ранжирования, прогнозирования и др.

Сделаем два замечания, касающиеся качества решения задачи.

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

Во-вторых, следует уделить внимание проблеме эффективной вычислимости функции f . Аналогичное требование предъявляется и к алгоритму обучения: настройка модели должна происходить за приемлемое время.

Пусть для задачи обучения с учителем определена функция потерь, или функцию штрафа, L(y,y')=L(y,f(x)), представляющая собой неотрицательную функцию от истинного значения выхода y и предсказанного с помощью модели значения y'=f(x). Например, для задачи восстановления регрессии часто используют квадратичный штраф

L(y,f(x))=\frac 1 2$ (y-f(x))^2

или абсолютный штраф:

L(y,f(x))=\lvert y-f(x) \rvert .

Для задачи классификации можно взять ошибку предсказания

L(y,f(x))=I(y \neq f(x)),

где I( \cdot ) – индикаторная функция:

I(условие)=\begin{cases}
1,&\text{условие выполнено,}\\
0,&\text{условие не выполнено.}
\end{cases}

Математическое ожидание функции потерь

R(f)=\mathrm{E} \,\,L(Y,f(X))

называется средней ошибкой, или средним риском. В качестве решающего правила разумно взять функцию f^*, минимизирующую эту ошибку:

f^*=arg\,\, min_{f\in \mathcal{F}}R(f)=arg\,\, min_{f\in \mathcal{F}}\mathrm{E} \,\,L(Y,f(X)), ( 1)

Часто закон распределения совместной случайной величины (X,Y) не известен, поэтому данный критерий не применим. Вместо среднего риска R(f) рассмотрим эмпирический риск, или эмпирическую ошибку,

\hat{R}(f)=\frac 1 N$ \sum^{N}_{i=1} {L(y^{(i)},f(x^{(i)}))}.

Критерий (1) заменим следующим:

f=arg\,\, min_{f\in \mathcal{F}}\sum^{N}_{i=1} {L(y^{(i)},f(x^{(i)}))}, ( 2)

где прецеденты (x^{(i)},y^{(i)}),(i=1,...,N) составляют обучающую выборку.

В итоге задача свелась к отысканию функции f из допустимого множества \mathcal{F} , удовлетворяющей условию (2), при условии, что \mathcal{F} и L фиксированы и известны. Это так называемый принцип минимизации эмпирического риска. Как правило, класс \mathcal{F} параметризован, т. е. имеется его описание в вида \mathcal{F}=\lbrace f(x)=f(x,\theta ): \theta \in \Theta \rbrace, где \Theta – некоторое известное множество. В процессе настройки модели алгоритмом обучения выбираются значения набора параметров \Theta , обеспечивающих точное или приближенное выполнение условия (2), т. е. минимизации ошибки на прецедентах обучающей выборки. Однако данное условие не подходит для оценки обобщающей способности алгоритма. Более того, значения \hat{R}(f) и R(f) могут различаться значительно. Ситуация, когда \hat{R}(f) мало, а R(f) чересчур велико, называется переобучением.

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

Другим практическим методом оценки обобщающей способности решающего правила является метод q-кратного перекрестного (скользящего) контроля (CV – cross validation). Все имеющиеся данные разбиваются на примерно равных (по числу прецедентов) частей. Далее, отделяя из выборки одну за другой каждую из этих частей, используют оставшиеся данные (составленные из q-1 частей) как обучающую выборку, а отделенную часть – как тестовую. Итоговая оценка ошибки определяется как средняя по всем разбиениям. Заметим, что само итоговое решающее правило строится по всей имеющейся обучающей выборке.

Часто используют значения q=5 или 10. Если q=N-1, то говорят о методе скльзящего контроля с одним отделяемым объектом (LOO – leave-one-out estimate).

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Андрей Терёхин
Андрей Терёхин

Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции?

Демянчик Иван
Демянчик Иван

В главе 14 мы видим понятие фильтра, но не могу разобраться, чем он является в теории и практике.

" Искомый объект можно описать с помощью фильтра F= \lbrace f_{x',y'},x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace \rbrace "

Даниил Поволоцкий
Даниил Поволоцкий
Беларусь, Минск
Artem Bardakov
Artem Bardakov
Россия