МАШИННОЕ ОБУЧЕНИЕ И АНАЛИЗ ДАННЫХ (machine...
TRANSCRIPT
МАШИННОЕ ОБУЧЕНИЕ
И АНАЛИЗ ДАННЫХ
(Machine Learning and Data Mining)
Н.Ю.Золотых
http://www.ui .unn.ru/~zny/ml
Лекция 8
Линейный и квадратичный дискриминантный анализ
8.1. Дискриминантный анализ
8.1.1. Линейный дискриминантный анализ (LDA)
Линейный дискриминантный анализ (LDA) делает два предположения:
• объекты каждого класса распределены по нормальному закону:
p(x | y) =1√
(2π)d detΣy
e−12(x−µy)
⊤Σ−1y (x−µy)
• матрицы ковариации Σ = Σy одинаковы для всех классов
В этих предположениях построим оптимальный (байесовский классификатор)
Нужно сравнить две апостериорные вероятности:
Pr (y | x) =p(x | y) Pr y
p(x)> Pr (y′ | x) =
p(x | y′) Pr y′
p(x)(∗)
Подставляя выражения для p(x | y) и p(x | y′) в (*) и логарифмируя:
p(x | y) =1√
(2π)d detΣy
e−12(x−µy)
⊤Σ−1y (x−µy)
Pr (y | x) =p(x | y) Pr y
p(x)> Pr (y′ | x) =
p(x | y′) Pr y′
p(x)(∗)
−1
2(x− µy)
⊤Σ−1(x− µy) + lnPr y > −1
2(x− µy′)
⊤Σ−1(x− µy′) + lnPr y′
Откуда (µy − µy′)⊤Σ−1x >
1
2µ⊤y Σ
−1µy −1
2µ⊤y′Σ
−1µy′ − lnPr y + lnPr y′
т. е. классы разделяет гиперплоскость w⊤x = c: w⊤x > c,где w = (µy − µy′)
⊤Σ−1, а c – некоторая константа.
Введем линейную дискриминантную функцию:
δy(x) = −1
2(x− µy)
⊤Σ−1(x− µy) +1
2x⊤Σ−1x + lnPr y = µ⊤
y Σ−1x−
1
2µ⊤y Σ
−1µy + lnPr y
Классификатор: f(x) = argmaxy
δy(x).
где ρ(x, x′) =√(x− x′)⊤Σ−1(x− x′) – это расстояние Махаланобиса.
На практике мы не знаем параметров нормального распределения, но можем оценить их по обучающей
выборке:
Pr (y) =Ny
N, µy = ∑
y(i)=k
x(i)
Ny, Σ =
1
N
K
∑k=1
∑y(i)=k
(x(i) − µk)(x(i) − µk)
⊤.
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1
01
23
x1
x 2
0.0 0.5 1.0 1.5
0.0
0.5
1.0
1.5
x1
x 2
Train error = 0.2Test error = 0.231Bayes error = 0.21
LDA
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
x1
x 2
8.1.2. Квадратичный дискриминантный анализ
Рассмотрим теперь
p(x |y) =1
(2π)d/2√
detΣy
e−12(x−µy)
⊤Σ−1y (x−µy),
не предполагая, что Σy равны между собой.
Проводя аналогичные рассуждения, придем к понятию квадратичной дискриминантной функции
δy(x) = −1
2ln detΣy −
1
2(x− µy)
⊤Σ−1y (x− µy) + lnPr (y)
Поверхность, разделяющая два класса y и y′ описывается уравнением 2-го порядка δy(x) = δy′(x).
LDA
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1
01
23
x1
x 2
QDA
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1
01
23
x1
x 2
LDA y = β0 + β1x1 + β2x2 + β12x1x2 + β11x21 + β22x
22
−1.5 −1.0 −0.5 0.0 0.5 1.0
−1
01
23
x1
x 2
LDA
0.0 0.5 1.0 1.5
0.0
0.5
1.0
1.5
x1
x 2
Train error = 0.2Test error = 0.231Bayes error = 0.21
QDA
0.0 0.5 1.0 1.5
0.0
0.5
1.0
1.5
x1
x 2
Train error = 0.195Test error = 0.208Bayes error = 0.21
LDA y = β0 + β1x1 + β2x2 + β12x1x2 + β11x21 + β22x
22
0.0 0.5 1.0 1.5
0.0
0.5
1.0
1.5
x1
x 2
Train error = 0.195Test error = 0.21Bayes error = 0.21
8.1.3. Другой взгляд на LDA (дискриминант Фишера)
Максимизация отношения межклассовой дисперсии к внутриклассовой эквивалентна LDA:
maxw
w⊤Bw
w⊤Ww
или
maxw
w⊤Bw при ограничении w⊤Ww = 1,
где
B =K
∑k=1
Nk(µk − µ)(µk − µ)⊤, W =K
∑k=1
∑y(i)=k
(x(i) − µk)(x(i) − µk)
⊤
Это эквивалентно обобщенной задаче на собственные значения:
Bw = λWw ⇔ W−1Bw = λw.
Решением является вектор w1, соответствующий максимальному значению λ1.
Можно найти вектор w2, ортогональный w1, на котором отношение Рэлея максимально и т. д.
Рукописные цифры. PCA d = 1024, k = 2
10 12 14 16 18
−5
05
z1
z2
00
00
00
00
0
0 00
0
000
0
0
0
00
0 00
0
0
0
0
0
0
00
0
00
0
00
0
0
0
00
00
0
00
0
00 00
0
00
0
0
0
0
0
0
00
0 0
0
00 0
00
0
0
00
0
00
0
0 0
0
0
0
00
0 00
0
00 00
0
0
00
0
00
000
0
0
0
0
0
0
00
00
0
0
00
0
00
0
00
00
0
0
000
00
00
0 00
00
0
0
0
0
0
0
00
00
0
0
0 00
00
0
0
0
00
00
0
0 0
00
000
0
00
0
0
0
00
0
00
0
0 0
00
1
1
1
1
1
11
1 11
11
11
1
1
1
1
1
1111
1
1 11 11
1 11
11
1
1
1 1
1
1 1
1
11
1
1
1
1
111
1
1
1
1 1
1
11 11
1 11
11
111
1
111
1
1
11
1
1
111
11
11
1
1 1
1 1
1
11
1
11
1
11
11
1
1
1
1 111
1
1
11
1
1
1
1
1
1
1
1 11
1
111
1
11
11
1
11
1
1 11
1
11
11
1
11
1
11
1
11
1
1
1
1
111
1
1
1
1
1
1
1
1
1
1
1
1
11
1 11 1
1
1
1
1
1
1
1
1
1
1
111
11
1
11
1
1
2
22 2 2
2
2
2
22
2
2
2
222
22
22
2
2
2 22
2
2
2 2
2
22
2
2
2
2
2
2
2222
2
22
22
22
2
2
2
22
22
22
2
2
22
2
222
222
22
22
2
2
2
2
2
2 2 22
2
2
2
22
2
2
22
2
2
2
22
2
22
2
2
22
22
22
2
22
2
222 2
22
2
222 2
2
2
2
2
22
2
2
22
22
2
2
2
222
2
2 22
2
2
2
2
2
2
22
2
22 22
22
2
2
22
2
222 2
2
22
2
2
22
2
2
2
2
2
2 22
2
2
2
2
2
2
22
22
2
2 3
3
3
33
333
33
3
3
3
3
3
333
33
3
3
3
33
3
3
33
3
3
3
3
33
3
333
3 333
3
33
3
3
3
33
3 3
33
3
3
3
333
3
33
3 3
3
3 3
3 3
3
3
3 33
33
3
33
33
3
3
3
33
3
3
3
33
3
3
33
33
3
333
3
3
33
33
3
3
33
3 3 333
3333
3
3
3
3
3
3
3
3
3
3
3
3
33
3
33
3
3
3
3
3
3
3
3
3
3 333
33
333 3
3
33
3
33
3
33
33
3
3
3
33333
3
3
3
333
33
3
3
3 3
33
33
3
3
33 3
3
44
444
4
4
4
4
4
444 4
4
4
44
4
4
4
4
4
4
4
44
4
4
4
4
4 4
4
4
44
4
4 4
4
4
4
4
44
44
44
4
44
4
4
44
4
4
4
4
4
44
4
4
4
4
4
4
4
4
4
4
44
4
4
44
4
4
4
4
4
4
4
4
4
4444
4
4
4
44
4
4
4
4 4
4
44
4
44
4
44
444
4
4
4
4
4
4
4
4
4
4
4
4
444 444 4
4
44
4
4
44
44
4
44
4
4
44
44
444
4
4
4
4
4
4
4
44
4
4
444
4
4
4
4
4
4
4
4
4
4
44 4
4
4
44
5
55
5
55
5
55
5
5
5
5
5
5
5
5
55
5
5 5
5
5
55 5
5
5
55
5
5
55
5
5
55
55
5
55
555
5
55 5
55 55
55
55 5
55
5
5
5
5
55
5 55
55
5
5
5
55
55
5
55
5
5
5
5
555
5
55
5
5
555
5
55
55
5
5
55
5
555
5
555
5 555
5
5
555
5 5
5
5
5
555 5
5
55
5
55
5
55
55
5
5
5
5
55
5
55 5
5
55
5
5
5
5
5
55 5
5
5
5
5
5
5
5
5
5
5
5
5
5 5
5
55
5
5
5
5
5
6
666
66 6
6 6
66
66
6
6
6
6 6
6
66 66 6
6
66
6
6 666
6
666
6666
6
66
6
6
666
6
66 666 6
66
66
66
66
6
6
6 6666
66
66
66
6 66
66
66
666
66
6
666
666
66
66
66
66 6
66
6
6
666
6
6 6666 6
6
6
6
66
666
6
6
6
6
66
6
6
6
6
666
6
6
66 666
6
6
6
6
66
66 6
666
6
66 6
6
6
6
6
66
6
66
6
66
6
6
6
6
66
66
66
66
66
66
6
6
6
6
6
77
7
7 7
7
7 7
7 7
7
77
77 7
7
7
77
7
77
7
7
7
77
7
77
77
7 7
7
7
7
7
7
7
7
7 77
7
77
77
7
7
7
7
7
77
77
77
7
7
7 7
77
77
7
7
7
7
7
77
7
77
777
7
77
77 77 7
7
777 7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
77
7
7
7
77
77
7
7
77
77
7
7
7 7
7
7 7
7
7
77 7
77 7
77
7 77
7
7
7
7
7 7
7
77
77
77
7
7
7
777
7
7 77
7
7
7
77
7
7
7
7
7 7
77
777
77
7
77
77
7
7
7
7
7
7 7
77
8
8 88
8
88
8
8
8
8
88
8
88
8
888
8
8
88 8
8
8
8
8
8
88
8
8
8
8
8
8
8
8
8
88
8
8 8
8
88
88
8
8 888
88 8
8
8
88
8
8
88
8
8
888
88
8
8
8
8
88
8
88 8
88
8
8
88
8
8
8 88
8
88
8
8
8
8
8
888
8
88
8
8
8
8
8
88
888
8 8
8
8
8
8 8
88
8
8
8
8
88
88
88
888
88
8888
8
88
8
88
8 88
8
8
8 8
8
8
8
88
88
8
8
88
88
8888
88
8
99
9
9
99
9
9
9
9
99
9
9
99
9
9 99
9
99
9
99
9
9
9
9
99
9
9
9
99
9
9
9
9
99
9
9
9
9
9
9
9 9
9
99
9
99 9
9
9 99 9
9 9
99
999
99
9
9
9
9
9
9
99
9
9
9
99
99
9 99
9 9
99
9
999
9
9
9
99
99
9
9 9
9
9
9
99
99
99
9
9
99
9
99 9
99 9
9
99 9
9
9
9
99
9
9
9
9
9
9
9
9
99
9
99
9
9
9
9
9
9
9
999
9
9
999 99
9
9
9
9
9
9
9
9
9
99
9
9
9
9 9
9
9
9
99
9
9
99
9
9
9
9
9
9
9
9
9
99
9
Рукописные цифры. LDA
−10 −5 0 5
−5
05
LD1
LD2 9
2
3
5
9
2
99
6
6
0
2
16
3
7
4
7
9
3
7
9
2
6
1
2
3
0
38
3
4
5
4
1
8
6
7
1
7
3
86
7
55
7
0
4
7
6
4
8
4
2
0
0
3
5
6
3
8
2
4
3
6
2
4
7
0
8
3
8
33
4
8
8
3
7
9
4
9
3
3
7
1
6
1
2
1
2
06
8
7
7
4
3
7
56 3
2
9
69
1
4
85
9
63
4
1
0
6
0
4
6 9
44
1
7
4
4
9
2
5
5
0
06
8
55
4
9
4
9
5
2
2
6
4
1
99
7
5
53
4
4
1
4
0
2
1
2
8
4
9
83
0
3
6
35
7
7
338
5
6
5
8
2
1
8
4
7
1
66
8
4
6 3
0
8
2
5
1
7
2
7
2
1
4
2
9
4
5
1
2
69
0
98
7
2
58
8 3
2
1
9
4
8
9
2
0
3
7
3
13
5
3
6
6
9
9
3
2
5
7
1
3
1
9
8 3
868
4
5
4
0
2
4
38
4
2
2
6
6
1
0
6
5
1
0
03
1
2
1
2
1
4
6 0
4
7
38
1
8
11
111
8
2
4
5
0
1
0
7
50
4
9 3
9
1
6
0
31
8
7
6
2
4
0
2
8
5
5
2
38
9
9
9
6
2
6 8
2
3
6
0
2
3
1
4
7
81
4
8
99
3
1
9 5
3
0
9
3
7
2
6
0
7
3
0
2
8
2
4
6 88 5
3
3
4
7
1
1
3
2
68
8
3
4
5
7
8
1
66
9
9
1 1
7
31
2
8
2 2
1
58
7
7
7
5
2
6
0
77
2
5
6
9
33
2
5
9
3
9
5
1
880
7
6
8
7
9
2
9
9
9
5
0
3
8
0
2
3
4
2
3
2
7
0
8
7
3
2
1
0
9
4 7
9
0
7
3
0
9
1
7
5
9
3
7
3
9
5
2
81
6
8
35 5
1
8
7
4
9
1
7
9
1
0
7
2
9
2
8
3
8
6
8
4
5
8
4
7
7
2
9
5
36
3
0
55
1
4
3
2
4
6
7
20
2
655
6
7
4
0
2
2
00
2
8
1
4
2
6
7
2
1
0
7
2
77
6
9
0 6
9
2
8
0
5
5
9
8
2
7
6
4
9
47
8
8
2
19
53
4
2
5
5
7
8
9
0
4
2
7
3
6
7
315
7
9
4
33
2
3
5
8
1
56
7
8
2
606
2
33
4
2
1
2
9
0
51
9
0
2
4
1
4
3
6 5
2 2
9
3
2
0
0
44
8
9
7
1
5
1
0
59
6
8
5
9
230
1
8
4
7
2
7
0
89
3
9
1
2
4
5
35
7
9
2
2
0
91
5
5
0
3
6
7
9
8
0
50
3
8
7 7
35
16
3
5
9
44
4
0
7
8
6
8
4 7
0
9
6
6
0
6 9
4
0
35
4
1
5
2
7
8
7
93
7
7
4
8
9
96
0
2
3
9
1
1
2
2
50
8
3
7
3
0 6 8
2
9
7
2
4
0
5
8
7
1
74
5
6
2
4
0
6
3
2
7
4
1
5 5
9
4
7
6
1
9
9
6
0
1
0
8
2
3
7
9
6
7
2
9
05
5
1
3
2
6
1
0
2
8
2
98
3
7
5
1
4
9
3
4
4
4
6
19 1
8
35
6
4
2
9
0
4
5
7
7
6
6
6
2
9
0
7
3
1
5
6
0
5
1
7
8 8
1
6
0
7
9
00
2
53
3
08
5
4
18
7
7
2
4
91
5
9
95
44
3
3
8
0
7
6
0
1
8
8
7
00
4
6
8
7
1
000
6
0
5
7
35
0
2
7
9
3
4
1
5
5
9
4
4
3
1
9
2
9
4
9
13
6
7
9
5
1
1
4
7
22
6
6
9
5
6
00
9
5
9
1
5
7
2
5
7
6
0
3
1
1
6
8
6
8
9
6
6
4
0
5
9
9
3
30
0
4
9
6
7
2
5
5
2
6
2
6
1
0
8
9
69
1
8 36
4
00
7
7
5
36
77
51
5
5
5
9
96 3
0
7
6 3
7
6
4
8 5
2
1
4
20
1
2
7
0
1
0
2
8
8
1
556
8
0
8
6
4
3
6
8
9
2
00
5 36
2
4
8
0
4
2
4
5
2
4
3
5
44
1
7
1
4
8
0
83
8
7
6 5
7
9
51
6
7
5
7
2
3
2
1
1
88
7
8
7
5
1
0
20
2
7
8
4
9
4
5
0
9
2
7
3
4
9
7
1
74
0
6
4
1
4
4
6
4
9
68
8
7
7
7
47
7
5
3
9
6
9
9
56
00
1
0
4
2
8
6
6
7
1
4
0
38
1
1
8
0
2
3
00
61 5
5
3
0
8
600
2
3
0
6
6
3 3
4
7
91
2
8
7
6
3
7
4
13
5
2
0
1
1
9
3
4
20
2
0
2
38
8
0
4
3
1
7
1
3
9
9
4
5
6
1
4
1
3
3
6
3
7
7
7
7
8
7
6
4
3
9
5
1
7
6
00
2
9
2
6
1
1
35
3
91
5
2
7
2
7
6 9 5
0
5
7
9
9
30
7
8
5
52
61
03 5
6
35
1
8
8
38
2
7
6 38
4
5
1
4
5
2
0
8
4
3
1
4
95
4
7
9
9
6
6
7
5
6
1
5
4
1
85
0
56
2
95
0
5
4
2
1
5
3
39
8
4
3
3
69
9
3
3
8
1
4
3
1
7
1
9
5
61
9
2
9
9
8 19
4
3
8 5
7
6
2
1
4
16
0
220
4
6
3
1
0
1
5
7
1
2
50
7
8
0
1
3
1
53
2
1
9
6
7
8
4
4
6
0
0
9
9
2
2
4
4
6
7
6
7
6 8
7
6
88 2
2
4
5
0
7
6
5
0
3
6
1
3
7
0
7
6
0
6
6
3
2
0
8
2
5
9
2
4
3
2
4
7
8
5
6
1
4
74
7
2
4
6
3
53
5
0
6
6 6
1
2
32
6
0
938
3
4
2
1
7
1
56
2
8
2
0
8
4
0 6
36
88
8
2
5
7
1
7
2
0
4
0
9
0
8
3
6
7
0
35
186
4
0
9
8
6
5
1
96 9
6
1
4
7
6 3
7
0
5
1
9
9
5
3
6 6
2
9
7
11
3
0
5
9
9
2
83
1
9
4
0 8
52
5
1
53
6
2
6
3
5
99
44
0 26
5
5
9
9
2
9
38
36
9
7
6
4
6
5
55
7
5
0
8
9
6
19
1
56
5
6
2
4
7
7
0
00
7
2
1
1
2
3
2
1
7
19
1
0
4
6
2
1
2
8
9
1 89
7
8
2
55
1
86
2
7
1
9
0
36
9
77
9
9
2
9
4
1
5
7
5
4
6
0
9
2
2
8
2
0
9
1
5
3
1
5
7
6
3
4
9
1
7
4
0
4
1
3
4
8
0
4
9
8
19
4
9
7
3
1
11
4
8
7
2 3
7
6
55
9
6 9
2
4
4
85
0
8
88
2
2
2
3
0
9
1
4
9
9
8
6
9
3
5
7
1
8
2
0
31
7
0
3 3
98
9
0
9
6
3
0
4
3
4
66
1
7
3
1
4
7
0
44
4
8
1
7
4
1
7
4
7
1
0
7
9
69
3
4
6
5
9
9
2
3
8
335
8
99
7
1
0
0
3
0
8
2
7
2
16
3
1
56
4
3
3
5
1
93
4
0
8
7
0
0
0
918
2
38
8
0
7
8
7
1
8
77
7
3
8
7
6
5
1
6
4
39
22
4
7
9
9
9
95
2
0
9
9
88
52
1
886
0
4
6
7
0
99
5
8
4
4
0
8
4
7
6
5
1
2
8.2. МНК для задачи классификации
(дискриминантный метод)
Нельзя ли использовать линейную регрессию (МНК) для решения задачи классификации?
K = 2
x
y
1
12
Ob b b b b b b b b b
b b b b b b b b b b
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
x1
x 2
Train error = 0.095Test error = 0.115
K > 2
Сопоставим каждому классу k характеристический, или индикаторный, вектор (y1, y2, . . . , yK), в
котором yk = 1, а yi = 0 при i 6= k.
Собрав вместе индикаторные векторы объектов обучающей выборки, получим матрицу Y размера
N ×K, называемую индикаторной.
Таким образом, Y состоит только из нулей и единиц и каждая строка имеет ровно одну единицу.
Как обычно, X — матрица размера N × (d + 1), первый столбец которой состоит из единиц, а
последующие представляют собой векторы из обучающей выборки.
Применяя метод наименьших квадратов одновременно к каждому столбцу матрицы Y, получаем
значения
Y = X(X⊤X)−1X⊤Y.
Для каждого столбца yk матрицы Y получим свой столбец коэффициентов βk. Соберем их в матрицу B
размера (d + 1)×K.
Имеем
B = (X⊤X)−1X⊤Y.
Объект x будем классифицировать согласно следующему правилу:
Вычислим вектор-строку длины Kg(x) = (1, x) B.
Отнесем x к классу
f(x) = argmaxk
gk(x).
При K ≥ 3 линейная регрессия может «не замечать» некоторых хорошо отделимых классов.
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
x1
x 2
Замечание 8.1 Пусть также β0, β — параметры, полученные с помощью линейной регрессии с
критерием (см. ниже)N
∑i=1
(y(i) − β0 − β⊤x(i))2 → min .
Можно показать, что вектор β коллинеарен вектору Σ−1(µ2 − µ1).
Таким образом, разделяющие гиперплоскости, полученные с помощью линейной регрессии и методом
LDA, параллельны (но при N1 6= N2 не совпадают друг с другом).
Это уже не так при числе классов, большем 2.
Если имеется более 2-х классов, то, напомним, линейная регрессия при классификации может «не
замечать» некоторых из них.
LDA-метод свободен от этого недостатка.
МНК:
x
y
1
12
Ob b b b b b b b b b
b b b b b b b b b b
Хочется:
x
y
1
12
Ob b b b b b b b b b
b b b b b b b b b b