3. クラスタリングと分類分析2
5.1 Feature Selection and Data Mining
5.2 Supervised versus Unsupervised Learning
5.3 Unsupervised Learning: k-means
5.4 Unsupervised Hierarchical Clustering
5.5 Mixture Models and the EM algorithm
5.6 Supervised Learning and Linear
Discrimination
5.7 Support Vector Machines (SVM)
5.8 Classification Trees and Random Forest
5.9 Top 10 Algorithms in Data Mining 2008
4. クラスタリングと分類分析2
% 5.1 Feature Selection and Data Mining
CH05_SEC01_1_FischerExtraction.m
CH05_SEC01_1_FischerExtraction_production.m
% 5.2 Supervised versus Unsupervised Learning
CH05_SEC02_1_Fig5p7_Fig5p8.m
% 5.3 Unsupervised Learning: k-means
CH05_SEC03_1_Kmeans.m
CH05_SEC03_1_Kmeans_production.m
% 5.4 Unsupervised Hierarchical Clustering
CH05_SEC04_1_Dendrogram.m
CH05_SEC04_1_Dendrogram_production.m
% 5.5 Mixture Models and EM algorithm
CH05_SEC05_1_GaussianMixtureModels.m
% 5.6 Supervised Learning and LDA
CH05_SEC06_1_LDA_Classify.m
% 5.7 Support Vector Machine
CH05_SEC07_1_SVM.m
% 5.8 Classification Trees and Random Forest
CH05_SEC08_1_Trees.m
CH05_SEC08_1_Trees_production.m
13. フィッシャー線形分類分析(Fisher’s Linear Discriminant Analysis)
フィッシャー線形分類器(Fisher’s Linear Discriminant)
n
∈x y= ∈w x
22
2
1
i
i
N ∈
= ∑x
xμ
11
1
1
i
i
N ∈
= ∑x
xμ
1
1
1
1
i
y
iy
N
µ
∈
= ∑ 2
2
2
1
i
y
iy
N
µ
∈
= ∑
×
×
1,i i∈x
2,i i∈x
1,iy i∈
2,iy i∈
元々のn-次元データ 射影した1-次元データ
14. フィッシャー線形分類分析(Fisher’s Linear Discriminant Analysis)
① クラス間の距離の二乗 (Between-class covariance)
( ) ( ){ }2
22
1 B2 1
y y
µ µ− = − =x x
w w S wμ μ
( ) ( ) ( )( ) ( )( )
2 21 1
12 2 2
2 2
1 1 W
y y
i i i i i
i i i
i
i
y yµ µ
∈ ∈ ∈ ∈
+ = − − + − − − − =
∑ ∑ ∑ ∑x x x x
w x x x wμ μ μ μx w S w
② クラス内の分散 (Within-class covariance)
フィッシャー線形分類分析の問題
① クラス間の距離の二乗を最大にし、かつ ② クラス内の分散を最小にする射影方向
ベクトルwを求める。
B
ˆ arg max=
w
W
w S w
w
w S w
15. フィッシャー線形分類分析(Fisher’s Linear Discriminant Analysis)
フィッシャー線形分類分析の問題
① クラス間の距離の二乗を最大にし、かつ ② クラス内の分散を最小にする射影方向
ベクトルwを求める。
B
ˆ arg max=
w
W
w S w
w
w S w
フィッシャー線形分類分析の問題
クラス内の分散を一定に保ちながら、クラス間の距離の二乗を最大にし、射影方向ベ
クトルwを求める。
B
ˆ arg max subject to 1=W
w
w w S w w S w
16. フィッシャー線形分類分析(Fisher’s Linear Discriminant Analysis)
フィッシャー線形分類分析の問題
クラス内の分散を一定に保ちながら、クラス間の距離の二乗を最大にし、射影方向ベ
クトルwを求める。
B
ˆ arg max subject to 1=W
w
w w S w w S w
ラグランジュ未定乗数法を用いた解法
( ) ( )B, 1J λ λ= + − Ww w S w w S w
( )
( )WB
,
2
J λ
λ=
∂
=
∂
−
w
S w S w0
w
WB λ=S w S w
一般化固有値問題のMATLAB解法
[W, Lambda] = eig(SB,SW);
一般化固有値問題
17. ラグランジュ未定乗数法:制約条件付き最適化問題の解法
等式制約条件付きの最適化問題
制約条件 g(x)=0 のもと、関数 f(x) を最小化(最大化)する変数xの値を求めよ
( ) ( )ˆ arg min subject to 0f g=
x
x x x
ラグランジュ関数
変数 x とラグランジュ未定乗数 λ に関する(拘束条件なし)の最適化問題を解く
( ) ( ) ( ),J f gλ λ= +x x x
( ) ( ) ( )
( )
( )
,
,
,
0.
J
g
gJ fλ
λ
λ
λ
∂ ∂ ∂
∂ ∂ ∂
∂
= + =
=
∂
=
x x
x x
x
0
x
x
x
26. サポートベクトルマシンの最適化問題(線形分離可能の場合)
1 if 1
1 if 1
i i
i i
b y
b y
+ ≥ =+
+ ≤ − = −
w x
w x
( ) 1i iy b+ ≥w x
1b
≥
+w x
w w
( )1
maximize subject 1forto i i iy b+ ≥ ∀w x
w
SVM最適化問題1
( )21
minimize subject 1fto
2
ori i iy b ≥+ ∀w w x
SVM最適化問題2
27. Karush-Kuhn-Tucker (KKT) 条件:不等式制約条件付き最適化問題の解法
不等式制約条件付きの最適化問題
制約条件 g(x)≤0 のもと、関数 f(x) を最小化する変数xの値を求めよ
( ) ( ) 0ˆ arg min subject tof g= ≤
x
x x x
ラグランジュ関数
( ) ( ) ( ),J f gλ λ= +x x x
( ) ( ) ( ),
,
J f gλ
λ
∂ ∂ ∂
∂
=
∂
+
∂
=
x x
x x x
x
0 ( ) ( )0, 0, 0.g gλ λ= ≥ ≤x x
Karush-Kuhn-Tucker (KKT) 条件
32. サポートベクトルマシンの最適化問題(線形分離可能の場合)
( )21
minimize subject 1fto
2
ori i iy b ≥+ ∀w w x
SVM最適化問題2
( ) ( ){ }1
21
, , 1
2
i
i
i
N
iJ b y bα α
=
= + − +∑w w w x
1i
i i i
N
J
yα
=
= −
∂
=
∂
∑w x
w
0
1
0 i i
N
i
J
y
b
α
=
= −
∂
∂
= ∑
( ){ }0 1i i iy bα= − +w x
0 iα≤
( )0 1 i i by≥ − +w x
ラグランジュ関数
Karush-Kuhn-Tucker (KKT) 条件
45. おまけ Top 10 Algorithms in Data Mining 2008
アルゴリズム名 MATLAB コマンド例
k-means [labels,centers] = kmeans(X,k)
EM (mixture models) Model = fitgmdist(X,k)
Support Vector Machines (SVMs) Model = fitcsvm(xtrain,label)
CART (Classification and Regression Trees) tree = fitctree(xtrain,label)
k-nearest Neighbors (kNN) label = knnsearch(Mdl,test)
Naive Bayes Model = fitNaiveBayes(xtrain,label)
AdaBoost (Ensemble Learning and Boosting)
ada =
fitcensemble(xtrain,label,’Method’,’AdaBoostM1’)