統計的学習の基礎 4章 前半

67

Upload: kenichi-matsui

Post on 08-Jan-2017

1.314 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: 統計的学習の基礎 4章 前半
Page 3: 統計的学習の基礎 4章 前半

http://www.slideshare.net/matsukenbook

Page 4: 統計的学習の基礎 4章 前半

MASAKARI Come On! щ( щ)https://twitter.com/_inundata/status/616658949761302528

Page 5: 統計的学習の基礎 4章 前半
Page 6: 統計的学習の基礎 4章 前半
Page 7: 統計的学習の基礎 4章 前半
Page 8: 統計的学習の基礎 4章 前半

Y

G

X N

X N ⇥ p

K

K

p

Page 9: 統計的学習の基礎 4章 前半

N ⇥ pxi X

yigi

Kp

N

Page 10: 統計的学習の基礎 4章 前半

X

xi

N

p

...

...

xj

N ⇥ p

X,Y,G

Xxi

XT1

XTi

XTN

Page 11: 統計的学習の基礎 4章 前半
Page 12: 統計的学習の基礎 4章 前半

G(x) G

G = {class1, class2, · · · , classK}

Page 13: 統計的学習の基礎 4章 前半

k

fk(x) = �k0 + �

Tk x

k ` fk(x) = f`(x)

{x : (�k0 � �`0) + (�k � �`)Tx = 0}

x

🌾

pp

1

1

Page 14: 統計的学習の基礎 4章 前半

k �k(x)

x

k Pr(G = k|X = x)

x

�k(x) Pr(G = k|X = x) x

Page 15: 統計的学習の基礎 4章 前半

Pr(G = 1|X = x) =

exp(�0 + �

Tx)

1 + exp(�0 + �

Tx)

Pr(G = 2|X = x) =

1

1 + exp(�0 + �

Tx)

log

✓p

1� p

logit(Pr(G = 1|X = x)) = �0 + �

Tx = log

Pr(G = 1|X = x)

Pr(G = 2|X = x)

Page 16: 統計的学習の基礎 4章 前半
Page 17: 統計的学習の基礎 4章 前半

X1, · · · , Xp

D = (X1, X2) D0 = (X1, X2, X21 , X

22 , X1X2)

p(p+ 1)/2

Rp 7! Rq (q > p) h(X)

Page 18: 統計的学習の基礎 4章 前半

sklearn.discriminant_analysis.LinearDiscriminantAnalysisD0 = (X1, X2, X

21 , X

22 , X1X2)

Page 19: 統計的学習の基礎 4章 前半
Page 20: 統計的学習の基礎 4章 前半

G K

G(x) k

Y

Y = (Y1, Y2, · · · , Yk, · · · , YK)

= (0, 0, · · · , 1, · · · , 0)

N

YN

K

N ⇥Kk K1 2

Page 21: 統計的学習の基礎 4章 前半

Y = X(XTX)�1XTY B

N

K

Np+ 1

p+ 1

NN

p+ 1

p+ 1

p+ 1

p+ 1

NN

K

p+ 1

K

X p+ 1

Page 22: 統計的学習の基礎 4章 前半

x

f(x)T = (1, xT )B K

Kx

ˆ

G(x) = argmax

k2Gˆ

fk(x)

Page 23: 統計的学習の基礎 4章 前半

Y = X(XTX)�1XTY

ˆ

G(x) = argmax

k2Gˆ

fk(x)

Page 24: 統計的学習の基礎 4章 前半
Page 25: 統計的学習の基礎 4章 前半

E(Yk|X = x) = Pr(G = k|X = x)

fk(x)

E(Yk|X = x) = Pr(G = k|X = x)

[ 0.19942274, -0.01553064, 0.8161079 ]

X

k2Gfk(x) = 1

0 fk(x) 1

Page 26: 統計的学習の基礎 4章 前半
Page 27: 統計的学習の基礎 4章 前半
Page 28: 統計的学習の基礎 4章 前半

minB

NX

i=1

kyi �⇥(1, xT

i )B⇤T k2

tk

G(x) = argmink

kf(x)� tkk2

K1 1

Kp+ 1

B

f(x) tk

f(x)

p+ 1

Page 29: 統計的学習の基礎 4章 前半

G(x) = argmink

kf(x)� tkk2

ˆ

G(x) = argmax

k2Gˆ

fk(x)

minB

NX

i=1

kyi �⇥(1, xT

i )B⇤T k2

Page 30: 統計的学習の基礎 4章 前半

K K � 3

Page 31: 統計的学習の基礎 4章 前半
Page 32: 統計的学習の基礎 4章 前半
Page 33: 統計的学習の基礎 4章 前半

[ 0.3549 0.5517 0.712 0.8062 0.8631 0.9095 0.9458 0.9739 0.9916 1.0000 ]

Page 34: 統計的学習の基礎 4章 前半
Page 35: 統計的学習の基礎 4章 前半

Pr(G|X)

fk(x) G = k X

⇡k kKX

k=1

⇡k = 1

Pr(G = k|X = x) =fk(x)⇡kPK` f`(x)⇡`

Page 36: 統計的学習の基礎 4章 前半
Page 37: 統計的学習の基礎 4章 前半

fk(x) =1

(2⇡)

p/2|⌃k|1/2exp

✓�1

2

(x� µk)T⌃

�1k (x� µk)

1

p+ 1

p+ 1p+ 1 p+ 1

1

x

tAx =

nX

i,j=1

aijxixj

µ = (0, 0)

⌃ =

✓�21 �12

�12 �22

◆=

✓1 0.60.6 1

Page 38: 統計的学習の基礎 4章 前半

⌃k = ⌃, 8k

log

Pr(G = k|X = x)

Pr(G = `|X = x)

= log

fk(x)

f`(x)+ log

⇡k

⇡`

= log

⇡k

⇡`� 1

2

(µk + µ`)T⌃

�1(µk + µ`) + x

T⌃

�1(µk + µ`)

= log

fk(x)⇡k

f`(x)⇡`

k `

Page 39: 統計的学習の基礎 4章 前半
Page 40: 統計的学習の基礎 4章 前半
Page 41: 統計的学習の基礎 4章 前半

�k(x) = x

T⌃

�1µk � 1

2

µ

Tk⌃

�1µk + log ⇡k

G(x) = argmaxk�k(x)

Page 42: 統計的学習の基礎 4章 前半

⇡k = Nk/N

µk =X

gi=k

xi/Nk

⌃ =KX

k=1

X

gi=k

(xi � µk)(xi � µk)T/(N �K)

Page 43: 統計的学習の基礎 4章 前半

x

�1(µ2 � µ1) >

1

2

(µ2 + µ1)Tˆ

�1(µ2 � µ1)� log

N2

N1

�1(x) = x

T⌃

�1µ1 �

1

2

µ

T1 ⌃

�1µ1 + log ⇡1

�2(x) = x

T⌃

�1µ2 �

1

2

µ

T2 ⌃

�1µ2 + log ⇡2

⇡k = Nk/N

µk =X

gi=k

xi/Nk

⌃ =KX

k=1

X

gi=k

(xi � µk)(xi � µk)T/(N �K)

µk = µk,⌃�1 = ˆ⌃�1

Page 44: 統計的学習の基礎 4章 前半

x

�1(µ2 � µ1) >

1

2

(µ2 + µ1)Tˆ

�1(µ2 � µ1)� log

N2

N1

Page 45: 統計的学習の基礎 4章 前半

fk(x), f`(x)

log

Pr(G = k|X = x)

Pr(G = `|X = x)

= log

fk(x)

f`(x)+ log

⇡k

⇡`

= log

⇡k

⇡`� 1

2

(µk + µ`)T⌃

�1(µk + µ`) + x

T⌃

�1(µk + µ`)

fk(x) =1

(2⇡)

p/2|⌃k|1/2exp

✓�1

2

(x� µk)T⌃

�1k (x� µk)

Page 46: 統計的学習の基礎 4章 前半

�k(x) = �1

2

log |⌃k|�1

2

(x� µk)T⌃

�1k (x� µk) + log ⇡k

�k(x) = x

T⌃

�1µk � 1

2

µ

Tk⌃

�1µk + log ⇡k

Page 47: 統計的学習の基礎 4章 前半
Page 48: 統計的学習の基礎 4章 前半

(K � 1)⇥ (p+ 1)

(K � 1)⇥ {p(p+ 3)/2 + 1}

Page 49: 統計的学習の基礎 4章 前半
Page 50: 統計的学習の基礎 4章 前半

⌃k(↵) = ↵⌃k + (1� ↵)⌃ ↵ 2 [0, 1]

Page 51: 統計的学習の基礎 4章 前半

url <- "https://cran.r-project.org/src/contrib/Archive/ascrda/ascrda_1.15.tar.gz" pkgFile <- "ascrda_1.15.tar.gz" download.file(url = url, destfile = pkgFile) # Install package install.packages(c("rda", "sfsmisc", "e1071", "pamr")) install.packages(pkgs=pkgFile, type="source", repos=NULL) # http://www.inside-r.org/packages/cran/ascrda/docs/FitRda install.packages("ascrda") require(ascrda)

df_vowel_train <- read.table("../vowel.train.csv", sep=",", header=1) df_vowel_test <- read.table("../vowel.test.csv", sep=",", header=1)

df_vowel_train$row.names<- NULL df_vowel_test$row.names<- NULL y <- df_vowel_train$y y_test <- df_vowel_test$y X <- df_vowel_train[ ,c(F,T,T,T,T,T,T,T,T,T,T)] X_test <- df_vowel_test[ ,c(F,T,T,T,T,T,T,T,T,T,T)]

a <- rep(0, 100) res_train <- rep(0, 100) res_test <- rep(0, 100)

for(i in 1:101){ a[i] <- 0.01*(i-1) print (a[i]) startTime <- proc.time()[3] ans <- FitRda(X, y, X_test, y_test, alpha=a) endTime <- proc.time()[3] print(endTime-startTime) res_train[i] <- ans[1] res_test[i] <- ans[2] } df_result <- data.frame(train=res_train, test=res_test) write.table(df_result, file="df_result.csv", sep=",")

Page 52: 統計的学習の基礎 4章 前半
Page 53: 統計的学習の基礎 4章 前半

⌃(�) = �⌃+ (1� �)�2I � 2 [0, 1]

Page 54: 統計的学習の基礎 4章 前半

⌃k = UkDkUTk

log |ˆ⌃k| =X

`

log dk`

(x� µk)T ⌃�1

k (x� µk) =⇥UT

k (x� µk)⇤T

D�1k

⇥UT

k (x� µk)⇤

⌃k = UkDkUTk

p⇥ p dk`(AB)�1 = B�1A�1

Page 55: 統計的学習の基礎 4章 前半

⇡k = Nk/N

µk =X

gi=k

xi/Nk

⌃ =KX

k=1

X

gi=k

(xi � µk)(xi � µk)T/(N �K)

X⇤ D�1/2UTX

⌃ = UDUT

X⇤ def  sphere(X):          S  =  np.cov(X.T)          U  =  np.linalg.eig(S)[1]          D  =  np.diag(np.linalg.eigvals(S))          D_rt  =  scipy.linalg.sqrtm(D)          D_rt_inv  =  np.linalg.inv(D_rt)          return  np.dot(D_rt_inv,  np.dot(U.T,  X.T)).T

⇡k

D1/2

Page 56: 統計的学習の基礎 4章 前半

p KK � 1

p K

HK�1

Page 57: 統計的学習の基礎 4章 前半

K > 3 K � 1L < K � 1 HL ✓ HK�1

L

Page 58: 統計的学習の基礎 4章 前半

Z = aTX

a

a

max

a

aTBa

aTWa

Page 59: 統計的学習の基礎 4章 前半

(m1 �m2)2

m1

m2

µ2

µ1

a

= (aT (µ1 � µ2))2

= (aT (µ1 � µ2))(aT (µ1 � µ2))

T

= aT (µ1 � µ2)(µ1 � µ2)Ta

1p+ 1p+ 1

1

1p+ 1 p+ 1

1

max

a

aTBa

aTWamax

a

aTBa

aTWa

= aTBa⇥N

Page 60: 統計的学習の基礎 4章 前半

max

a

aTBa

aTWamax

a

aTBa

aTWa

a

m1

µ1

x1

x2

x3

y3y2

y1

=KX

k=1

X

gi=k

(yi �mk)2

=KX

k=1

X

gi=k

(aT (xi � µk))2

=KX

k=1

X

gi=k

(aT (xi � µk))(aT (xi � µk))

T

=KX

k=1

a

T

0

@X

gi=k

(xi � µk)(xi � µk)T

1

Aa

= aTWa⇥N

Page 61: 統計的学習の基礎 4章 前半

max

a

aTBa

aTWamax

aaTBa subject to aTWa = 1

@

@a[aTBa+ �(aTWa� 1)] = 0

@

@�[aTBa+ �(aTWa� 1)] = 0

Ba = �Wa

W W�1Ba = �a

@

@x

x

TAx = 2Ax

Page 62: 統計的学習の基礎 4章 前半

W�1Ba = �a

a

m1

m2

µ2

µ1

a

W W�1Ba = �a

Page 63: 統計的学習の基礎 4章 前半

M⇤ = MW�1/2

B⇤ = V⇤DBV⇤T

v` = W�1/2v⇤`

K ⇥ pM

W

WM⇤

B M⇤

B⇤ B

V⇤v⇤`

` Z` = vT` X

p+ 1

p⇥ p

W�1/2 = UD�1/2W U�1

W = UDWU�1

K

M = {µ1, · · · , µK}T

Page 64: 統計的学習の基礎 4章 前半
Page 65: 統計的学習の基礎 4章 前半

[-1.23290493 1.00301738]

[-0.30483077 -0.78126293]

v1 =v2 =

v2

v1

Z1

Z2

Page 66: 統計的学習の基礎 4章 前半

log ⇡k⇡k