27
Введение в Data Science Занятие 2. Линейные модели Николай Анохин Михаил Фирулик 10 марта 2014 г.

L3: Линейная и логистическая регрессия

Embed Size (px)

DESCRIPTION

L3: Линейная и логистическая регрессия

Citation preview

Page 1: L3: Линейная и логистическая регрессия

Введение в Data ScienceЗанятие 2. Линейные модели

Николай Анохин Михаил Фирулик

10 марта 2014 г.

Page 2: L3: Линейная и логистическая регрессия

Где мы находимся (глобально)

Page 3: L3: Линейная и логистическая регрессия

Где мы находимся (локально)

M Выдвигаем гипотезу насчет модели - семействапараметрических функций вида

Y = {y(x , θ) : X ×Θ→ T},

которая могла бы решить нашу задачу (model selection)L Выбираем наилучшие параметры модели θ∗, используя

алгоритм обучения

A(X,T) : (X ,T )N → Y

(learning/inference)D Используя полученную модель y∗(x) = y(x , θ∗),

классифицируем неизвестные объекты (decision making)

Page 4: L3: Линейная и логистическая регрессия

Как выбрать параметры модели?

Решить задачу оптимизации, чтобы получить значения θ∗

Варианты подходовI θ – фиксировано, но неизвестно: ищем θ, согласующееся с

обучающей выборкойI θ – случайная величина, распределенная по известному закону:

ищем параметры распределения

Page 5: L3: Линейная и логистическая регрессия

Обобщенные линейные модели

Метод максимального правдоподобия

Байесовский вывод

Page 6: L3: Линейная и логистическая регрессия

8 марта (is coming)

Setosa Versicolor VirginicaЗадачаОпределить вид ириса на основании длины чашелистика, ширинычашелистика, длины лепестка и ширины лепестка.

Page 7: L3: Линейная и логистическая регрессия

Ирисы Фишера

Page 8: L3: Линейная и логистическая регрессия

Линейные модели

Рассматривается случай 2 классов

Функция принятия решения

y(x) = w>x + w0

Регионы принятия решения

R1 = {x : y(x) > 0}

R2 = {x : y(x) < 0}

Задачанайти параметры модели w, w0

Page 9: L3: Линейная и логистическая регрессия

Линейные модели: наблюдения

Разделяющая поверхность

D = {x : w>x + w0 = 0}

1. w – нормаль к D2. d = − w0

‖w‖ – расстояние отцентра координат до D

3. r(x) = y(x)‖w‖ – расстояние от D

до x

Положим x0 ≡ 1, получим модель

y(x̃) = w̃>x̃

Page 10: L3: Линейная и логистическая регрессия

Обобщенные линейные модели

Линейная модельy(x) = w0 +

∑wixi

Квадратичная модель

y(x) = w0 +∑

wixi +∑∑

wijxixj

Обобщенная линейная модель

g(x) =∑

aiφi (x) = a>y

Page 11: L3: Линейная и логистическая регрессия

Случай линейно разделимых классов

Обобщенная линейная модель

g(x) =∑

aiφi (x) = a>y

Дана обучающая выборка Y = {y1, . . . , yN}

ИдеяПреобразовать объекты второго класса в обратные им и решатьзадачу оптимизации в области aTyi > 0, ∀i

Page 12: L3: Линейная и логистическая регрессия

Задача оптимизации

ЗадачаМинимизируем критерий J(a) при условиях aTyi > 0, ∀iПусть Y – множество неправильно проклассифицированныхобъектов

I Je(a) =∑

y∈Y 1

I Jp(a) =∑

y∈Y −a>y

I Jq(a) =∑

y∈Y(a>y)2

I Jr (a) =∑

y∈Y(a>y)2−b‖y‖

Улучшение: добавить отступы

Page 13: L3: Линейная и логистическая регрессия

Градиентный спуск

1. initialise a, J(a), η(k), ε, k = 02. do k ← k + 13. a← a− η(k)∇J(a)4. until η(k)∇J(a) < ε5. return a5. end

Page 14: L3: Линейная и логистическая регрессия

Инкрементальный алгоритм

Рассматриваем Jr (a) =∑

y∈Y(a>y)2−b‖y‖

1. initialise a, η(k), k = 02. do k ← k + 1

3. if yk is misclassified a← a− η(k) (a>yk)2−b

‖yk‖2 yk4. until no errors left5. return a6. end

Page 15: L3: Линейная и логистическая регрессия

Случай линейно неразделимых классов

I Использовать η(k)→ 0 при k →∞I От системы неравенств перейти к системе линейных уравненийI Линейное программирование

Page 16: L3: Линейная и логистическая регрессия

Снова переобучение

Оптимизируем критерий с регуляризацией

J1(a) = J(a) + λJR(a)

λ – коэффициент регуляризации

JR(a) =∑|aj |q

Page 17: L3: Линейная и логистическая регрессия

Перцептрон: результаты

Page 18: L3: Линейная и логистическая регрессия

Метод максимального правдоподобия

ЗадачаДана обучающая выборка X. Предполагая, что распределение p(x|θ)известно, найти значения параметров θ.

Интуиция: найти такие θ, которые максимизируют вероятностьP(X|θ).

При предположении, что обучающие образцы независимы, имеем

P(X|θ) =∏

p(xi |θ)

Функция правдоподобия

l(θ) = logP(X|θ) =∑

log p(xi |θ)

Требуется найтиθ = arg max

θl(θ)

Page 19: L3: Линейная и логистическая регрессия

Нормальное распределение

p(x |µ) =1

σ√

2πe−

(x−µ)2

2σ2

ЗадачаДана выборка X объектов x , распределенных согласно одномерномунормальному закону N(µ, σ2). Используя принцип максимальногоправдоподобия, оценить значение µ при известном значении σ.

Page 20: L3: Линейная и логистическая регрессия

Вероятностная линейная модельРассматриваем 2 класса

p(C1|x) =p(x |C1)p(C1)

p(x |C1)p(C1) + p(x |C2)p(C2)=

1

1 + e−a= σ(a)

a = lnp(x |C1)p(C1)

p(x |C2)p(C2)

σ(a) – сигмоид-функция, a = ln(σ/(1− σ))

Упражнение: p(x|Ck) = N (µk ,Σ). Проверить, чтоp(Ck |x) = σ(w>x + w0)

Page 21: L3: Линейная и логистическая регрессия

(Еще более) обобщенная линеная модель

Базисные функции φn(x)

φn(x) = exp

[− (x − µn)2

2s2

]Функция активации f (a)

f (a) = σ(a)

(Совсем) обобщенная линейнаямодель

y(x,w) = f (w>φ(x))

Page 22: L3: Линейная и логистическая регрессия

Логистическая регрессия

дано{φn = φ(xn), tn}, tn ∈ {0, 1}, n = 1 . . .N

модельp(C1|φ) = y(φ) = σ(w>φ)

функция правдоподобия

l(w) = log

[N∏

n=1

ptn(C1|φn)(1− p(C1|φn))1−tn

]=

=N∑

n=1

tn log p(C1|φn) + (1− tn) log(1− p(C1|φn)) = −Je(w)

градиент

∇Je(w) =N∑

n=1

(p(C1|φn)− tn)φn → minw

Page 23: L3: Линейная и логистическая регрессия

Логистическая регрессия: результаты

Page 24: L3: Линейная и логистическая регрессия

Байесовский вывод

ДаноI плотность вероятности p(x|θ)

I априорная плотность p(θ)

I выборка X = {x1, . . . , xN}

Найтиапостериорную плотность p(θ|X)

p(x|X) =

∫p(x|θ)p(θ|X)dθ

p(θ|X) =p(X|θ)p(θ)∫p(X|θ)p(θ)dθ

p(X|θ) =∏n

p(xn|θ)

Page 25: L3: Линейная и логистическая регрессия

Мультиклассовая классификация

ЗадачаИспользовать бинарный линейный классификатор длямультиклассовой классификации Ирисов. Какие идеи?

Интерфейс классификатора clfI Использовать выборку x, y для обучения

clf.fit(x, y)I Предсказать класс объектов в x

y = clf.predict(x)I Предсказать вероятности классов для x

y = clf.predict_proba(x)I Вычислить значение функции решения в x

d = clf.decision_function(x)

Page 26: L3: Линейная и логистическая регрессия

Домашнее задание 1

Линейные моделиРеализовать на выбор

I Линейная классификация методом градиентного спускаI Линейная регрессия методом градиентного спускаI Линейная классификация инкрементальным методомI Линейная регрессия инкрементальным методом

Ключевые датыI До 2014/03/14 23.59 выбрать задачу и ответственного в группеI До 2014/03/21 00.00 предоставить решение задания

Page 27: L3: Линейная и логистическая регрессия

Спасибо!

Обратная связь