- •Что такое машинное обучение
- •Искусственный интеллект
- •Иерархия задач машинного обучения
- •Вопросы для самоконтроля и контроля
- •Практические задания
- •Список источников
- •Принцип машинного обучения
- •Модели машинного обучения
- •Классы задач машинного обучения
- •Принцип решения задач обучения с учителем (supervised learning)
- •Регрессионный анализ
- •Классификация объектов
- •Вопросы для самоконтроля и контроля
- •Практические задания
- •Список источников
- •Классы задач машинного обучения
- •Обучение без учителя (unsupervised learning)
- •Задачи кластеризации объектов
- •Задачи снижения размерности описания объектов
- •Задачи поиска правил, описывающих закономерности в описании объектов
- •Обучение с подкреплением (Reinforcement Learning)
- •Библиотеки и фреймворки машинного обучения
- •Вопросы для самоконтроля и контроля
- •Практические задания
- •Список источников
- •Постановка задачи построения линейной регрессии
- •Решение задачи. Нормальная система уравнений
- •Пример построения линейной регрессии
- •Пример неустойчивости метода НК
- •L2-регуляризация
- •L1-регуляризация
- •Вопросы для самоконтроля и контроля
- •Практические задания
- •Список источников
< |
— |
> |
Рис. 3: Изменение массы смеси во времени; точки обозначают измеренные нами экспериментальные данные
Сгенерируем данные об изменении массы смеси в растворе в заисимости от времени (измерения делаем каждую минуту) с небольшими отклонениями (см. рис. 3)
Попробуем восстановить модель:
( ) = 0 * (− 0 * ) + 1 * (− 1 * ) + ... + 4 * (− 4 * )
Найдем ее коэффициенты методом НК. Результат будет такой: Реальные массы компонент: [3. 2. 5. 0. 0.] Полученные массы компонент: [ 4.27 -5.12 15.22 -6.6 2.25]
Так как масса не может быть отрицательной, то обнуляем отрицательные массы: acoefs[acoefs < 0] = 0
Проанализируем полученную линейную регрессию (см. рис. 4): MSE=32.073, MAE=4.632.
Видим, что небольшие ошибки наблюдения могут привести к совершенно неприемлемому результату.
Попробуем регуляризировать задачу - сформулируем доп. ограничение.
5L2-регуляризация
Мы видели из примера, что небольшие ошибки в значениях выходного параметра приводят к резким изменениям коэффициентов модели и к неоправданному росту их значений.
Введем штраф за увеличение абсолютных величин параметров модели - нормы вектора и
добавим его к минимизируемой функции:
(МНК + 2) || * − ||22 + * || ||2 → .
« |
9 |
» |
< |
— |
> |
Рис. 4: Сравнение истинной (зеленый пунктир) и найденной регрессионной зависимости с использованием МНК (синяя сплошная)
Если мы продифференцируем данную функцию по и, приравняем к нулевому вектору, то получим такую систему уравнений, которая равносильна задаче (МНК+L2):
( + 2) ( * + * ) * = *
——–
Здесь - это единичная матрица размера m*m, где m - количество базисных функций (коэффициентов) модели.
Добавление к ковариационной матрице * единичной матрицы, умноженной на *параметр регуляризации* формирует диагональ матрицы коэффициентов нормальной системы или "гребень"матрицы, что улучшает устойчивость решения. Поэтому такой метод иногда называется "гребневой регрессией". А такой способ повышения устойчивости задачи по отношению к погрешности исходных данных называется 2 - регуляризацией (так как добавляется квадрат нормы).
Вернемся к задаче из примера 4.1 и попробуем для её решения применить гребневую регрессию. При значении параметр регуляризации = 0.05 получим следующий результат:
Реальные массы компонент: [3. 2. 5. 0. 0.] Полученные массы компонент: [ 2.93689911 3.06835241 2.79970786 1.42824622 -0.3146425 ]
Обнулим отрицательную массу последнего компонента и оценим точность полученной модели:
= 0.060, = 0.238
Видим, что в этом случае мы имеем более реальный результат (см. рис. 5).
« |
10 |
» |
< |
— |
> |
Рис. 5: Сравнение истинной (зеленый пунктир) и вычисленной регрессионной зависимости с использованием L2-регуляризации (синяя сплошная)
6L1-регуляризация
Рассмотрим другой метод регуляризации - метод Лассо (LASSO - Least Absolute Shrinkage and Selection Operator) или 1 - регуляризацию. Данный вид регуляризации позволяет регулировать состав базисных функций - обнуляются те коэффициенты модели, базсиные функции которых не имеют достаточного влияния на результат.
Введем ограничение на абсолютные величины коэффициентов модели:
|| * − |
|
||2 → |
; |
||
|
|
|
2 |
|
|
|
|
6 |
; |
|
|
|
|
| | |
|
|
|
|
|
|
|
|
|
∑ |
|
|
|
|
|
|
=1 |
|
|
|
|
|
|
|
|
|
|
эквивалентна задача поиска минимума критерия (при соот- |
|||||
Можно считать, что этой задаче |
|
|
|
|
|
ветствующем параметре регуляризации ): |
|
|
|
|
(МНК + 1) || * − ||22 + * || ||1 → .
Поэтому такой способ регуляризации называют 1 - регуляризацией.
Интересно, что этот способ регуляризации приводит к отбору признаков - стурктуры модели, т.е. при уменьшении параметра все больше коэффициентов модели обнуляется, т.е. из модели убираются соответствующие базисные функции.
Продемонстрируем это на нашем примере.
При значении параметра регуляризации = 0.001 получим следующий результат: Реальные массы компонент: [3. 2. 5. 0. 0.] Полученные массы компонент: [1.22 5.53 2.93 0.32 0. ]
Впервые мы получили результат без отрицательных масс. Оценим точность полученной моде-
ли:
« |
11 |
» |
< |
— |
> |
Рис. 6: Сравнение истинной (зеленый пунктир) и вычисленной регрессионной зависимости с использованием L1-регуляризации (синяя сплошная)
= 0.002, = 0.03
Но также видим, что несмотря на хорошее приближение (см. рис. 6) структура модели отличается от реальной и найденные составы компонентов далеки от реальных. Тем не менее данный метод регуляризации может дать хорошие результаты, если мы увеличим количество экмпериментальных данных (будем делать пробы каждые полминуты, а не каждую минуту) или улучшим точность оценки концентрации.
Более подробный материал вы можете найти в открытом онлайн-курсе [1].
7Вопросы для самоконтроля и контроля
1.Какие данные необходимы для обучения регресионной модели? Опишите модель данных.
2.Какой вид имеет линейная регрессионная зависимость?
3.Какой критерий оптимизации (качества аппроксимирующей функции) используется при подборе коэффициентов в методе наименьших квадратов (МНК)?
4.С какими проблемами можно столкнуться при использовании МНК?
5.Что такое L2-регуляризация?
6.Какой метод построения регрессионной зависимости называется гребневым?
7.Что такое L1-регуляризация? Чем она отличается от L2-регуляризации?
« |
12 |
» |