๋ณธ ๊ธ€์€ 2018-2ํ•™๊ธฐ Stanford Univ.์˜ Andrew Ng ๊ต์ˆ˜๋‹˜์˜ Machine Learning(CS229) ์ˆ˜์—…์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€์ ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค :)

9 minute read

๋ณธ ๊ธ€์€ 2018-2ํ•™๊ธฐ Stanford Univ.์˜ Andrew Ng ๊ต์ˆ˜๋‹˜์˜ Machine Learning(CS229) ์ˆ˜์—…์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€์ ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค :)

โ€“ lecture 4


Multi-class ClassificationPermalink

์ง€๊ธˆ๊นŒ์ง€์˜ Classification Problem์€ yโˆˆ{0,1}์˜ Binary Classification์ด์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” yโˆˆ{1,2,โ€ฆ,k}์˜ Multi-Class Classification์— ๋Œ€ํ•ด ์‚ดํŽด๋ณผ ๊ฒƒ์ด๋‹ค.


(์‚ฌ์ „์ง€์‹) Multinomial DistributionPermalink

์ด๋ฒˆ ๊ธ€์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„  Multinomial Distribution๋ฅผ ๋จผ์ € ์ดํ•ดํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๋ฏธ โ€˜-nomialโ€™์ด ๋ถ™์€ ๋‹จ์–ด๋ฅผ ํ•˜๋‚˜ ์•Œ๊ณ  ์žˆ๋‹ค. ๋ฐ”๋กœ Bi-nomial์ด๋‹ค. Binomial Distribution์€ ์ดํ•ญ๋ถ„ํฌ๋กœ, N๋ฒˆ์˜ ๋™์ „ ๋˜์ง€๊ธฐ์—์„œ ์•ž/๋’ท๋ฉด์ด ๋ช‡๋ฒˆ ๋‚˜์˜ฌ์ง€์— ๋Œ€ํ•œ ๋ถ„ํฌ๋ฅผ ๋– ์˜ฌ๋ฆฌ๋ฉด ๋œ๋‹ค. ์ดํ•ญ๋ถ„ํฌ๋Š” B(n,p)๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ n๋Š” ์‹œํ–‰ํšŸ์ˆ˜, p๋Š” ๊ธฐ์ค€์ด ๋˜๋Š” event์˜ ํ™•๋ฅ ์ด๋‹ค.

์ดํ•ญ๋ถ„ํฌ์—์„œ n๋ฒˆ ์‹œํ–‰ ์ค‘ k๋ฒˆ ์„ฑ๊ณตํ•  ํ™•๋ฅ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

p(k;n,p)=(nk)pk(1โˆ’p)(nโˆ’k)

๊ทธ๋ฆฌ๊ณ  ์ดํ•ญ๊ณ„์ˆ˜ (nk)๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„๋œ๋‹ค.

(nk)=n!k!(nโˆ’k)!


์ดํ•ญ๋ถ„ํฌ์˜ ์ƒํ™ฉ์„ Multi-class๋กœ ํ™•์žฅํ•˜๋ฉด, ๋‹คํ•ญ๋ถ„ํฌ, Multinomial์ด ๋œ๋‹ค.

k๊ฐœ ์นดํ…Œ๊ณ ๋ฆฌ์— ๊ทธ ๊ฐ’๋“ค์ด ๋‚˜ํƒ€๋‚  ํ™•๋ฅ ์„ ๊ฐ๊ฐ p1, p2, โ€ฆ, pk๋ผ๊ณ  ํ•˜์ž. n๋ฒˆ์˜ ์‹œํ–‰์—์„œ i๋ฒˆ์งธ ๊ฐ’์ด xiํšŒ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

p(xโ†’;n,pโ†’)=n!x1!x2!โ€ฆxk!โˆkKpkxk

Multinomial Distribution์—์„œ๋Š” ํ‘œ๋ณธ๊ฐ’์ด ๋ฒกํ„ฐ xโ†’=(x1,โ€ฆ,xk)๊ฐ€ ๋œ๋‹ค. ์ฆ‰, ์ฃผ์‚ฌ์œ„๋ฅผ 10๋ฒˆ ๋˜์ ธ ์ฃผ์‚ฌ์œ„ ๋ˆˆ์˜ ์ถœํ˜„ ํšŸ์ˆ˜๊ฐ€ (3,2,3,1,1,0)์ผ ํ™•๋ฅ ์„ Multinomial Distribution์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๋‹คํ•ญ๋ถ„ํฌ์—์„œ์˜ ๊ณ„์ˆ˜๋„ ์ดํ•ญ๋ถ„ํฌ์˜ ์ดํ•ญ๊ณ„์ˆ˜ (nk)์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

(nxโ†’)=(nx1,โ€ฆ,xk)=n!x1!x2!โ€ฆxk!

Multi-Class Classification with GLMPermalink

Multi-Class Classification Problem์„ GLM์˜ ๊ผด๋กœ ๊ธฐ์ˆ ํ•ด๋ณด์ž.

๋จผ์ € T(y)๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•  ๊ฒƒ์ด๋‹ค.

T(1)=[10โ‹ฎ0],T(2)=[01โ‹ฎ0],โ€ฆ,T(k)=[00โ‹ฎ1]

๊ทธ๋ฆฌ๊ณ  (T(y))i๋Š” ๋ฒกํ„ฐ T(y)์˜ i๋ฒˆ์งธ ์›์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

์ด๋•Œ ํŽธ์˜๋ฅผ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ํด๋ž˜์Šค์ธ k๋ฅผ ๋‹ค๋ฅธ kโˆ’1์˜ ํด๋ž˜์Šค๋กœ ์œ ๋„๋˜๋Š” ํด๋ž˜์Šค๋กœ ์ •์˜ํ•˜์ž. ๊ทธ ๋ง์€ ๊ณง T(y)๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•˜์ž๋Š” ๊ฒƒ์ด๋‹ค.

T(1)=[10โ‹ฎ0],T(2)=[01โ‹ฎ0],โ€ฆ,T(k)=[00โ‹ฎ0]

์ด๊ฒƒ์„ ํ†ตํ•ด ๋ฒกํ„ฐ T(y)์˜ ์ฐจ์›์„ Rkโˆ’1๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  k์˜ ํ™•๋ฅ  p(y=k;ฯ•)๋Š” 1โˆ’โˆ‘i=1kโˆ’1ฯ•i๋กœ ์ •์˜ํ•œ๋‹ค.


์ด๋ฒˆ์—” ๊ฐ class ๋ณ„๋กœ parameter ฮธiโˆˆRn๋ฅผ ์ •์˜ํ•  ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์ „์ฒด class์˜ parameter๋ฅผ ๋ชจ์€ ฮธ๋Š” Rnร—k์˜ ํ–‰๋ ฌ์ด ๋œ๋‹ค.

ฮธ=[โˆ’ฮธ1โˆ’โˆ’ฮธ2โˆ’โ‹ฎโˆ’ฮธkโˆ’]

์šฐ๋ฆฌ๋Š” ๋˜ ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ํ‘œ๊ธฐ๋ฒ•์„ ๋„์ž…ํ•œ๋‹ค. indicator function 1{โ‹…}์€ ๊ด„ํ˜ธ ์•ˆ์˜ ๋ช…์ œ๊ฐ€ ์ฐธ์ด๋ผ๋ฉด 1์„, ๊ฑฐ์ง“์ด๋ผ๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๊ทธ๋ž˜์„œ 1{True}๋Š” 1์ด๊ณ , 1{False}๋Š” 0์ด๋‹ค.

์ด๊ฒƒ์„ ํ™œ์šฉํ•ด ํ™•๋ฅ  p(y;ฯ•)๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•œ๋‹ค.

p(y;ฯ•)=ฯ•11{y=1}ฯ•21{y=2}โ€ฆฯ•k1{y=k}=ฯ•11{y=1}ฯ•21{y=2}โ€ฆฯ•k1โˆ’โˆ‘i=1kโˆ’11{y=i}=ฯ•1(T(y))1ฯ•2(T(y))2โ€ฆฯ•k1โˆ’โˆ‘i=1kโˆ’1(T(y))i

์ด์ œ p(y;ฯ•)์— Algebraic Massage๋ฅผ ํ•ด๋ณด๋ฉด,

p(y;ฯ•)=ฯ•1(T(y))1ฯ•2(T(y))2โ€ฆฯ•k1โˆ’โˆ‘i=1kโˆ’1(T(y))i=expโก[((T(y))1logโก(ฯ•1)+((T(y))2logโก(ฯ•2)+โ€ฆ+(1โˆ’โˆ‘i=1kโˆ’1(T(y))i)logโก(ฯ•k)]=expโก[((T(y))1logโก(ฯ•1/ฯ•k)+((T(y))2logโก(ฯ•2/ฯ•k)+โ€ฆ+logโก(ฯ•k)]=b(y)expโก(ฮทTT(y)โˆ’a(ฮท))

์ด์ œ GLM์˜ ๊ฐ ์š”์†Œ๋“ค์„ ํ™•์ธํ•ด๋ณด๋ฉด,

  • ฮท: [logโก(ฯ•1/ฯ•k),logโก(ฯ•2/ฯ•k),โ‹ฏ,logโก(ฯ•kโˆ’1/ฯ•k)]T
  • a(ฮท): โˆ’logโก(ฯ•k)
  • b(y): 1

๊ฐ€ ๋œ๋‹ค.

ฮท=[logโก(ฯ•1/ฯ•k),logโก(ฯ•2/ฯ•k),โ‹ฏ,logโก(ฯ•kโˆ’1/ฯ•k)]T๋ผ๋Š” ์‚ฌ์‹ค์— ์˜ํ•ด natural parameter ฮท์™€ canonical parameter ฯ•๋ฅผ ์—ฐ๊ฒฐ์ง“๋Š” link function์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.

ฮทi=logโกฯ•iฯ•k

์ด๋ฒˆ์—” link function์˜ ์—ญํ•จ์ˆ˜๋ฅผ ์ทจํ•ด response function์„ ์‚ดํŽด๋ณด์ž.

eฮทi=ฯ•iฯ•kฯ•keฮทi=ฯ•iฯ•kโˆ‘i=1keฮทi=โˆ‘i=1kฯ•i=1

๋”ฐ๋ผ์„œ ฯ•k=1/โˆ‘i=1keฮทi๋ฅผ ์˜๋ฏธํ•˜๊ณ , ์ด๊ฒƒ์„ ์ด์šฉํ•ด eฮทi=ฯ•iฯ•k๋ฅผ ๋‹ค์‹œ์“ฐ๋ฉด

ฯ•i=eฮทiโˆ‘j=1keฮทj

๊ฐ€ ๋œ๋‹ค. ฮท๋ฅผ ฯ•๋กœ ๋งคํ•‘ํ•˜๋Š” ์ด ํ•จ์ˆ˜๋ฅผ ์šฐ๋ฆฌ๋Š” softmax function์ด๋ผ๊ณ  ํ•œ๋‹ค!

์ด์ œ ์ด softmax function์„ ์ด์šฉํ•ด ํ™•๋ฅ  p(y=i|x;ฮธ)๋ฅผ ๋‹ค์‹œ ์ •์˜ํ•ด๋ณด์ž.

p(y=i|x;ฮธ)=ฯ•i=eฮทiโˆ‘j=1keฮทj=eฮธiTxโˆ‘j=1keฮธiTx

์ด ๊ณผ์ •์—์„œ GLM์˜ ๊ฐ€์ •์ธ โ€œnatural parameter ฮท and model parameter ฮธ are linearly relatedโ€๋ฅผ ์ ์šฉํ•˜์˜€๋‹ค.

์ด๋ ‡๊ฒŒ softmax function์„ response function์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” regression์„ softmax regression์ด๋ผ๊ณ  ํ•œ๋‹ค. softmax regression์€ logistic regression์˜ general model์ด๋‹ค.


์ด์ œ ์šฐ๋ฆฌ์˜ ์ตœ์ข…์ ์ธ ์ถœ๋ ฅ๊ฐ’์ธ hypothesis hฮธ(x)๋ฅผ ์‚ดํŽด๋ณด์ž. GLM์—์„œ hฮธ(x)๋Š” ๊ฐ€์ •์— ์˜ํ•ด E[T(y)|x;ฮธ]์ด๋‹ค.

hฮธ(x)=E[T(y)|x;ฮธ]=[ฯ•1ฯ•2โ‹ฎฯ•kโˆ’1]=[expโก(ฮธ1Tx)โˆ‘j=1kexpโก(ฮธjTx)expโก(ฮธ2Tx)โˆ‘j=1kexpโก(ฮธjTx)โ‹ฎexpโก(ฮธkโˆ’1Tx)โˆ‘j=1kexpโก(ฮธjTx)]

์œ„์˜ ์‹์—์„œ๋Š” i=1,โ€ฆ,kโˆ’1์—์„œ์˜ p(y=i|x;ฮธ)๋งŒ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ๋‹ค. p(y=k|x;ฮธ)์˜ ๊ฒฝ์šฐ๋Š” 1โˆ’โˆ‘i=1kโˆ’1ฯ•i๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.


Cross EntropyPermalink

์•ž์—์„œ ๋‹ค๋ฃฌ Softmax Regression์„ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ๋ณต์Šตํ•˜๋ฉด์„œ Softmax Regression์˜ Loss function์ธ Cross Entropy์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์ž.


์šฐ๋ฆฌ๋Š” ฮธ์™€ linearly related ๋œ ฮท์— exponential๊ณผ normalize๋ฅผ ์ทจํ•˜์—ฌ predicted probability์ธ p^(y)์„ ์œ ๋„ํ•˜์˜€๋‹ค.


ํ•˜์ง€๋งŒ p^(y)์€ ์—„์—ฐํžˆ predicted ๊ฐ’์ผ ๋ฟ! ์šฐ๋ฆฌ๋Š” p^(y)๊ณผ ์‹ค์ œ ๊ฐ’์ธ p(y)๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‘˜ ์‚ฌ์ด์˜ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™” ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ ์ •๋‹ต ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•ด p(y)๋Š” 1์˜ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค.

์ด์ œ p^(y)์™€ p(y) ์‚ฌ์ด์˜ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ง€ํ‘œ์ธ Cross Entropy๊ฐ€ ๋“ฑ์žฅํ•œ๋‹ค. Cross Entropy๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.

CrossEnt(p,p^)=โˆ’โˆ‘iโˆˆ{1,โ€ฆ,k}(p(yi)logโกp^(yi))

์ด๋•Œ p(y)์˜ ๊ฐ’์€ ์ •๋‹ต ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•ด์„œ๋งŒ 1์˜ ๊ฐ’์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์—, CrossEnt(p,p^)์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ธฐ์ˆ ๋œ๋‹ค.

CrossEnt(p,p^)=โˆ’โˆ‘iโˆˆ{1,โ€ฆ,k}(p(yi)logโกp^(yi))=โˆ’p(yz)logโกp^(yz)

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์•ž์„  ๊ณผ์ •์—์„œ ๊ตฌํ•œ p^(yi)์˜ ์‹์„ ๋Œ€์ž…ํ•˜๋ฉด,

CrossEnt(p,p^)=โˆ’โˆ‘iโˆˆ{1,โ€ฆ,k}(p(yi)logโกp^(yi))=โˆ’p(yz)logโกp^(yz)=โˆ’logโกexpโก(ฮธzTx)โˆ‘i=1kexpโก(ฮธiTx)

์ด์ œ parameter ฮธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด, ์œ„์˜ CrossEnt(p,p^)์— Gradient Descent ๋ฐฉ๋ฒ•์„ ์ทจํ•จ์œผ๋กœ์จ Softmax Regression Model์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค!


๋งบ์Œ๋งPermalink

๋ณธ ๊ธ€์—์„œ๋Š” Multi-class Classification์„ GLM์˜ ๊ด€์ ์—์„œ ์‚ดํŽด๋ณด์•˜๋‹ค. ๋‚ด์šฉ์„ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • Multi-class Classification์€ Multinomial์—์„œ ์ถœ๋ฐœํ•œ๋‹ค.
  • softmax function ํ•จ์ˆ˜๋Š” ฮท๋ฅผ ฯ•๋กœ ๋งคํ•‘ํ•˜๋Š” response function์ด๋‹ค.
  • Cross Entropy๋Š” ์ •๋‹ต ๋ ˆ์ด๋ธ” p(y)๊ณผ softmax function์œผ๋กœ ์–ป์€ predicted probability p^(y) ์‚ฌ์ด์˜ ์˜ค์ฐจ๋ฅผ ์ •์˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.