100.65K
Category: informaticsinformatics

Линейные модели (ТСОД)

1.

Линейные модели
Главное, что нужно знать о линейных моделях, - они строят линии (плоскости) в многомерном
пространстве
y ≈ 5 ∗ x + 6
Соответственно, они предсказывают либо число, либо делят плоскость на полуплоскости,
благодяря чему можно предсказывать класс
Но в этом их минус: они не могут предсказывать нелинейные зависимости
То есть: линейные модели предполагают, что между признаковыми описаниями объектов
(features, фичи, (x , x , . . . , x )) и ответами (tartgets, таргеты, предсказываемые значения, y)
существует линейная зависимость
0
1
n
Но почему они нам так интернесны?
простая модель
исследованные методы
обоснованы статистически
интерпретируемы
и главное: являются строительным блоком для моделей глубокого обучения (нейросетей)
Линейная регрессия
В данному подразделе мы остановимся на задаче восстановление регрессии:
предсказывемые значения (ответы) равномощны множеству действительных чисел Y = R
Модель линейной регрессии, о которой мы будем дальше говорить, является частным случаем
линейных моделей машинного обучения
Пусть каждому объекту x из набора данных соответствует признаковое описание:
(x 1 , x 2 , . . . , x n )
, где x ∈ R
i
Моделью линейной регрессии называется линейная комбинация признаков с параметрами
(коэффициент, весами) w ∈ R
n
g(x, w) = w 1 x 1 + w 2 x 2 +. . . +w n x n
n
g(x, w) = ∑ w i x i
i=1
n
g(x, w) = ∑ w i x i + w 0
i=1
В данном случае, наша задача: подобрать парметры (веса, коэффициенты) на основе
обучающей выборки так, чтобы минимизировать ошибку на тестовой выборке
Матричное представление
Введем для дальнейшего удобства матричное представление набора данных и параметров
модели:
– матрица объекты признаки, где
i – номер объекта,
X = (x ij ) m×n
– число объектов,
j – номер признака,
m

2.

– число признаков
n
– целевой вектор-столбец, где
y – ответ (таргет, целевое значение) для объекта X ,
y = (y i ) m×1
i
i
- вектор-столбец параметров (весов), где
w – вес j-го признака
w = (w j ) n×1
j
Как будем мерить ошибку? метод наименьших квадратов
Метод наименьших квадратов
L(w, X i ) = (g(w, X i ) − y i )
2
= ∥g(w, X i ) − y i ∥
m
2
m
Q(w, X) = ∑ (g(w, X i ) − y i )
2
= ∑ ∥g(w, X i ) − y i ∥
i=0
2
i=0
Если представить признаковые описания, параметры и ответы в виде матриц, то метод примет
следующий вид:
Q(w, X) = ∥X ⋅ w − y∥
2
Обучение модели по методу наименьших квадратов состоит в том, чтобы найти вектор
параметров w , при котором достигается минимум Q(w, X) на обучающая выборка

Почему именно этот метод?
хорошо берётся производная
теорема Гаусса-Маркова
Аналитическое решение
Есть:
размеченный набор данных
модель машинного обучения
функционал качества
Какой же будет метод обучения? Т.е. как искать коэффициенты
Тот, кто помнит регрессионный анализ, точно скажет, что эту задачу можно решить
аналитически: математическими преобразованиями вычислить параметры и в явном виде
вывести функциональную зависимость признакового описания объектов и предсказываемого
значения.

Q (w) = 2X
T
(Xw − y) = 0
Система X Xw = x y называется нормальная система. Известно большое число численных
T
T
методов для решения нормальной системы. Наболее популярный сингулярное разложение. Но
мы будем решать в явном виде.
w
, где (X X)
T
−1
X
T
= X
+

= (X
T
X)
−1
X
T
y
- псевдообратная матрица
Замечание: если матрица признаков была бы квадратной, то можно бы было обойтись без
псевдообратной матрицы:
w = X
Какие минусы аналитического подхода:
−1
Y

3.

вырожденная матрица X X
T
возможно даже не вырожденная, но определитель на столько близок к нулю, что
машинная точность округляет в ноль (мультиколлинеарность, матрица плохо
обусловлена)
следствие первой проблемы: возрастание модуля коэффициентов
Как будем решать?
Регуляризация
Вернёмся к нашей функции ошибок и модернизируем её:
m
Q(w, X) = ∑ ∥g(w, X i ) − y i ∥
2
+ α‖w‖ 2
i=0
w

= (X
T
X + αI n )
−1
X
T
y
Описанный выше подход называется регуляризация, а конкретно данная реализация для
линейной регрессии гребневая регрессия (сжатие)
Теперь матрица хорошо обращается, модули параметров не взрываются, но обращение
матрицы всё равно затратная операция, особенно на больших наборах данных
Не будет лишним отметить, что теперь у нас появился множитель α, который в рамках моделей
машинного обучения принято называть гиперпараметр. Поиск значения гиперпараметров
является отдельной задачей и мы об этом ещё поговорим в конце лекции.
Существует ещё один вид регуляризации лассо регрессия и их композиция elastic net, которые
мы рассмотрим на ПЗ
Есть ещё один метод обучения
Метод градиентного спуска
градиентный спуск
Теперь немного порисуем (пример со склоном)
Ограничение: функция должна быть дифференцируема
С градиентным спуском, также как и с линейными моделями: на нём работают все
современные модели
Линейная классификация
Как предсказывать числа, вроде, понятно. Но как же быть с классификацией?
Если обученную модель линейной регрессии приравнять к нулю, то получится плоскость в
многомерном пространстве. В зависимости от того, по какую сторону от плоскости находится
объект, присваивается метка класса.
Функцию потерь можно определить, как число ошибок.
Но нам этого недостаточно, так как хочется понимать, на сколько наш алгоритм ошибается на
одном объекте. Как поступим?
Отступ (margin)
M i (w) = y i g(X i , w)

4.

определение отступа из Воронцова
[M i ⩽ 0] = {
1, if M i ⩽ 0
0, if M i > 0
m
Q M = ∑ [M i ⩽ 0] → min
w
i=0
Класс, но функция не дифференцируема.
Идеи?
Аппроксимация функции потерь
m
m
Q M = ∑ [M i ⩽ 0]
~
Q = ∑ L(M i )

i=0
i=0
Нам приходит на помощь аппроксимация. Среди всех приведённых функций, мы будем
пользоваться сигмоидой.
Сигмоида
1
σ(z) =
1 + e
−z
Теперь у нас хорошо берётся производная
Логистическая регрессия
логистическая регрессия
1
g(x, w) =
1 + e
−⟨w,x⟩
= y prob
Функция потерь для логистической регрессии
m
Q(w, X) = − ∑ y i log p i + (1 − y i ) log(1 − p i ) → min
w
i=0
1

Q (w) = (
1 + e
−⟨w,X i ⟩
− y)X i
Этот момент мы в данной лекции не успеем хорошо рассмотреть. Объясню лишь, что здесь
напиано и как трактовать.
Мультиклассовая классификация
сказать пару слов про то, что делать, когда классов больше двух
Оценка алгоритма
Если всмомним, первую половину лекции, а именно: что такое модель машинного обучения, то
на модель нет таких ограничений, чтобы она не могла просто запомнить все вопросы и ответы
Описанное выше называется переобучение и ранее мы уже сказали, что для его
предотвращения, нужно поделить набор на две части:
обучающая выборка
тестовая выборка
Кроссвалидация

5.

кроссвалидация, если останется время
English     Русский Rules