Главная страница

машинное обучение. А. М. Миронов Московский Государственный Университет Механикоматематический факультет Кафедра математической теории интеллектуальных систем Введение Книга


Скачать 1.05 Mb.
НазваниеА. М. Миронов Московский Государственный Университет Механикоматематический факультет Кафедра математической теории интеллектуальных систем Введение Книга
Анкормашинное обучение
Дата20.10.2022
Размер1.05 Mb.
Формат файлаpdf
Имя файлаmachine_learning_vol1 (1).pdf
ТипКнига
#744850
страница1 из 8
  1   2   3   4   5   6   7   8

Машинное обучение часть 1
А.М.Миронов
Московский Государственный Университет
Механико-математический факультет
Кафедра математической теории интеллектуальных систем

Введение
Книга представляет собой введение в основные понятия, методы и ал- горитмы машинного обучения, которое находится в настоящее время в состоянии исключительно бурного развития и является теоретической основой для проектирования интеллектуальных систем обработки боль- ших данных.
В первой части книги излагаются элементарные аспекты машинного обучения:
∙ виды задач и моделей машинного обучения,
∙ простейшие алгоритмы обучения для линейно разделимых обуча- ющих выборок,
∙ методы градиентного спуска и его разновидности,
∙ метод обучения нейронных сетей,
∙ метод опорных векторов,
∙ ядерные методы машинного обучения,
∙ регрессионный анализ,
∙ метрические и вероятностные модели машинного обучения.
Во второй части будут рассмотрены более глубокие вопросы машин- ного обучения, в частности, методы прогнозирования индивидуальных последовательностей, сравнительная теория машинного обучения, бу- стинг, алгоритмы экспоненциального смешивания, агрегирующие алго- ритмы, методы теории игр в машинном обучении. В третьей части бу- дут изложены модели и методы автоматного и процессного обучения
(automata learning и process mining).
Просьба сообщать автору о всех замеченных недостатках и рекомен- дациях по улучшению данного текста по адресу amironov66@gmail.com
1

Оглавление
1
Задачи и модели машинного обучения
4 1.1
Задачи машинного обучения . . . . . . . . . . . . . . . . . .
4 1.1.1
Предмет машинного обучения . . . . . . . . . . . . .
4 1.1.2
Обучение функциональным зависимостям . . . . . .
4 1.1.3
Способ описания объектов . . . . . . . . . . . . . . .
5 1.1.4
Пример задачи машинного обучения . . . . . . . . .
6 1.1.5
Виды задач машинного обучения . . . . . . . . . . .
7
Задачи классификации . . . . . . . . . . . . . . . . .
7
Задачи регрессии
8
Задачи ранжирования . . . . . . . . . . . . . . . . . .
8 1.2
Модели машинного обучения . . . . . . . . . . . . . . . . . .
8 1.2.1
Понятие модели обучения
8 1.2.2
Примеры предсказательных моделей . . . . . . . . .
9
Линейная предсказательная модель . . . . . . . . . .
9
Предсказательная модель в виде нейронной сети . .
9 1.2.3
Алгоритмы обучения . . . . . . . . . . . . . . . . . .
12 1.3
Проблема переобучения . . . . . . . . . . . . . . . . . . . . .
14 1.4
Основные этапы решения задач машинного обучения . . . .
15 2
Элементарные методы и алгоритмы машинного обучения 16 2.1
Линейно разделимые выборки . . . . . . . . . . . . . . . . .
16 2.2
Алгоритм обучения Розенблатта . . . . . . . . . . . . . . . .
19 2.2.1
Описание алгоритма обучения Розенблатта . . . . .
20 2.2.2
Завершаемость алгоритма Розенблатта . . . . . . . .
21 2.2.3
Модификации алгоритма Розенблатта . . . . . . . .
23 2.3
Метод градиентного спуска . . . . . . . . . . . . . . . . . . .
23 2.3.1
Понятие градиентного спуска
23 2.3.2
Описание метода градиентного спуска . . . . . . . .
24 2.3.3
Модификации метода градиентного спуска . . . . . .
27
Метод стохастического градиента . . . . . . . . . . .
27
Регуляризация . . . . . . . . . . . . . . . . . . . . . .
28 2

2.4
Метод обратного распространения ошибки для обучения нейронных сетей . . . . . . . . . . . . . . . . . . . . . . . . .
29 2.4.1
Идея метода . . . . . . . . . . . . . . . . . . . . . . .
29 2.4.2
Описание метода . . . . . . . . . . . . . . . . . . . . .
30 2.4.3
Достоинства и недостатки метода . . . . . . . . . . .
32 2.5
Метод опорных векторов . . . . . . . . . . . . . . . . . . . .
33 2.5.1
Оптимальность аппроксимирующих функций . . . .
33 2.5.2
Построение оптимальной разделяющей гиперплос- кости для строго линейно разделимой выборки . . .
35
Описание задачи . . . . . . . . . . . . . . . . . . . . .
35
Метод решения оптимизационной задачи . . . . . . .
37
Применение метода . . . . . . . . . . . . . . . . . . .
44 2.5.3
Построение оптимальной разделяющей гиперплос- кости по зашумленной выборке . . . . . . . . . . . .
47 2.6
Ядерный метод машинного обучения . . . . . . . . . . . . .
51 2.6.1
Спрямляющие пространства . . . . . . . . . . . . . .
51 2.6.2
Примеры ядер . . . . . . . . . . . . . . . . . . . . . .
55 2.6.3
Каноническое гильбертово пространство, определя- емое ядром . . . . . . . . . . . . . . . . . . . . . . . .
57 2.7
Задача регрессии . . . . . . . . . . . . . . . . . . . . . . . . .
60 2.7.1
Линейная регрессия . . . . . . . . . . . . . . . . . . .
60 2.8
Метрическая модель обучения
63 2.8.1
Понятие метрики
63 2.8.2
Метод ближайших соседей . . . . . . . . . . . . . . .
64 2.8.3
Метод окна Парзена . . . . . . . . . . . . . . . . . . .
65 2.8.4
Метод потенциалов . . . . . . . . . . . . . . . . . . .
66 2.8.5
Метод эталонов
67 2.9
Вероятностные модели обучения . . . . . . . . . . . . . . . .
68 2.9.1
Дискретная вероятностная модель обучения . . . . .
68 2.9.2
Оптимальные аппроксимирующие функции . . . . .
69 2.9.3
Построение АФ по обучающей выборке . . . . . . . .
72 2.9.4
Непрерывная вероятностная модель обучения . . . .
72 2.9.5
EM-алгоритм . . . . . . . . . . . . . . . . . . . . . . .
76
Число 𝑘 компонентов смеси известно . . . . . . . . .
77
Число компонентов смеси неизвестно . . . . . . . . .
79 3

Глава 1
Задачи и модели машинного обучения
1.1
Задачи машинного обучения
1.1.1
Предмет машинного обучения
Машинное обучение (Machine Learning, ML) – это раздел теории искусственного интеллекта, предметом которого является поиск методов решения задач путем обучения в процессе решения сходных задач.
Для построения таких методов используются средства алгебры, ма- тематической статистики, дискретной математики, теории оптимизации,
численных методов, и других разделов математики.
1.1.2
Обучение функциональным зависимостям
Одно из направлений ML связано с задачами следующего вида: имеются
∙ множество 𝑋 объектов, и
∙ множество 𝑌 ответов.
Предполагается, что существует функциональная зависимость
𝑓 : 𝑋 → 𝑌
между объектами и ответами, но она неизвестна. Известна лишь совокуп- ность 𝑆 пар вида (объект, ответ), называемая обучающей выборкой
(training sample):
𝑆 = {(𝑥
𝑖
, 𝑦
𝑥
𝑖
= 𝑓 (𝑥
𝑖
)) ∈ 𝑋 × 𝑌 | 𝑖 = 1, . . . , 𝑙}.
4

Требуется найти приближенный вид этой 𝑓 путем построения аппрок- симирующей функции (АФ) 𝑎
𝑆
: 𝑋 → 𝑌 (decision function), такой,
что
∀ 𝑥 ∈ 𝑋
𝑎
𝑆
(𝑥) ≈ 𝑓 (𝑥).
1.1.3
Способ описания объектов
Объекты в ML могут иметь самую различную природу: это могут быть люди, животные, растения, страны, организации, сайты, столы, стулья,
изображения, фильмы, и т.д.
Один из способов описания объектов в форме, пригодной для реше- ния описанных выше задач ML имеет следующий вид:
∙ задается множество ℑ признаков объектов (features),
∙ каждому признаку 𝑖 ∈ ℑ сопоставляется множество 𝐷
𝑖
значений этого признака, и
∙ каждому объекту 𝑥 ∈ 𝑋 и каждому признаку 𝑖 ∈ ℑ сопоставляется значение 𝑥
𝑖
𝑖–го признака на объекте 𝑥.
Множество признаков объектов определяется решаемыми задачами
ML. Адекватный выбор этого множества для каждой конкретной задачи
ML – нетривиальная проблема, от правильного решения которой суще- ственно зависит успех в решении этой задачи ML.
Каждый признак 𝑖 ∈ ℑ имеет определенный тип. Ниже мы пере- числяем некоторые из таких типов и указываем соответствующие им множества значений 𝐷
𝑖
:
∙ бинарный: 𝐷
𝑖
= {−1, 1} или {0, 1},
∙ номинальный: 𝐷
𝑖
– конечное множество,
∙ порядковый: 𝐷
𝑖
– конечное линейно упорядоченное множество,
∙ количественный: 𝐷
𝑖
= R (множество действительных чисел).
Для удобства мы будем предполагать, что
∙ множество ℑ признаков является конечным, его элементам сопо- ставлены натуральные числа 1, . . . , 𝑛, которые мы будем отождеств- лять с соответствующими им признаками, и
∙ значениями каждого признака являются действительные числа.
5

Описание объекта 𝑥 ∈ 𝑋 относительно множества {1, . . . , 𝑛} при- знаков – это кортеж (𝑥
1
, . . . , 𝑥
𝑛
) значений каждого из признаков 1, . . . , 𝑛.
Т.к. по предположению ∀ 𝑖 = 1, . . . , 𝑛
𝑥
𝑖
∈ R, то описание объекта 𝑥
можно рассматривать как элемент векторного пространства R
𝑛
Напомним, что R
𝑛
состоит из всех векторов размерности 𝑛, т.е. по- следовательностей вида (𝛼
1
, . . . , 𝛼
𝑛
), где ∀ 𝑖 = 1, . . . , 𝑛 𝛼
𝑖
∈ R, операции сложения на данных последовательностях и умножения их на действи- тельные числа определяются стандартным образом:
(𝛼
1
, . . . , 𝛼
𝑛
) + (𝛼

1
, . . . , 𝛼

𝑛
)
def
= (𝛼
1
+ 𝛼

1
, . . . , 𝛼
𝑛
+ 𝛼

𝑛
),
𝛼(𝛼
1
, . . . , 𝛼
𝑛
) = (𝛼
1
, . . . , 𝛼
𝑛
)𝛼
def
= (𝛼𝛼
1
, . . . , 𝛼𝛼
𝑛
).
1.1.4
Пример задачи машинного обучения
В этом пункте мы приведем пример одной задачи ML и связанного с ней описания объектов. Данная задача называется задачей кредитно- го скоринга. Объектами в ней являются заявки на выдачу кредита в некотором банке, а ответами – элементы множеста {−1, 1}. Для каждого объекта 𝑥 ответ 𝑓 (𝑥) интепретируется как решение банка:
∙ ответ «1»: выдать кредит по заявке 𝑥,
∙ ответ «−1»: отказать в удовлетворении заявки 𝑥.
Решение банка по удовлетворению заявки является правильным, если
∙ клиент, подавший эту заявку, и получивший кредит, вернет его в должный срок, или
∙ клиент, которому было отказано в удовлетворении заявки 𝑥, в слу- чае получения этого кредита с высокой вероятностью может не вер- нуть его в должный срок.
Известно множество 𝑆 = {(𝑥
𝑖
, 𝑦
𝑥
𝑖
) | 𝑖 = 1, . . . 𝑙} где ∀ 𝑖 = 1, . . . 𝑙
∙ 𝑥
𝑖
– некоторая заявка на выдачу кредита,
∙ 𝑦
𝑥
𝑖
– решение банка по этой заявке, которое является правильным.
Требуется обучиться функции 𝑎
𝑆
, вычисляющей по каждой новой за- явке правильное решение. Данную задачу можно решать методами ML,
в которой 𝑆 рассматривается как обучающая выборка.
Каждый объект в этой задаче связан с некоторым клиентом, и при- знаки объекта могут иметь вид различных характеристик этого клиента.
Например, могут быть выбраны следующие признаки:
6

∙ бинарные: пол, наличие постоянной работы, и т.д.
∙ номинальные: место проживания, профессия, работодатель и т.д.
∙ порядковые: образование, должность и т.д.
∙ количественные: возраст, зарплата, стаж работы, доход семьи, сум- ма кредита и т.д.
Описанная выше задача ML может допускать различные обобщения.
Например, можно обучаться не только нахождению правильных реше- ний банка, но и например оценке вероятности дефолта клиента (т.е. воз- никновения ситуации, когда клиент, получивший кредит, не вернет его в должный срок).
1.1.5
Виды задач машинного обучения
Задачи классификации
Изложенная в предыдущем пункте задача ML является примером задач классификации. В задачах данного вида
∙ множество ответов 𝑌 является конечным,
∙ каждый ответ 𝑦 ∈ 𝑌 соответствует некоторому классу объектов, и
∙ задача ML заключается в вычислении по каждому объекту соот- ветствующего ему класса.
В описанной в предыдущем пункте задаче рассматривается класси- фикация с двумя классами объектов. Другой пример задач классифи- кации с двумя классами: объектами являются посетители поликлиники,
требуется по признакам посетителя дать ответ: болен он, или нет.
Могут быть задачи классификации с числом классов более двух, на- пример
∙ задача распознавания рукописных букв русского языка, в данном случае 𝑌 = {а, . . . , я},
∙ пусть 𝑀 – некоторое множество болезней, 𝑋 – множество пациен- тов поликлиники, для которых требуется диагностировать набор болезней, которыми они болеют, в данном случае классы соответ- ствуют наборам болезней: 𝑌 = 𝒫(𝑀 ).
7

Задачи регрессии
В задачах регрессии множество ответов 𝑌 имеет вид R или R
𝑚
. Задачи данного типа как правило связаны с прогнозированием (например, курса доллара, или курсов нескольких валют).
Задачи ранжирования
Задачи ранжирования возникают например в системах информационно- го поиска, или в рекомендательных системах. В данных задачах требу- ется по каждому объекту 𝑥 ∈ 𝑋 определить его приоритет в выдаче в качестве результата на некоторый запрос. Множество 𝑌 ответов здесь является конечным упорядоченным множеством, ∀ 𝑥 ∈ 𝑋 значение 𝑓 (𝑥)
представляет собой соответствующий приоритет.
1.2
Модели машинного обучения
1.2.1
Понятие модели обучения
Как правило, для решения задачи построения функции 𝑎
𝑆
: 𝑋 → 𝑌 по обучающей выборке 𝑆 выбирается некоторая модель обучения, состо- ящая из двух компонентов:
1. Первой компонентой модели обучения является функция
𝑎 : 𝑋 × 𝑊 → 𝑌
(1.1)
где 𝑊 – множество, элементы которого называются параметрами.
Искомая функция 𝑎
𝑆
ищется в виде
𝑎
𝑆
(𝑥) = 𝑎(𝑥, 𝑤),
(1.2)
где 𝑤 – фиксированный параметр. Функцию (1.1) иногда называют предсказательной моделью (predictive model).
2. Другой компонентой модели обучения является алгоритм обуче- ния, который представляет собой алгоритм поиска такого значения
𝑤, для которого функция 𝑎
𝑆
, определяемая соотношением (1.2), об- ладает некоторыми свойствами оптимальности. Более подробно об свойствах оптимальности функции 𝑎
𝑆
см. в пункте 1.2.3.
8

1.2.2
Примеры предсказательных моделей
Линейная предсказательная модель
В линейной предсказательной модели множество 𝑊 параметров имеет вид R
𝑛
, где 𝑛 – число признаков объектов, т.е. каждый параметр
𝑤 представляет собой вектор действительных чисел 𝑤 = (𝑤
1
, . . . , 𝑤
𝑛
), и
∙ в задачах регресии и ранжирования 𝑌 = R, и
𝑎(𝑥, 𝑤) = ⟨𝑥, 𝑤⟩
def
=
𝑛
∑︁
𝑖=1
𝑥
𝑖
𝑤
𝑖
(число ⟨𝑥, 𝑤⟩ называется скалярным произведением 𝑥 и 𝑤),
∙ в задачах классификации 𝑌 = {−1, 1}, и
𝑎(𝑥, 𝑤) = 𝑠𝑖𝑔𝑛(⟨𝑥, 𝑤⟩),
где 𝑠𝑖𝑔𝑛 – функция знака, она сопоставляет неотрицательным числам значение 1, а отрицательным – значение −1.
Если какая-либо задача ML не решается в некоторой линейной моде- ли, то для решения этой задачи можно попытаться расширить исходную линейную модель путем добавления новых признаков, получаемых из уже имеющихся признаков. Например, можно добавлять
∙ комбинации признаков (их произведение, и т.п.),
∙ функции от признаков, и т.д.
Предсказательная модель в виде нейронной сети
В современных технологиях машинного обучения очень популярны пред- сказательные модели, основанные на нейронных сетях.
Данные модели используют преобразователи информации, являющи- еся аналогами биологических нейронов. Структура биологического ней- рона изображена на следующей картинке:
9

Преобразование информации в нейроне происходит в его центральной части (называемой телом), от которой отходят отростки двух типов:
∙ дендриты, по ним поступают входные сигналы, будем считать дендриты занумерованными натуральными числами 1, . . . , 𝑛,
∙ аксон, отросток такого типа ровно один, по нему проходит выход- ной сигнал.
Схема работы нейрона имеет следующий вид: с каждым из дендритов связано некоторое неотрицательное действительное число, называемое весовым коэффициентом (или просто весом). Обозначим записью
𝑤
1
, . . . , 𝑤
𝑛
список весов, соответствующих каждому из дендритов (∀ 𝑖 =
1, . . . , 𝑛 дендриту номер 𝑖 соответствует вес 𝑤
𝑖
). Кроме того, с нейроном связано число 𝑤
0
≥ 0, называемое порогом возбуждения.
Сигналы, поступаемые в нейрон по дендритам, являются электриче- скими импульсами различной интенсивности. Обозначим записью 𝑥
1
, . . .,
𝑥
𝑛
список интенсивностей сигналов, поступивших в текущий момент по каждому из дендритов (∀ 𝑖 = 1, . . . , 𝑛 𝑥
𝑖
– интенсивность сигнала, посту- пившего на нейрон номер 𝑖). Данные сигналы вызывают в центральной части нейрона электрический импульс интенсивности
𝑛
∑︀
𝑖=1
𝑥
𝑖
𝑤
𝑖
, и
∙ если интенсивность этого импульса превышает порог возбуждения нейрона 𝑤
0
, то нейрон выпускает по аксону выходной сигнал неко- торой интенсивности,
10

∙ иначе по аксону выходной сигнал не выпускается (мы будем счи- тать, что в этом случае по аксону выпускается выходной сигнал нулевой интенсивности).
Нейрон можно рассматривать как преобразователь числовой инфор- мации: на его вход поступает кортеж действительных чисел (𝑥
1
, . . . , 𝑥
𝑛
),
на выход он выдает число 𝑎, определяемое соотношением
𝑎 = 𝜎
(︁
𝑛
∑︁
𝑖=1
𝑥
𝑖
𝑤
𝑖
− 𝑤
0
)︁
где 𝜎 – функция (называемая функцией активации), сопоставляющая неотрицательным числам значение 1, и отрицательным числам – значе- ние 0. Функционирование нейрона изображается диаграммой
Ниже мы будем называть нейронами не только биологические ней- роны, но также и произвольные преобразователи числовой информации,
работающие по описанному выше принципу.
Функция активации (𝜎) в нейронах может иметь не только описанный выше вид, но также и другой вид, например:
∙ сигмоида: 𝜎(𝑥) =
1 1+𝑒
−𝑥
, или th(𝑥),
∙ ReLU: 𝜎(𝑥) = 0 при 𝑥 < 0, и 𝜎(𝑥) = 𝑥 при 𝑥 ≥ 0.
Нейроны можно объединять в более сложные преобразователи число- вой информации, называемые многослойными нейронными сетями.
В этих сетях сигналы, выдаваемые на выходах одних нейронов поступа- ют на входы других нейронов. При этом допускается, что один и тот же сигнал с выхода какого-либо нейрона может параллельно подаваться на входы нескольких нейронов.
Приводимая ниже диаграмма является схематическим изображением двуслойной нейронной сети:
11

Понятие многослойной нейронной сети является основой для мето- дов глубокого обучения (deep learning), которые являются предме- том большого количества теоретических и прикладных исследований и коммерческих разработок, но в данном курсе рассматриваться не будут.
  1   2   3   4   5   6   7   8


написать администратору сайта