Skip to content
psymon-ai
Go back

5. ๋ถ„๋ฅ˜ II - ํŒ๋ณ„ ๋ถ„์„๊ณผ ๋ฒ ์ด์ฆˆ ๋ถ„๋ฅ˜๊ธฐ

0

Table of contents

Open Table of contents

๋“ค์–ด๊ฐ€๋Š” ๊ธ€

์ง€๋‚œ ๊ธ€์—์„  ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€(Logistic Regression)๋ฅผ ๋ฐฐ์› ๋‹ค. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ์ž…๋ ฅ xx๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ •๋‹ต์ด 1์ผ ํ™•๋ฅ ์„ ๋ฐ”๋กœ ๊ณ„์‚ฐํ–ˆ๋‹ค.

P(y=1โˆฃx)P(y=1 \mid x)

์˜ˆ๋ฅผ ๋“ค์–ด ์นด๋“œ ์ง€์ถœ์•ก์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฑ„๋ฌด ๋ถˆ์ดํ–‰(default)ํ•  ํ™•๋ฅ ์„ ์ง์ ‘ ์˜ˆ์ธกํ•˜๋Š” ์‹์ด๋‹ค. ์ด๋Ÿฐ ์ ‘๊ทผ์„ ํŒ๋ณ„ ๋ชจ๋ธ(discriminative model)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ํŒ๋ณ„ ๋ชจ๋ธ์€ ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ์ „์ฒด ๋ถ„ํฌ๋ฅผ ๋ฐฐ์šฐ๊ธฐ๋ณด๋‹ค ํด๋ž˜์Šค ์‚ฌ์ด๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ฒฝ๊ณ„์— ์ง‘์ค‘ํ•œ๋‹ค.

์ด๋ฒˆ์—๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋ถ„๋ฅ˜๋ฅผ ๋ฐ”๋ผ๋ณธ๋‹ค.

โ€œ๊ฐ ํด๋ž˜์Šค ๋ฐ์ดํ„ฐ๊ฐ€ ์›๋ž˜ ์–ด๋–ค ๋ชจ์–‘์œผ๋กœ ์ƒ๊ฒผ๋Š”์ง€ ๋จผ์ € ๋ฐฐ์šด ๋‹ค์Œ, ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋А ํด๋ž˜์Šค์—์„œ ๋‚˜์™”์„ ๊ฐ€๋Šฅ์„ฑ์ด ํฐ์ง€ ํŒ๋‹จํ•˜๋ฉด ์–ด๋–จ๊นŒ?โ€

์ด ๋ฐฉ์‹์€ ๋จผ์ € ํด๋ž˜์Šค๋ณ„ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ์ƒ๊ฐํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด default๊ฐ€ ๋‚œ ๊ณ ๊ฐ๋“ค์˜ ์นด๋“œ ์ง€์ถœ์•ก์€ ์–ด๋–ค ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š”์ง€, default๊ฐ€ ๋‚˜์ง€ ์•Š์€ ๊ณ ๊ฐ๋“ค์˜ ์นด๋“œ ์ง€์ถœ์•ก์€ ์–ด๋–ค ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š”์ง€ ๋”ฐ๋กœ ๋ณธ๋‹ค. ๊ทธ๋‹ค์Œ ์ƒˆ ๊ณ ๊ฐ์˜ ์นด๋“œ ์ง€์ถœ์•ก์ด ์–ด๋А ์ชฝ ๋ถ„ํฌ์—์„œ ๋” ์ž์—ฐ์Šค๋Ÿฌ์šด์ง€ ๋น„๊ตํ•œ๋‹ค.

์ด๋Ÿฐ ์ ‘๊ทผ์„ ์ƒ์„ฑ ๋ชจ๋ธ(generative model)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ํด๋ž˜์Šค๋ณ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ โ€œ์ƒ์„ฑ๋˜๋Š” ๋ฐฉ์‹โ€์„ ๋ชจ๋ธ๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด ๊ด€์ ์€ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ๋ณธ๋‹ค. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๊ฐ€ ํด๋ž˜์Šค ์‚ฌ์ด ๊ฒฝ๊ณ„๋ฅผ ์ง์ ‘ ๋ฐฐ์šฐ๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๋ฉด, ์ƒ์„ฑ ๋ชจ๋ธ์€ ๊ฐ ํด๋ž˜์Šค๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ์˜์—ญ์˜ ๋ชจ์–‘์„ ๋จผ์ € ๊ทธ๋ฆฐ ๋’ค ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋А ์ชฝ์—์„œ ๋‚˜์™”์„ ๊ฐ€๋Šฅ์„ฑ์ด ํฐ์ง€ ํŒ๋‹จํ•œ๋‹ค.

์ฐธ๊ณ ๋กœ, ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ์ƒ์„ฑ ๋ชจ๋ธ์€ ChatGPT ๊ฐ™์€ LLM์„ ๋งํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ค. LLM์—์„œ ์ƒ์„ฑ ๋ชจ๋ธ์€ ๋ณดํ†ต ๋‹ค์Œ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์„ ๋œปํ•œ๋‹ค. ๋ฐ˜๋ฉด ์ด ๊ธ€์—์„œ ๋งํ•˜๋Š” ์ƒ์„ฑ ๋ชจ๋ธ์€ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ๊ฐ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ํ†ต๊ณ„์  ์ ‘๊ทผ์ด๋‹ค.

๋จผ์ € ํ™•๋ฅ  ํ‘œ๊ธฐ๋ถ€ํ„ฐ

์ˆ˜์‹์ด ๋‚˜์˜ค๊ธฐ ์ „์— ํ™•๋ฅ  ํ‘œ๊ธฐ๋ถ€ํ„ฐ ์ •๋ฆฌํ•˜์ž. ์ด ๊ธ€์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ณผ ํ‘œ๊ธฐ๋Š” ๋‹ค์Œ์ด๋‹ค.

P(yโˆฃx)P(y \mid x)

๊ฐ€์šด๋ฐ ์„ธ๋กœ์ค„ โˆฃ\mid๋Š” โ€œ~๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œโ€๋ผ๊ณ  ์ฝ๋Š”๋‹ค. ๋”ฐ๋ผ์„œ P(yโˆฃx)P(y \mid x)๋Š” x\boldsymbol{x}๋ฅผ ์•Œ๊ณ  ์žˆ์„ ๋•Œ y\boldsymbol{y}์ผ ํ™•๋ฅ ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด xx๊ฐ€ โ€œ์นด๋“œ ์ง€์ถœ์•ก์ด 2,000๋‹ฌ๋Ÿฌโ€๋ผ๋Š” ์ •๋ณด์ด๊ณ , yy๊ฐ€ โ€œdefault๊ฐ€ ๋‚œ๋‹คโ€๋ผ๋Š” ์‚ฌ๊ฑด์ด๋ผ๋ฉด ๋‹ค์Œ์ฒ˜๋Ÿผ ์ฝ๋Š”๋‹ค.

P(y=defaultโˆฃx=spendingย 2000)P(y=\text{default} \mid x=\text{spending 2000})

๋œป์€ โ€œ์นด๋“œ ์ง€์ถœ์•ก์ด 2,000๋‹ฌ๋Ÿฌ๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  ์žˆ์„ ๋•Œ, default๊ฐ€ ๋‚  ํ™•๋ฅ โ€์ด๋‹ค.

์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์˜ ๊ธฐ๋ณธ ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P(AโˆฃB)=P(AโˆฉB)P(B)P(A \mid B) = \cfrac{P(A \cap B)}{P(B)}

๋ง๋กœ ํ’€๋ฉด ์ด๋ ‡๋‹ค.

  1. BB๊ฐ€ ์ผ์–ด๋‚œ ๊ฒฝ์šฐ๋งŒ ๋ชจ์•„ ๋†“๋Š”๋‹ค.
  2. ๊ทธ์ค‘์—์„œ AA๋„ ๊ฐ™์ด ์ผ์–ด๋‚œ ๋น„์œจ์„ ๋ณธ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ „์ฒด 100๋ช… ์ค‘ ์นด๋“œ ์ง€์ถœ์•ก์ด ๋†’์€ ์‚ฌ๋žŒ์ด 20๋ช…์ด๊ณ , ๊ทธ 20๋ช… ์ค‘ default๊ฐ€ ๋‚œ ์‚ฌ๋žŒ์ด 8๋ช…์ด๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P(defaultโˆฃhighย spending)=820=0.4P(\text{default} \mid \text{high spending}) = \cfrac{8}{20} = 0.4

์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์€ โ€œ์ „์ฒด ์ค‘ ๋ช‡ ๋ช…?โ€์ด ์•„๋‹ˆ๋ผ, ์ด๋ฏธ ์–ด๋–ค ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ ์‚ฌ๋žŒ๋“ค ์ค‘ ๋ช‡ ๋ช…?์„ ๋ฌป๋Š”๋‹ค. ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ์™€ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์€ ๋Œ€๋ถ€๋ถ„ ์ด ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฒ ์ด์ฆˆ ๋ถ„๋ฅ˜๊ธฐ

๋ถ„๋ฅ˜ ๋ชจ๋ธ์€ ๊ฒฐ๊ตญ ๊ฒฐ์ •์„ ๋‚ด๋ฆฐ๋‹ค. ์ด๋ฉ”์ผ์„ ์ŠคํŒธํ•จ์œผ๋กœ ๋ณด๋‚ผ์ง€, ํ™˜์ž์—๊ฒŒ ์ถ”๊ฐ€ ๊ฒ€์‚ฌ๋ฅผ ๊ถŒํ• ์ง€, ์นด๋“œ ๊ณ ๊ฐ์„ ์œ„ํ—˜ ๊ณ ๊ฐ์œผ๋กœ ๋ณผ์ง€ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃฌ๋‹ค.

๊ฒฐ์ •์—๋Š” ๋น„์šฉ์ด ๋”ฐ๋ฅธ๋‹ค. ์ •์ƒ ๋ฉ”์ผ์„ ์ŠคํŒธ์œผ๋กœ ๋ณด๋‚ด๋Š” ๋น„์šฉ๊ณผ ์ŠคํŒธ ๋ฉ”์ผ์„ ๋†“์น˜๋Š” ๋น„์šฉ์€ ๋‹ค๋ฅด๋‹ค. ์•” ํ™˜์ž๋ฅผ ์ •์ƒ์œผ๋กœ ํŒ๋‹จํ•˜๋Š” ๋น„์šฉ๊ณผ ์ •์ƒ์ธ์„ ์•”์œผ๋กœ ์˜ค์ง„ํ•˜๋Š” ๋น„์šฉ๋„ ๋‹ค๋ฅด๋‹ค.

์ด ๋น„์šฉ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด ์†์‹ค ํ•จ์ˆ˜(loss function)๋‹ค.

L(y,f(x))\mathcal{L}(y, f(x))

yy๋Š” ์ง„์งœ ์ •๋‹ต์ด๊ณ , f(x)f(x)๋Š” ๋ชจ๋ธ์˜ ์˜ˆ์ธก์ด๋‹ค. ์†์‹ค ํ•จ์ˆ˜๋Š” โ€œ์ •๋‹ต์ด yy์ธ๋ฐ ๋ชจ๋ธ์ด f(x)f(x)๋ผ๊ณ  ์˜ˆ์ธกํ–ˆ์„ ๋•Œ ์–ผ๋งˆ๋‚˜ ์†ํ•ด์ธ๊ฐ€?โ€๋ฅผ ์ˆซ์ž๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ์†์‹ค์€ 0-1 ์†์‹ค(0-1 loss)์ด๋‹ค.

L(y,y^)={0ifย y=y^1ifย yโ‰ y^\mathcal{L}(y, \hat{y}) = \begin{cases} 0 & \text{if } y = \hat{y} \\ 1 & \text{if } y \ne \hat{y} \end{cases}

๋งžํžˆ๋ฉด 0์ , ํ‹€๋ฆฌ๋ฉด 1์  ๋ฒŒ์ ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์ด์ œ ์ž…๋ ฅ xx ํ•˜๋‚˜๊ฐ€ ๋“ค์–ด์™”๋‹ค๊ณ  ํ•˜์ž. ์ด์ง„ ๋ถ„๋ฅ˜๋ผ์„œ ์ •๋‹ต์€ +1+1 ๋˜๋Š” โˆ’1-1 ๋‘˜ ์ค‘ ํ•˜๋‚˜๋‹ค. ์šฐ๋ฆฌ๋Š” +1+1๋กœ ์˜ˆ์ธกํ• ์ง€, โˆ’1-1๋กœ ์˜ˆ์ธกํ• ์ง€ ๊ณจ๋ผ์•ผ ํ•œ๋‹ค.

๋จผ์ € +1+1๋กœ ์˜ˆ์ธกํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

  • ์‹ค์ œ ์ •๋‹ต์ด +1+1์ด๋ฉด ๋งžํ˜”์œผ๋‹ˆ ์†์‹ค์€ 0์ด๋‹ค.
  • ์‹ค์ œ ์ •๋‹ต์ด โˆ’1-1์ด๋ฉด ํ‹€๋ ธ์œผ๋‹ˆ ์†์‹ค์€ 1์ด๋‹ค.

๋”ฐ๋ผ์„œ +1+1๋กœ ์˜ˆ์ธกํ–ˆ์„ ๋•Œ ํ‰๊ท  ์†์‹ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

0โ‹…P(y=+1โˆฃx)+1โ‹…P(y=โˆ’1โˆฃx)0 \cdot P(y=+1 \mid x) + 1 \cdot P(y=-1 \mid x)

์•ž ํ•ญ์€ 0์ด๋ฏ€๋กœ ์‚ฌ๋ผ์ง„๋‹ค.

P(y=โˆ’1โˆฃx)P(y=-1 \mid x)

์ฆ‰, +1+1๋กœ ์˜ˆ์ธกํ–ˆ์„ ๋•Œ์˜ ์†์‹ค์€ ์‚ฌ์‹ค์€ โˆ’1\boldsymbol{-1}์ผ ํ™•๋ฅ ์ด๋‹ค.

์ด๋ฒˆ์—๋Š” โˆ’1-1๋กœ ์˜ˆ์ธกํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

  • ์‹ค์ œ ์ •๋‹ต์ด โˆ’1-1์ด๋ฉด ๋งžํ˜”์œผ๋‹ˆ ์†์‹ค์€ 0์ด๋‹ค.
  • ์‹ค์ œ ์ •๋‹ต์ด +1+1์ด๋ฉด ํ‹€๋ ธ์œผ๋‹ˆ ์†์‹ค์€ 1์ด๋‹ค.

ํ‰๊ท  ์†์‹ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1โ‹…P(y=+1โˆฃx)+0โ‹…P(y=โˆ’1โˆฃx)=P(y=+1โˆฃx)1 \cdot P(y=+1 \mid x) + 0 \cdot P(y=-1 \mid x) = P(y=+1 \mid x)

๋”ฐ๋ผ์„œ ๊ฒฐ์ • ๊ทœ์น™์€ ์•„์ฃผ ๋‹จ์ˆœํ•˜๋‹ค.

  • +1+1์ผ ํ™•๋ฅ ์ด ๋” ํฌ๋ฉด +1+1์„ ๊ณ ๋ฅธ๋‹ค.
  • โˆ’1-1์ผ ํ™•๋ฅ ์ด ๋” ํฌ๋ฉด โˆ’1-1์„ ๊ณ ๋ฅธ๋‹ค.

์‹์œผ๋กœ ์“ฐ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

fโˆ—(x)={+1ifย P(y=+1โˆฃx)>P(y=โˆ’1โˆฃx)โˆ’1otherwisef^*(x) = \begin{cases} +1 & \text{if } P(y=+1 \mid x) > P(y=-1 \mid x) \\ -1 & \text{otherwise} \end{cases}

์ด๋ ‡๊ฒŒ ์‚ฌํ›„ ํ™•๋ฅ ์ด ๊ฐ€์žฅ ํฐ ํด๋ž˜์Šค๋ฅผ ๊ณ ๋ฅด๋Š” ๊ทœ์น™์ด 0-1 ์†์‹ค์—์„œ์˜ ๋ฒ ์ด์ฆˆ ๋ถ„๋ฅ˜๊ธฐ๋‹ค. ์‚ฌํ›„ ํ™•๋ฅ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณธ ๋’ค์˜ ํด๋ž˜์Šค ํ™•๋ฅ ์ด๋ผ๋Š” ๋œป์ด๋‹ค.

ml-5-1.png

๋ฒ ์ด์ฆˆ ๋ถ„๋ฅ˜๊ธฐ๋Š” ํ‰๊ท  ์†์‹ค, ์ฆ‰ ๋ฆฌ์Šคํฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ด์ƒ์ ์ธ ๋ถ„๋ฅ˜ ๊ทœ์น™์ด๋‹ค.

๊ฐ™์€ ๊ทœ์น™์„ ๋กœ๊ทธ ๋น„์œจ๋กœ๋„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

fโˆ—(x)=signโก(logโกP(y=+1โˆฃx)P(y=โˆ’1โˆฃx))f^*(x) = \operatorname{sign}\left(\log \cfrac{P(y=+1 \mid x)}{P(y=-1 \mid x)}\right)

์ด ์‹์ด ๋‚ฏ์„ค๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฒœ์ฒœํžˆ ์ฝ์–ด๋ณด์ž.

๋ถ„์ˆ˜ ์•ˆ์ชฝ์€ ๋‘ ํ™•๋ฅ ์˜ ๋น„์œจ์ด๋‹ค.

P(y=+1โˆฃx)P(y=โˆ’1โˆฃx)\cfrac{P(y=+1 \mid x)}{P(y=-1 \mid x)}

๋ถ„์ž๊ฐ€ ๋” ํฌ๋ฉด ์ด ๋น„์œจ์€ 1๋ณด๋‹ค ํฌ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 0.8/0.2=40.8 / 0.2 = 4๋‹ค. ๋ถ„๋ชจ๊ฐ€ ๋” ํฌ๋ฉด ๋น„์œจ์€ 1๋ณด๋‹ค ์ž‘๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 0.2/0.8=0.250.2 / 0.8 = 0.25๋‹ค.

๋กœ๊ทธ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ ์„ฑ์งˆ์„ ๊ฐ€์ง„๋‹ค.

  • logโก(1)=0\log(1) = 0
  • a>1a > 1์ด๋ฉด logโก(a)>0\log(a) > 0
  • 0<a<10 < a < 1์ด๋ฉด logโก(a)<0\log(a) < 0

๋”ฐ๋ผ์„œ ๋กœ๊ทธ ๋น„์œจ์ด ์–‘์ˆ˜๋ฉด +1+1 ์ชฝ ํ™•๋ฅ ์ด ๋” ํฌ๊ณ , ์Œ์ˆ˜๋ฉด โˆ’1-1 ์ชฝ ํ™•๋ฅ ์ด ๋” ํฌ๋‹ค. ๋งˆ์ง€๋ง‰์˜ signโก\operatorname{sign}์€ ๋ถ€ํ˜ธ๋งŒ ๋ณด๋Š” ํ•จ์ˆ˜๋‹ค. ์–‘์ˆ˜๋ฉด +1+1, ์Œ์ˆ˜๋ฉด โˆ’1-1์„ ๋‚ด๋†“๋Š”๋‹ค.

๋ณต์žกํ•ด ๋ณด์ด์ง€๋งŒ ๊ฒฐ๊ตญ ๊ฐ™์€ ๋ง์ด๋‹ค.

๋‘ ํด๋ž˜์Šค์˜ ํ™•๋ฅ ์„ ๋น„๊ตํ•ด์„œ ๋” ํฐ ์ชฝ์„ ๊ณ ๋ฅธ๋‹ค.

์ด์ œ ๋‚จ์€ ๋ฌธ์ œ๋Š” ํ•˜๋‚˜๋‹ค. P(yโˆฃx)P(y \mid x)๋ฅผ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ?

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ์ด ๊ฐ’์„ ์ง์ ‘ ๋ชจ๋ธ๋งํ–ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์˜ ๋ชจ๋ธ๋“ค์€ ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋กœ ์šฐํšŒํ•œ๋‹ค.

๋ฒ ์ด์ฆˆ ์ •๋ฆฌ

๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋Š” ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ๊ณต์‹์—์„œ ๋ฐ”๋กœ ๋‚˜์˜จ๋‹ค. ๋จผ์ € ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์„ ๋‘ ๋ฐฉํ–ฅ์œผ๋กœ ์จ๋ณด์ž.

P(yโˆฃx)=P(xโˆฉy)P(x)P(y \mid x) = \cfrac{P(x \cap y)}{P(x)}

๋˜ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ์“ฐ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P(xโˆฃy)=P(xโˆฉy)P(y)P(x \mid y) = \cfrac{P(x \cap y)}{P(y)}

๋‘ ๋ฒˆ์งธ ์‹์—์„œ ์–‘๋ณ€์— P(y)P(y)๋ฅผ ๊ณฑํ•˜๋ฉด ๋‹ค์Œ์ด ๋œ๋‹ค.

P(xโˆฉy)=P(xโˆฃy)P(y)P(x \cap y) = P(x \mid y)P(y)

์ด ๊ฐ’์„ ์ฒซ ๋ฒˆ์งธ ์‹์˜ P(xโˆฉy)P(x \cap y) ์ž๋ฆฌ์— ๋„ฃ๋Š”๋‹ค.

P(yโˆฃx)=P(xโˆฃy)P(y)P(x)P(y \mid x) = \cfrac{P(x \mid y)P(y)}{P(x)}

์ด๊ฒƒ์ด ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ(Bayesโ€™ theorem)๋‹ค.

์‹ ์šฉ์นด๋“œ default ์˜ˆ์‹œ๋กœ ๊ฐ ํ•ญ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณด์ž. ์—ฌ๊ธฐ์„œ๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ๋‘ ์‚ฌ๊ฑด์„ ์ •ํ•˜์ž.

  • yy: ๊ณ ๊ฐ์ด default๋ฅผ ๋‚ธ๋‹ค.
  • xx: ๊ณ ๊ฐ์˜ ์นด๋“œ ์ง€์ถœ์•ก์ด 1,900~2,100๋‹ฌ๋Ÿฌ ๊ตฌ๊ฐ„์— ์žˆ๋‹ค.

์ •ํ™•ํžˆ 2,000๋‹ฌ๋Ÿฌ์ฒ˜๋Ÿผ ํ•œ ์ ์œผ๋กœ ์žก์œผ๋ฉด ์—ฐ์†๊ฐ’์—์„œ๋Š” ํ™•๋ฅ ์„ ๋‹ค๋ฃจ๊ธฐ ์• ๋งคํ•˜๋ฏ€๋กœ, ์—ฌ๊ธฐ์„œ๋Š” ์ž‘์€ ๊ตฌ๊ฐ„์œผ๋กœ ์ƒ๊ฐํ•˜์ž.

์ „์ฒด ๊ณ ๊ฐ์ด 10,000๋ช…์ด๊ณ , ๊ทธ์ค‘ default๋ฅผ ๋‚ธ ๊ณ ๊ฐ์ด 333๋ช…์ด๋ผ๊ณ  ํ•˜์ž. ๋˜ ์นด๋“œ ์ง€์ถœ์•ก์ด 1,900~2,100๋‹ฌ๋Ÿฌ ๊ตฌ๊ฐ„์ธ ๊ณ ๊ฐ์ด 500๋ช…์ด๊ณ , ๊ทธ 500๋ช… ์ค‘ default๋ฅผ ๋‚ธ ๊ณ ๊ฐ์ด 120๋ช…์ด๋ผ๊ณ  ํ•˜์ž.

์ด๋•Œ ๊ฐ ํ•ญ์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P(yโˆฃx)\boldsymbol{P(y \mid x)}: ์‚ฌํ›„ ํ™•๋ฅ (Posterior) ๋ฐ์ดํ„ฐ xx๋ฅผ ๋ณธ ๋’ค, ํด๋ž˜์Šค๊ฐ€ yy์ผ ํ™•๋ฅ ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ๋Š” โ€œ์นด๋“œ ์ง€์ถœ์•ก์ด 1,900~2,100๋‹ฌ๋Ÿฌ๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  ์žˆ์„ ๋•Œ, ์ด ๊ณ ๊ฐ์ด default๋ฅผ ๋‚ผ ํ™•๋ฅ โ€์ด๋‹ค. ์œ„ ์ˆซ์ž๋กœ๋Š” ํ•ด๋‹น ๊ตฌ๊ฐ„ ๊ณ ๊ฐ 500๋ช… ์ค‘ 120๋ช…์ด default๋ฅผ ๋ƒˆ์œผ๋ฏ€๋กœ 120/500=0.24120/500 = 0.24๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ์•Œ๊ณ  ์‹ถ์€ ๊ฐ’์ด๋‹ค.

P(xโˆฃy)\boldsymbol{P(x \mid y)}: ๊ฐ€๋Šฅ๋„(Likelihood) ํด๋ž˜์Šค๊ฐ€ yy๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ์ด๋Ÿฐ ๋ฐ์ดํ„ฐ xx๊ฐ€ ๋‚˜์˜ฌ ํ™•๋ฅ ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ๋Š” โ€œdefault๋ฅผ ๋‚ธ ๊ณ ๊ฐ๋“ค ์ค‘ ์นด๋“œ ์ง€์ถœ์•ก์ด 1,900~2,100๋‹ฌ๋Ÿฌ ๊ตฌ๊ฐ„์— ์žˆ์„ ํ™•๋ฅ โ€์ด๋‹ค. default ๊ณ ๊ฐ 333๋ช… ์ค‘ 120๋ช…์ด ์ด ๊ตฌ๊ฐ„์— ์žˆ์œผ๋ฏ€๋กœ 120/333โ‰ˆ0.36120/333 \approx 0.36์ด๋‹ค.

P(y)\boldsymbol{P(y)}: ์‚ฌ์ „ ํ™•๋ฅ (Prior) ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ธฐ ์ „์— ํด๋ž˜์Šค yy๊ฐ€ ๋‚˜์˜ฌ ๊ธฐ๋ณธ ํ™•๋ฅ ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ๋Š” ๊ณ ๊ฐ์˜ ์นด๋“œ ์ง€์ถœ์•ก์„ ๋ณด๊ธฐ ์ „์—, ์•„๋ฌด ๊ณ ๊ฐ์ด๋‚˜ ํ•œ ๋ช… ๋ฝ‘์•˜์„ ๋•Œ default๋ฅผ ๋‚ผ ํ™•๋ฅ ์ด๋‹ค. ์ „์ฒด 10,000๋ช… ์ค‘ 333๋ช…์ด default๋ฅผ ๋ƒˆ์œผ๋ฏ€๋กœ 333/10000=0.0333333/10000 = 0.0333์ด๋‹ค.

P(x)\boldsymbol{P(x)}: ์ฆ๊ฑฐ(Evidence) ์ „์ฒด ๋ฐ์ดํ„ฐ์—์„œ xx๊ฐ€ ๋‚˜ํƒ€๋‚  ํ™•๋ฅ ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ๋Š” ์•„๋ฌด ๊ณ ๊ฐ์ด๋‚˜ ํ•œ ๋ช… ๋ฝ‘์•˜์„ ๋•Œ ์นด๋“œ ์ง€์ถœ์•ก์ด 1,900~2,100๋‹ฌ๋Ÿฌ ๊ตฌ๊ฐ„์— ์žˆ์„ ํ™•๋ฅ ์ด๋‹ค. ์ „์ฒด 10,000๋ช… ์ค‘ 500๋ช…์ด ์ด ๊ตฌ๊ฐ„์— ์žˆ์œผ๋ฏ€๋กœ 500/10000=0.05500/10000 = 0.05๋‹ค.

๋ฒ ์ด์ฆˆ ์ •๋ฆฌ์— ๋„ฃ์œผ๋ฉด ๋‹ค์Œ์ฒ˜๋Ÿผ ์‚ฌํ›„ ํ™•๋ฅ ์ด ๋‚˜์˜จ๋‹ค.

P(yโˆฃx)=P(xโˆฃy)P(y)P(x)=0.36ร—0.03330.05โ‰ˆ0.24P(y \mid x) = \cfrac{P(x \mid y)P(y)}{P(x)} = \cfrac{0.36 \times 0.0333}{0.05} \approx 0.24

์ฆ‰, ์นด๋“œ ์ง€์ถœ์•ก์ด ๋†’์€ ๊ตฌ๊ฐ„์— ์žˆ๋‹ค๋Š” ์ •๋ณด๋ฅผ ๋ณด๊ณ  ๋‚˜๋ฉด default ํ™•๋ฅ ์„ 3.33%์—์„œ 24%๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๊ฒƒ์ด ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ์˜ ํ•ต์‹ฌ์ด๋‹ค. ๊ด€์ธกํ•œ ๋ฐ์ดํ„ฐ x\boldsymbol{x}๋ฅผ ๊ทผ๊ฑฐ๋กœ, y\boldsymbol{y}์ผ ํ™•๋ฅ ์„ ๊ฐฑ์‹ ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ๋ถ„๋ฅ˜์—์„  ์—ฌ๊ธฐ์„œ ํ•œ ๊ฑธ์Œ ๋” ๋‚˜์•„๊ฐ€์•ผ ํ•œ๋‹ค. ๊ณ ๊ฐ์ด default๋ฅผ ๋‚ผ ๊ฐ€๋Šฅ์„ฑ๋งŒ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, default๋ฅผ ๋‚ด์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ๋„ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค. ์ดํ›„ ๋” ๊ทธ๋Ÿด๋“ฏํ•œ ์ชฝ์„ ์ตœ์ข… ์˜ˆ์ธก์œผ๋กœ ๊ณ ๋ฅธ๋‹ค.

์œ„ ์˜ˆ์‹œ๋ฅผ ์ด์ง„ ๋ถ„๋ฅ˜ ํ‘œ๊ธฐ๋กœ ์“ฐ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • y=+1y=+1: default
  • y=โˆ’1y=-1: default ์•„๋‹˜
  • xx: ์นด๋“œ ์ง€์ถœ์•ก์ด 1,900~2,100๋‹ฌ๋Ÿฌ ๊ตฌ๊ฐ„์— ์žˆ์Œ

๊ทธ๋Ÿฌ๋ฉด ๋น„๊ตํ•ด์•ผ ํ•  ๋‘ ๊ฐ’์€ ๋‹ค์Œ์ด๋‹ค.

P(y=+1โˆฃx)=P(xโˆฃy=+1)P(y=+1)P(x)P(y=+1 \mid x) = \cfrac{P(x \mid y=+1)P(y=+1)}{P(x)}

P(y=โˆ’1โˆฃx)=P(xโˆฃy=โˆ’1)P(y=โˆ’1)P(x)P(y=-1 \mid x) = \cfrac{P(x \mid y=-1)P(y=-1)}{P(x)}

๋‘ ์‹์˜ ๋ถ„๋ชจ๋Š” ๋˜‘๊ฐ™์ด P(x)P(x)๋‹ค. ๊ฐ™์€ xx๋ฅผ ๋‘๊ณ  ํด๋ž˜์Šค๋ฅผ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ถ„๋ชจ๊ฐ€ ๊ฐ™์œผ๋ฉด ๋Œ€์†Œ ๋น„๊ต์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ„์ž๋งŒ ๋น„๊ตํ•œ๋‹ค.

P(xโˆฃy=+1)P(y=+1)vs.P(xโˆฃy=โˆ’1)P(y=โˆ’1)P(x \mid y=+1)P(y=+1) \quad \text{vs.} \quad P(x \mid y=-1)P(y=-1)

์ด๋ฅผ ์งง๊ฒŒ ์“ฐ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P(yโˆฃx)โˆP(xโˆฃy)P(y)P(y \mid x) \propto P(x \mid y)P(y)

โˆ\propto๋Š” โ€œ๋น„๋ก€ํ•œ๋‹คโ€๋Š” ๋œป์ด๋‹ค. ์ •ํ™•ํ•œ ํ™•๋ฅ ๊ฐ’์„ ๊ตฌํ•˜๋ ค๋ฉด ๋‚˜์ค‘์— ์ „์ฒด ํ•ฉ์ด 1์ด ๋˜๋„๋ก ๋‚˜๋ˆ ์ค˜์•ผ ํ•˜์ง€๋งŒ, ์–ด๋А ํด๋ž˜์Šค๊ฐ€ ๋” ํฐ์ง€ ๊ณ ๋ฅด๋Š” ๊ฑด ๋ถ„์ž๋งŒ ๋น„๊ตํ•ด๋„ ๋œ๋‹ค.

ml-5-5.png

๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋Š” ์ง์ ‘ ์•Œ๊ธฐ ์–ด๋ ค์šด ์‚ฌํ›„ ํ™•๋ฅ ์„ ๊ฐ€๋Šฅ๋„์™€ ์‚ฌ์ „ ํ™•๋ฅ ๋กœ ๋ฐ”๊พผ๋‹ค.

์ด์ œ ๊ฐ™์€ ์ƒ๊ฐ์„ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋กœ ์˜ฎ๊ฒจ๋ณด์ž. ์ด๋ฒˆ์—๋Š” ์‹ ์šฉ์นด๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฉ”์ผ ๋ถ„๋ฅ˜ ์˜ˆ์‹œ๋‹ค. ์–ด๋–ค ๋ฉ”์ผ์— free์™€ meeting์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค. ์ŠคํŒธ ๋ฉ”์ผ๊ณผ ์ •์ƒ ๋ฉ”์ผ์—์„œ ๊ฐ ๋‹จ์–ด๊ฐ€ ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ์ด๋ฏธ ์ถ”์ •ํ•ด ๋‘์—ˆ๋‹ค๊ณ  ํ•˜์ž.

import math
priors = {"spam": 0.3, "normal": 0.7}
likelihoods = {
"spam": {"free": 0.80, "meeting": 0.10},
"normal": {"free": 0.05, "meeting": 0.60},
}
tokens = ["free", "meeting"]
scores = {}
for label in priors:
score = math.log(priors[label])
for token in tokens:
score += math.log(likelihoods[label][token])
scores[label] = score
best = max(scores, key=scores.get)
for label, score in scores.items():
print(f"{label:6s}: log-score={score:.3f}")
print("prediction:", best)
spam : log-score=-3.730
normal: log-score=-3.863
prediction: spam

์—ฌ๊ธฐ์„œ ๋กœ๊ทธ๋ฅผ ์“ด ์ด์œ ๋Š” ๊ณ„์‚ฐ ์•ˆ์ •์„ฑ ๋•Œ๋ฌธ์ด๋‹ค. ํ™•๋ฅ ์€ ๋ณดํ†ต 0๊ณผ 1 ์‚ฌ์ด์˜ ์ž‘์€ ์ˆ˜๋‹ค. ์ปดํ“จํ„ฐ ๊ณ„์‚ฐ์—์„œ๋Š” ์ž‘์€ ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ณฑํ•˜๋ฉด ๊ฐ’์ด 0์œผ๋กœ ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณฑ์…ˆ์„ ๋ง์…ˆ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ๋ฅผ ์ทจํ•œ๋‹ค.

logโก(ab)=logโกa+logโกb\log(ab) = \log a + \log b

๋Œ€์†Œ ๊ด€๊ณ„๋Š” ๊ทธ๋Œ€๋กœ ๋ณด์กด๋œ๋‹ค. ๋กœ๊ทธ๋Š” ๋‹จ์กฐ ์ฆ๊ฐ€ ํ•จ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, a>ba > b์ด๋ฉด logโกa>logโกb\log a > \log b๋‹ค. ๊ทธ๋ž˜์„œ ํ™•๋ฅ  ๊ณฑ์„ ์ง์ ‘ ๋น„๊ตํ•˜์ง€ ์•Š๊ณ  ๋กœ๊ทธ ์ ์ˆ˜๋ฅผ ๋น„๊ตํ•ด๋„ ๊ฐ™์€ ๊ฒฐ๋ก ์ด ๋‚˜์˜จ๋‹ค.

์ƒ์„ฑ ๋ชจ๋ธ๊ณผ ํŒ๋ณ„ ๋ชจ๋ธ

์ด์ œ ๋‘ ๋ถ„๋ฅ˜ ์ ‘๊ทผ์„ ๋ถ„๋ช…ํžˆ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

ํŒ๋ณ„ ๋ชจ๋ธ(discriminative model)์€ P(yโˆฃx)P(y \mid x)๋ฅผ ์ง์ ‘ ํ•™์Šตํ•œ๋‹ค. ์ž…๋ ฅ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ํด๋ž˜์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ฐ”๋กœ ๋งžํžˆ๋ ค ํ•œ๋‹ค. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๊ฐ€ ์—ฌ๊ธฐ์— ์†ํ•œ๋‹ค.

์ƒ์„ฑ ๋ชจ๋ธ(generative model)์€ P(y)P(y)์™€ P(xโˆฃy)P(x \mid y)๋ฅผ ๋จผ์ € ํ•™์Šตํ•œ๋‹ค. ํด๋ž˜์Šค๋ณ„ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ๋ฐฐ์šด ๋’ค, ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋กœ P(yโˆฃx)P(y \mid x)๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

ml-5-6.png

ํŒ๋ณ„ ๋ชจ๋ธ์€ ๊ฒฐ์ • ๊ฒฝ๊ณ„๋ฅผ ์ง์ ‘ ๋ฐฐ์šฐ๊ณ , ์ƒ์„ฑ ๋ชจ๋ธ์€ ํด๋ž˜์Šค๋ณ„ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ๋จผ์ € ๋ฐฐ์šด๋‹ค.

์ƒ์„ฑ ๋ชจ๋ธ์˜ ํ•ต์‹ฌ ์งˆ๋ฌธ์€ ์ด๊ฒƒ์ด๋‹ค.

ํด๋ž˜์Šค๊ฐ€ ์ •ํ•ด์กŒ์„ ๋•Œ, ๋ฐ์ดํ„ฐ xx๋Š” ์–ด๋–ค ๋ถ„ํฌ์—์„œ ๋‚˜์™”๋‹ค๊ณ  ๋ณผ ๊ฒƒ์ธ๊ฐ€?

๊ฐ€์žฅ ๋จผ์ € ๋ณผ ๋‹ต์€ ์ •๊ทœ ๋ถ„ํฌ(Gaussian distribution)๋‹ค.

์ •๊ทœ ๋ถ„ํฌ๋กœ ํด๋ž˜์Šค ๋ชจ์–‘ ํ‘œํ˜„ํ•˜๊ธฐ

์ •๊ทœ ๋ถ„ํฌ๋Š” ์ข… ๋ชจ์–‘์˜ ๋ถ„ํฌ๋‹ค. ํ‰๊ท  ๊ทผ์ฒ˜์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ๋ชจ์ด๊ณ , ํ‰๊ท ์—์„œ ๋ฉ€์–ด์งˆ์ˆ˜๋ก ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์–ด์ง„๋‹ค.

1์ฐจ์› ์ •๊ทœ ๋ถ„ํฌ์˜ ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

N(x;ฮผ,ฯƒ2)=12ฯ€ฯƒ2expโก(โˆ’(xโˆ’ฮผ)22ฯƒ2)\mathcal{N}(x;\mu,\sigma^2) = \cfrac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\cfrac{(x-\mu)^2}{2\sigma^2}\right)

๊ธฐํ˜ธ๊ฐ€ ๋งŽ์ง€๋งŒ ๊ฐ ๋ถ€๋ถ„์˜ ์—ญํ• ์€ ์–ด๋ ต์ง€ ์•Š๋‹ค.

ฮผ\boldsymbol{\mu}๋Š” ํ‰๊ท ์ด๋‹ค. ๋ถ„ํฌ์˜ ์ค‘์‹ฌ ์œ„์น˜๋ฅผ ์ •ํ•œ๋‹ค.

ฯƒ2\boldsymbol{\sigma^2}๋Š” ๋ถ„์‚ฐ์ด๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋„“๊ฒŒ ํผ์ง€๋Š”์ง€ ์ •ํ•œ๋‹ค. ๋ถ„์‚ฐ์ด ์ž‘์œผ๋ฉด ์ข๊ณ  ๋พฐ์กฑํ•œ ๋ถ„ํฌ๊ฐ€ ๋˜๊ณ , ๋ถ„์‚ฐ์ด ํฌ๋ฉด ๋„“๊ฒŒ ํผ์ง„ ๋ถ„ํฌ๊ฐ€ ๋œ๋‹ค.

(xโˆ’ฮผ)2\boldsymbol{(x-\mu)^2}๋Š” xx๊ฐ€ ํ‰๊ท ์—์„œ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ œ๊ณฑ์ด๋ฏ€๋กœ ์™ผ์ชฝ์œผ๋กœ ๋ฉ€์–ด์ ธ๋„, ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฉ€์–ด์ ธ๋„ ๊ฐ’์ด ์ปค์ง„๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€๋Š” xx๊ฐ€ ์ˆซ์ž ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ˜„์‹ค ๋ฐ์ดํ„ฐ๋Š” ๋ณดํ†ต ํ”ผ์ฒ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ๊ฐ ํ•œ ๋ช…์„ ์„ค๋ช…ํ•  ๋•Œ ์นด๋“œ ์ง€์ถœ์•ก๋งŒ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์†Œ๋“, ๋‚˜์ด, ์—ฐ์ฒด ์ด๋ ฅ ๊ฐ™์€ ๊ฐ’์„ ํ•จ๊ป˜ ๋ณธ๋‹ค.

์ด๋•Œ ๊ฐ ํ”ผ์ฒ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ํผ์ ธ ์žˆ๋Š”์ง€๋Š” ์—ฌ์ „ํžˆ ๋ถ„์‚ฐ(variance)์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”ผ์ฒ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด ํ•œ ๊ฐ€์ง€๋ฅผ ๋” ๋ด์•ผ ํ•œ๋‹ค. ๋‘ ํ”ผ์ฒ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•จ๊ป˜ ์›€์ง์ด๋Š”๊ฐ€๋‹ค. ์ด๊ฑธ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ด ๊ณต๋ถ„์‚ฐ(covariance)์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ํ”ผ์ฒ˜๋ฅผ ์ด๋ ‡๊ฒŒ ๋‘์ž.

  • x1x_1: ์นด๋“œ ์ง€์ถœ์•ก
  • x2x_2: ์—ฐ์ฒด ์ผ์ˆ˜

์นด๋“œ ์ง€์ถœ์•ก์ด ํ‰๊ท ๋ณด๋‹ค ํฐ ๊ณ ๊ฐ๋“ค์ด ์—ฐ์ฒด ์ผ์ˆ˜๋„ ํ‰๊ท ๋ณด๋‹ค ํฐ ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค๋ฉด, ๋‘ ๊ฐ’์€ ๊ฐ™์€ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ธ๋‹ค. ์ด๋•Œ ๊ณต๋ถ„์‚ฐ์€ ์–‘์ˆ˜๊ฐ€ ๋œ๋‹ค.

๋ฐ˜๋Œ€๋กœ ์นด๋“œ ์ง€์ถœ์•ก์ด ํ‰๊ท ๋ณด๋‹ค ํฐ ๊ณ ๊ฐ์ผ์ˆ˜๋ก ์—ฐ์ฒด ์ผ์ˆ˜๋Š” ํ‰๊ท ๋ณด๋‹ค ์ž‘์€ ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค๋ฉด, ๋‘ ๊ฐ’์€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ธ๋‹ค. ์ด๋•Œ ๊ณต๋ถ„์‚ฐ์€ ์Œ์ˆ˜๊ฐ€ ๋œ๋‹ค.

๋‘˜ ์‚ฌ์ด์— ๋šœ๋ ทํ•œ ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค๋ฉด ๊ณต๋ถ„์‚ฐ์€ 0์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค.

๊ณต๋ถ„์‚ฐ ๊ณต์‹์€ ๋‹ค์Œ์ฒ˜๋Ÿผ ์ƒ๊ฒผ๋‹ค.

Covโก(x1,x2)=1nโˆ‘i=1n(xi1โˆ’ฮผ1)(xi2โˆ’ฮผ2)\operatorname{Cov}(x_1, x_2) = \cfrac{1}{n}\sum_{i=1}^{n}(x_{i1}-\mu_1)(x_{i2}-\mu_2)

๊ณต์‹ ์•ˆ์˜ ๊ณฑ์…ˆ์ด ํ•ต์‹ฌ์ด๋‹ค. ์–ด๋–ค ๊ณ ๊ฐ์ด ๋‘ ํ”ผ์ฒ˜ ๋ชจ๋‘ ํ‰๊ท ๋ณด๋‹ค ํฌ๋ฉด ๋‘ ๊ด„ํ˜ธ๊ฐ€ ๋ชจ๋‘ ์–‘์ˆ˜๋ผ ๊ณฑ์ด ์–‘์ˆ˜๋‹ค. ๋‘ ํ”ผ์ฒ˜ ๋ชจ๋‘ ํ‰๊ท ๋ณด๋‹ค ์ž‘์•„๋„ ๋‘ ๊ด„ํ˜ธ๊ฐ€ ๋ชจ๋‘ ์Œ์ˆ˜๋ผ ๊ณฑ์€ ๋‹ค์‹œ ์–‘์ˆ˜๋‹ค. ์ฆ‰, ๋‘ ๊ฐ’์ด ๊ฐ™์€ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด ์–‘์ˆ˜๊ฐ€ ์Œ“์ธ๋‹ค. ํ•œ์ชฝ์€ ํ‰๊ท ๋ณด๋‹ค ํฌ๊ณ  ๋‹ค๋ฅธ ์ชฝ์€ ํ‰๊ท ๋ณด๋‹ค ์ž‘์œผ๋ฉด ๊ณฑ์ด ์Œ์ˆ˜๊ฐ€ ๋œ๋‹ค.

ํ”ผ์ฒ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ๋Š” ์ด๋Ÿฐ ๋ถ„์‚ฐ๊ณผ ๊ณต๋ถ„์‚ฐ์„ ํ‘œ์ฒ˜๋Ÿผ ๋ชจ์•„ ๋‘”๋‹ค. ์ด๊ฒƒ์„ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ(covariance matrix)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋Œ€๊ฐ์„ ์—๋Š” ๊ฐ ํ”ผ์ฒ˜์˜ ๋ถ„์‚ฐ์ด ๋“ค์–ด๊ฐ€๊ณ , ๋Œ€๊ฐ์„  ๋ฐ”๊นฅ์—๋Š” ํ”ผ์ฒ˜๋ผ๋ฆฌ์˜ ๊ณต๋ถ„์‚ฐ์ด ๋“ค์–ด๊ฐ„๋‹ค.

ฮฃ=[Varโก(x1)Covโก(x1,x2)Covโก(x2,x1)Varโก(x2)]\Sigma = \begin{bmatrix} \operatorname{Var}(x_1) & \operatorname{Cov}(x_1, x_2) \\ \operatorname{Cov}(x_2, x_1) & \operatorname{Var}(x_2) \end{bmatrix}

์—ฌ๊ธฐ์„œ ๊ณง๋ฐ”๋กœ ํ–‰๋ ฌ ์ˆ˜์‹์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์„ค๋ช…์ด ๋„ˆ๋ฌด ๋ฌด๊ฑฐ์›Œ์ง„๋‹ค. ๊ทธ๋ž˜์„œ ๋จผ์ € 1์ฐจ์›, ์ฆ‰ ํ”ผ์ฒ˜๊ฐ€ ํ•˜๋‚˜๋ฟ์ธ ๊ฒฝ์šฐ๋ถ€ํ„ฐ ๋ณด์ž. 1์ฐจ์›์—์„œ๋Š” ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ๊นŒ์ง€ ๊ฐˆ ํ•„์š”๊ฐ€ ์—†๊ณ , ๋ถ„์‚ฐ ฯƒ2\sigma^2 ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ๋œ๋‹ค.

ํŒ๋ณ„ ๋ถ„์„์€ ๋จผ์ € ํด๋ž˜์Šค๋ณ„๋กœ ์ด๋Ÿฐ 1์ฐจ์› ์ •๊ทœ ๋ถ„ํฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

xโˆฃy=kโˆผN(ฮผk,ฯƒk2)x \mid y=k \sim \mathcal{N}(\mu_k, \sigma_k^2)

โ€œํด๋ž˜์Šค๊ฐ€ kk๋ผ๋ฉด, xx๋Š” ํ‰๊ท  ฮผk\mu_k, ๋ถ„์‚ฐ ฯƒk2\sigma_k^2์ธ ์ •๊ทœ ๋ถ„ํฌ์—์„œ ๋‚˜์˜จ๋‹คโ€๋Š” ๋œป์ด๋‹ค.

์ด์ œ ์ด ๋‹จ์ˆœํ•œ 1์ฐจ์› ์‹์œผ๋กœ QDA์™€ LDA์˜ ํ•ต์‹ฌ ์ฐจ์ด๋ฅผ ๋จผ์ € ์ดํ•ดํ•˜์ž. ๋‹ค์ฐจ์›์—์„œ๋Š” ๋’ค์—์„œ ฯƒ2\sigma^2 ์ž๋ฆฌ์— ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ ฮฃ\Sigma๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค๊ณ  ํ™•์žฅํ•˜๋ฉด ๋œ๋‹ค.

ml-5-8.png

๊ฐ ํด๋ž˜์Šค์˜ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ๋ฐ์ดํ„ฐ์—์„œ ์ถ”์ •ํ•œ ๋’ค, ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋А ๋ถ„ํฌ์—์„œ ๋” ์ž์—ฐ์Šค๋Ÿฌ์šด์ง€ ๋น„๊ตํ•œ๋‹ค.

์ด 1์ฐจ์› ๊ฐ€์ •์—์„œ QDA์™€ LDA๊ฐ€ ๋‚˜์˜จ๋‹ค. ๋‘˜์˜ ์ฐจ์ด๋Š” ๋ถ„์‚ฐ์„ ์–ด๋–ป๊ฒŒ ๋ณด๋А๋ƒ์— ์žˆ๋‹ค.

  • QDA: ํด๋ž˜์Šค๋งˆ๋‹ค ๋ถ„์‚ฐ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.
  • LDA: ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ๊ฐ™์€ ๋ถ„์‚ฐ์„ ๊ฐ€์ง„๋‹ค๊ณ  ๋ณธ๋‹ค.

๋จผ์ € QDA๋ถ€ํ„ฐ ๋ณด์ž.

QDA - ๋ถ„์‚ฐ์ด ๋‹ค๋ฅด๋ฉด ์ด์ฐจ์‹์ด ๋‚จ๋Š”๋‹ค

QDA(Quadratic Discriminant Analysis)๋Š” ํด๋ž˜์Šค๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ถ„์‚ฐ์„ ํ—ˆ์šฉํ•œ๋‹ค.

์ด์ง„ ๋ถ„๋ฅ˜์—์„œ ๋‘ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž.

yโˆˆ{+1,โˆ’1}y \in \{+1, -1\}

๊ฐ ํด๋ž˜์Šค์˜ ๋ถ„ํฌ๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ๋‘”๋‹ค.

xโˆฃy=+1โˆผN(ฮผ1,ฯƒ12)x \mid y=+1 \sim \mathcal{N}(\mu_1, \sigma_1^2)

xโˆฃy=โˆ’1โˆผN(ฮผโˆ’1,ฯƒโˆ’12)x \mid y=-1 \sim \mathcal{N}(\mu_{-1}, \sigma_{-1}^2)

๋ฒ ์ด์ฆˆ ๋ถ„๋ฅ˜๊ธฐ๋Š” ๋‘ ์‚ฌํ›„ ํ™•๋ฅ ์„ ๋น„๊ตํ•œ๋‹ค.

P(y=+1โˆฃx)vs.P(y=โˆ’1โˆฃx)P(y=+1 \mid x) \quad \text{vs.} \quad P(y=-1 \mid x)

๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋ฅผ ์“ฐ๋ฉด ๋ถ„๋ชจ P(x)P(x)๋Š” ์–‘์ชฝ์—์„œ ๊ฐ™์œผ๋ฏ€๋กœ, ๋‹ค์Œ ๋‘˜๋งŒ ๋น„๊ตํ•˜๋ฉด ๋œ๋‹ค.

P(xโˆฃy=+1)P(y=+1)P(x \mid y=+1)P(y=+1)

P(xโˆฃy=โˆ’1)P(y=โˆ’1)P(x \mid y=-1)P(y=-1)

ํด๋ž˜์Šค +1+1์˜ ์‚ฌ์ „ ํ™•๋ฅ ์„ ฮฑ\alpha๋ผ๊ณ  ๋‘์ž. ๊ทธ๋Ÿฌ๋ฉด ํด๋ž˜์Šค โˆ’1-1์˜ ์‚ฌ์ „ ํ™•๋ฅ ์€ 1โˆ’ฮฑ1-\alpha๋‹ค.

P(y=+1)=ฮฑP(y=+1)=\alpha

P(y=โˆ’1)=1โˆ’ฮฑP(y=-1)=1-\alpha

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ๋กœ๊ทธ ๋น„์œจ์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ณด๋ฉด ๋œ๋‹ค.

logโกN(x;ฮผ1,ฯƒ12)ฮฑN(x;ฮผโˆ’1,ฯƒโˆ’12)(1โˆ’ฮฑ)\log \cfrac{ \mathcal{N}(x;\mu_1,\sigma_1^2)\alpha }{ \mathcal{N}(x;\mu_{-1},\sigma_{-1}^2)(1-\alpha) }

์ด ์‹์„ ์ฒœ์ฒœํžˆ ํ’€์–ด๋ณด์ž. ์‚ฌ์šฉํ•  ๋กœ๊ทธ ์„ฑ์งˆ์€ ์„ธ ๊ฐ€์ง€๋‹ค.

logโกab=logโกaโˆ’logโกb\log \cfrac{a}{b} = \log a - \log b

logโก(ab)=logโกa+logโกb\log(ab) = \log a + \log b

logโก(eu)=u\log(e^u) = u

๋จผ์ € ๋ถ„์ˆ˜์˜ ๋กœ๊ทธ๋ฅผ ๋นผ๊ธฐ๋กœ ๋ฐ”๊พผ๋‹ค.

logโกN(x;ฮผ1,ฯƒ12)+logโกฮฑโˆ’logโกN(x;ฮผโˆ’1,ฯƒโˆ’12)โˆ’logโก(1โˆ’ฮฑ)\log \mathcal{N}(x;\mu_1,\sigma_1^2) + \log \alpha - \log \mathcal{N}(x;\mu_{-1},\sigma_{-1}^2) - \log(1-\alpha)

์ด์ œ ์ •๊ทœ ๋ถ„ํฌ์˜ ๋กœ๊ทธ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

logโกN(x;ฮผ,ฯƒ2)=logโก12ฯ€ฯƒ2+logโกexpโก(โˆ’(xโˆ’ฮผ)22ฯƒ2)\log \mathcal{N}(x;\mu,\sigma^2) = \log \cfrac{1}{\sqrt{2\pi\sigma^2}} + \log \exp\left(-\cfrac{(x-\mu)^2}{2\sigma^2}\right)

๋‘ ๋ฒˆ์งธ ํ•ญ์€ logโก(eu)=u\log(e^u)=u์ด๋ฏ€๋กœ ๋ฐ”๋กœ ๋‚ด๋ ค์˜จ๋‹ค.

logโกN(x;ฮผ,ฯƒ2)=โˆ’12logโก(2ฯ€ฯƒ2)โˆ’(xโˆ’ฮผ)22ฯƒ2\log \mathcal{N}(x;\mu,\sigma^2) = -\cfrac{1}{2}\log(2\pi\sigma^2) -\cfrac{(x-\mu)^2}{2\sigma^2}

์ด ๊ฐ’์„ ์–‘์ชฝ ํด๋ž˜์Šค์— ๋Œ€์ž…ํ•˜๋ฉด ๋‹ค์Œ ๋ชจ์–‘์ด ๋œ๋‹ค.

โˆ’12logโกฯƒ12ฯƒโˆ’12โˆ’(xโˆ’ฮผ1)22ฯƒ12+(xโˆ’ฮผโˆ’1)22ฯƒโˆ’12+logโกฮฑ1โˆ’ฮฑ-\cfrac{1}{2}\log\cfrac{\sigma_1^2}{\sigma_{-1}^2} -\cfrac{(x-\mu_1)^2}{2\sigma_1^2} +\cfrac{(x-\mu_{-1})^2}{2\sigma_{-1}^2} +\log\cfrac{\alpha}{1-\alpha}

2ฯ€2\pi๊ฐ€ ์‚ฌ๋ผ์ง„ ์ด์œ ๋Š” ์–‘์ชฝ์— ๋˜‘๊ฐ™์ด ๋“ค์–ด ์žˆ์–ด์„œ ๋นผ๋ฉด 0์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ ์ œ๊ณฑ ํ•ญ์ด๋‹ค.

(xโˆ’ฮผ1)2,(xโˆ’ฮผโˆ’1)2(x-\mu_1)^2, \quad (x-\mu_{-1})^2

์ œ๊ณฑ์‹์„ ์ „๊ฐœํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

(xโˆ’ฮผ)2=x2โˆ’2ฮผx+ฮผ2(x-\mu)^2 = x^2 - 2\mu x + \mu^2

QDA์—์„œ๋Š” ๋ถ„์‚ฐ ฯƒ12\sigma_1^2์™€ ฯƒโˆ’12\sigma_{-1}^2๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด x2x^2 ์•ž์— ๋ถ™๋Š” ๊ณ„์ˆ˜๊ฐ€ ์„œ๋กœ ๋‹ฌ๋ผ์ง„๋‹ค. ๋”ฐ๋ผ์„œ ๋‘ ์‹์„ ๋นผ๋„ x2x^2 ํ•ญ์ด ์™„์ „ํžˆ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค.

๊ฒฐ์ • ๊ฒฝ๊ณ„์— x2x^2 ํ•ญ์ด ๋‚จ์œผ๋ฏ€๋กœ ๊ฒฝ๊ณ„๋Š” ์ด์ฐจ์‹(quadratic)์ด ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฆ„์ด QDA๋‹ค.

ml-5-13.png

QDA๋Š” ํด๋ž˜์Šค๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ถ„์‚ฐ๊ณผ ๊ณต๋ถ„์‚ฐ์„ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ๊ณก์„  ํ˜•ํƒœ์˜ ๊ฒฐ์ • ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋กœ QDA์™€ LDA์˜ ์ฐจ์ด๋ฅผ ์‚ดํŽด๋ณด์ž. QDA๋Š” ํด๋ž˜์Šค๋ณ„ ๋ถ„์‚ฐ์„ ๊ทธ๋Œ€๋กœ ์“ฐ๊ณ , LDA๋Š” ๊ณตํ†ต ๋ถ„์‚ฐ์„ ์“ด๋‹ค. LDA์˜ ์ˆ˜์‹์€ ๋‹ค์Œ ์ ˆ์—์„œ ์ž์„ธํžˆ ์ „๊ฐœํ•œ๋‹ค.

import math
def mean(values):
return sum(values) / len(values)
def variance(values, mu):
return sum((x - mu) ** 2 for x in values) / len(values)
def log_gaussian(x, mu, var):
return -0.5 * math.log(2 * math.pi * var) - ((x - mu) ** 2) / (2 * var)
groups = {
"safe": [720, 810, 890, 940, 1010, 1080],
"risk": [1320, 1500, 1710, 1970, 2310, 2760],
}
stats = {}
total = sum(len(v) for v in groups.values())
for label, values in groups.items():
mu = mean(values)
var = variance(values, mu)
prior = len(values) / total
stats[label] = {"mu": mu, "var": var, "prior": prior}
pooled_var = sum(len(v) * stats[k]["var"] for k, v in groups.items()) / total
def predict_qda(x):
scores = {}
for label, s in stats.items():
scores[label] = math.log(s["prior"]) + log_gaussian(x, s["mu"], s["var"])
return max(scores, key=scores.get)
def predict_lda(x):
scores = {}
for label, s in stats.items():
scores[label] = math.log(s["prior"]) + log_gaussian(x, s["mu"], pooled_var)
return max(scores, key=scores.get)
for label, s in stats.items():
print(f"{label}: mean={s['mu']:.1f}, var={s['var']:.1f}")
print(f"pooled var={pooled_var:.1f}")
for x in [1000, 1500, 2200]:
print(f"spending={x}: QDA={predict_qda(x)}, LDA={predict_lda(x)}")
safe: mean=908.3, var=14380.6
risk: mean=1928.3, var=240047.2
pooled var=127213.9
spending=1000: QDA=safe, LDA=safe
spending=1500: QDA=risk, LDA=risk
spending=2200: QDA=risk, LDA=risk

QDA๋Š” ์œ ์—ฐํ•˜๋‹ค. ํด๋ž˜์Šค๋งˆ๋‹ค ํผ์ง€๋Š” ๋ชจ์–‘์ด ๋‹ฌ๋ผ๋„ ๋ฐ›์•„๋“ค์ธ๋‹ค. ๋Œ€์‹  ์ถ”์ •ํ•ด์•ผ ํ•  ๊ฐ’์ด ๋งŽ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์œผ๋ฉด ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ์ž˜๋ชป ์ถ”์ •ํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ชจ๋ธ์ด ํ”๋“ค๋ฆด ์ˆ˜ ์žˆ๋‹ค.

LDA - ๋ถ„์‚ฐ์ด ๊ฐ™์œผ๋ฉด ์ง์„ ์ด ๋œ๋‹ค

LDA(Linear Discriminant Analysis)๋Š” QDA์—์„œ ํ•œ ๊ฐ€์ง€๋ฅผ ๋” ๋‹จ์ˆœํ•˜๊ฒŒ ๋ณธ๋‹ค.

๋‘ ํด๋ž˜์Šค์˜ ๋ถ„์‚ฐ์ด ๊ฐ™๋‹ค.

1์ฐจ์›์—์„œ๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ์“ด๋‹ค.

ฯƒ12=ฯƒโˆ’12=ฯƒ2\sigma_1^2 = \sigma_{-1}^2 = \sigma^2

QDA์—์„œ ๋ดค๋˜ ๋กœ๊ทธ ๋น„์œจ ์‹์„ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค์ž.

โˆ’12logโกฯƒ12ฯƒโˆ’12โˆ’(xโˆ’ฮผ1)22ฯƒ12+(xโˆ’ฮผโˆ’1)22ฯƒโˆ’12+logโกฮฑ1โˆ’ฮฑ-\cfrac{1}{2}\log\cfrac{\sigma_1^2}{\sigma_{-1}^2} -\cfrac{(x-\mu_1)^2}{2\sigma_1^2} +\cfrac{(x-\mu_{-1})^2}{2\sigma_{-1}^2} +\log\cfrac{\alpha}{1-\alpha}

์ด์ œ ๋‘ ๋ถ„์‚ฐ ฯƒ12\sigma_1^2์™€ ฯƒโˆ’12\sigma_{-1}^2๊ฐ€ ๊ฐ™๋‹ค๊ณ  ํ•˜์ž.

์ฒซ ๋ฒˆ์งธ ํ•ญ์€ ์ด๋ ‡๊ฒŒ ๋œ๋‹ค.

โˆ’12logโกฯƒ2ฯƒ2=โˆ’12logโก1=0-\cfrac{1}{2}\log\cfrac{\sigma^2}{\sigma^2} = -\cfrac{1}{2}\log 1 = 0

๋ถ„์‚ฐ ๋น„์œจ์ด 1์ด๋ฏ€๋กœ ์‚ฌ๋ผ์ง„๋‹ค.

๋‚จ์€ ์ œ๊ณฑ ํ•ญ์„ ๋ณด์ž.

โˆ’(xโˆ’ฮผ1)22ฯƒ2+(xโˆ’ฮผโˆ’1)22ฯƒ2-\cfrac{(x-\mu_1)^2}{2\sigma^2} +\cfrac{(x-\mu_{-1})^2}{2\sigma^2}

๋ถ„๋ชจ๊ฐ€ ๊ฐ™์œผ๋‹ˆ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.

(xโˆ’ฮผโˆ’1)2โˆ’(xโˆ’ฮผ1)22ฯƒ2\cfrac{(x-\mu_{-1})^2 - (x-\mu_1)^2}{2\sigma^2}

์ด์ œ ์ œ๊ณฑ์‹์„ ์ „๊ฐœํ•œ๋‹ค.

(xโˆ’ฮผโˆ’1)2=x2โˆ’2ฮผโˆ’1x+ฮผโˆ’12(x-\mu_{-1})^2 = x^2 - 2\mu_{-1}x + \mu_{-1}^2

(xโˆ’ฮผ1)2=x2โˆ’2ฮผ1x+ฮผ12(x-\mu_1)^2 = x^2 - 2\mu_1x + \mu_1^2

๋‘ ์‹์„ ๋นผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

(xโˆ’ฮผโˆ’1)2โˆ’(xโˆ’ฮผ1)2(x-\mu_{-1})^2 - (x-\mu_1)^2 =(x2โˆ’2ฮผโˆ’1x+ฮผโˆ’12)โˆ’(x2โˆ’2ฮผ1x+ฮผ12)= (x^2 - 2\mu_{-1}x + \mu_{-1}^2) - (x^2 - 2\mu_1x + \mu_1^2)

๊ด„ํ˜ธ๋ฅผ ํ’€๋ฉด x2x^2 ํ•ญ๊ณผ โˆ’x2-x^2 ํ•ญ์ด ๋งŒ๋‚œ๋‹ค.

=x2โˆ’2ฮผโˆ’1x+ฮผโˆ’12โˆ’x2+2ฮผ1xโˆ’ฮผ12= x^2 - 2\mu_{-1}x + \mu_{-1}^2 - x^2 + 2\mu_1x - \mu_1^2

x2x^2 ํ•ญ์ด ์‚ฌ๋ผ์ง„๋‹ค.

=2(ฮผ1โˆ’ฮผโˆ’1)x+ฮผโˆ’12โˆ’ฮผ12= 2(\mu_1-\mu_{-1})x + \mu_{-1}^2 - \mu_1^2

์ด์ œ ์ „์ฒด ์‹์€ xx์— ๋Œ€ํ•œ ์ผ์ฐจ์‹์ด ๋œ๋‹ค.

ฮผ1โˆ’ฮผโˆ’1ฯƒ2xโˆ’ฮผ12โˆ’ฮผโˆ’122ฯƒ2+logโกฮฑ1โˆ’ฮฑ\cfrac{\mu_1-\mu_{-1}}{\sigma^2}x - \cfrac{\mu_1^2-\mu_{-1}^2}{2\sigma^2} + \log\cfrac{\alpha}{1-\alpha}

๋ณต์žกํ•ด ๋ณด์ด์ง€๋งŒ ์ค‘์š”ํ•œ ๊ฒฐ๋ก ์€ ํ•˜๋‚˜๋‹ค.

๋ถ„์‚ฐ์ด ๊ฐ™๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด x2x^2 ํ•ญ์ด ์ƒ์‡„๋˜์–ด ์‚ฌ๋ผ์ง„๋‹ค.

๊ทธ๋ž˜์„œ ๊ฒฐ์ • ๊ฒฝ๊ณ„๊ฐ€ ์ง์„ ์ด ๋œ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์ด๋ฆ„์ด Linear Discriminant Analysis๋‹ค.

QDA์™€ LDA์˜ ์ฐจ์ด๋Š” ๊ฒฐ๊ตญ ์—ฌ๊ธฐ์„œ ๊ฐˆ๋ฆฐ๋‹ค.

  • QDA: ๋ถ„์‚ฐ์ด ๋‹ฌ๋ผ๋„ ๋œ๋‹ค. x2x^2 ํ•ญ์ด ๋‚จ๋Š”๋‹ค. ๊ฒฝ๊ณ„๊ฐ€ ๊ณก์„ ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
  • LDA: ๋ถ„์‚ฐ์ด ๊ฐ™๋‹ค๊ณ  ๋ณธ๋‹ค. x2x^2 ํ•ญ์ด ์‚ฌ๋ผ์ง„๋‹ค. ๊ฒฝ๊ณ„๊ฐ€ ์ง์„ ์ด ๋œ๋‹ค.

LDA๋Š” QDA๋ณด๋‹ค ๋œ ์œ ์—ฐํ•˜๋‹ค. ๋Œ€์‹  ์ถ”์ •ํ•ด์•ผ ํ•  ๊ฐ’์ด ์ ์œผ๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์„ ๋•Œ ๋” ์•ˆ์ •์ ์ด๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์ž์ฃผ ๋งŒ๋‚˜๋Š” ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋‹ค. ๋ชจ๋ธ์ด ์œ ์—ฐํ• ์ˆ˜๋ก ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๊ณ , ๋ชจ๋ธ์ด ๋‹จ์ˆœํ• ์ˆ˜๋ก ์ ์€ ๋ฐ์ดํ„ฐ๋กœ๋„ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์ฐจ์›์œผ๋กœ ํ™•์žฅํ•˜๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ xx๋ฅผ ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜์ธ 1์ฐจ์›์œผ๋กœ ๋ดค๋‹ค. ํ˜„์‹ค์—์„  ํ”ผ์ฒ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์นด๋“œ ๊ณ ๊ฐ์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค๋ฉด ์นด๋“œ ์ง€์ถœ์•ก, ์†Œ๋“, ๋‚˜์ด, ๊ฒฐ์ œ ์ด๋ ฅ ๊ฐ™์€ ๊ฐ’์ด ํ•จ๊ป˜ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

ํ”ผ์ฒ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ด๋ฉด xx๋Š” ๋ฒกํ„ฐ๊ฐ€ ๋œ๋‹ค.

x=(x1,x2,โ‹ฏโ€‰,xp)x = (x_1, x_2, \cdots, x_p)

1์ฐจ์›์—์„œ ํ‰๊ท ์€ ์ˆซ์ž ํ•˜๋‚˜์˜€์ง€๋งŒ, ๋‹ค์ฐจ์›์—์„œ๋Š” ํ‰๊ท ๋„ ๋ฒกํ„ฐ๊ฐ€ ๋œ๋‹ค.

ฮผk=(ฮผk1,ฮผk2,โ‹ฏโ€‰,ฮผkp)\mu_k = (\mu_{k1}, \mu_{k2}, \cdots, \mu_{kp})

๋ถ„์‚ฐ์€ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ๋กœ ๋ฐ”๋€๋‹ค.

ฮฃk\Sigma_k

๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์€ ํ”ผ์ฒ˜๋“ค์ด ๊ฐ๊ฐ ์–ผ๋งˆ๋‚˜ ํผ์ง€๋Š”์ง€๋ฟ ์•„๋‹ˆ๋ผ, ํ”ผ์ฒ˜๋“ค์ด ์„œ๋กœ ์–ด๋–ป๊ฒŒ ํ•จ๊ป˜ ์›€์ง์ด๋Š”์ง€๋„ ๋‹ด๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์นด๋“œ ์ง€์ถœ์•ก์ด ๋†’์„์ˆ˜๋ก ์—ฐ์ฒด ์ผ์ˆ˜๋„ ๋Š˜์–ด๋‚˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค๋ฉด ๋‘ ํ”ผ์ฒ˜๋Š” ํ•จ๊ป˜ ์›€์ง์ธ๋‹ค. ์ด๋Ÿฐ ๊ด€๊ณ„๋ฅผ ๊ณต๋ถ„์‚ฐ์ด ํ‘œํ˜„ํ•œ๋‹ค.

๋‹ค์ฐจ์› QDA์˜ ์ ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ฮดk(x)=โˆ’12logโกโˆฃฮฃkโˆฃโˆ’12(xโˆ’ฮผk)Tฮฃkโˆ’1(xโˆ’ฮผk)+logโกฯ€k\delta_k(x) = -\cfrac{1}{2}\log|\Sigma_k| - \cfrac{1}{2}(x-\mu_k)^T\Sigma_k^{-1}(x-\mu_k) + \log \pi_k

ํ–‰๋ ฌ ๊ธฐํ˜ธ๊ฐ€ ๋‚ฏ์„ค๋ฉด, ์ง€๊ธˆ์€ ๋‹ค์Œ ์ •๋„๋กœ ์ดํ•ดํ•ด๋„ ์ถฉ๋ถ„ํ•˜๋‹ค.

ฮผk\boldsymbol{\mu_k}๋Š” ํด๋ž˜์Šค kk์˜ ์ค‘์‹ฌ์ด๋‹ค.

ฮฃk\boldsymbol{\Sigma_k}๋Š” ํด๋ž˜์Šค kk๊ฐ€ ์–ด๋–ค ๋ชจ์–‘์œผ๋กœ ํผ์ ธ ์žˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค.

(xโˆ’ฮผk)Tฮฃkโˆ’1(xโˆ’ฮผk)\boldsymbol{(x-\mu_k)^T\Sigma_k^{-1}(x-\mu_k)}๋Š” xx๊ฐ€ ํด๋ž˜์Šค ์ค‘์‹ฌ์—์„œ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ ์žˆ๋Š”์ง€๋ฅผ ๊ณต๋ถ„์‚ฐ๊นŒ์ง€ ๊ณ ๋ คํ•ด ๊ณ„์‚ฐํ•œ ๊ฑฐ๋ฆฌ๋‹ค.

LDA๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ๊ฐ™์€ ๊ณต๋ถ„์‚ฐ ฮฃ\Sigma๋ฅผ ์“ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด 1์ฐจ์›์—์„œ x2x^2 ํ•ญ์ด ์‚ฌ๋ผ์กŒ๋“ฏ์ด, ๋‹ค์ฐจ์›์—์„œ๋„ ์ด์ฐจ ํ•ญ์ด ํด๋ž˜์Šค ๋น„๊ต์—์„œ ์‚ฌ๋ผ์ง„๋‹ค. ๋‚จ๋Š” ์ ์ˆ˜๋Š” xx์— ๋Œ€ํ•œ ์„ ํ˜•์‹์ด๋‹ค.

ฮดk(x)=xTฮฃโˆ’1ฮผkโˆ’12ฮผkTฮฃโˆ’1ฮผk+logโกฯ€k\delta_k(x) = x^T\Sigma^{-1}\mu_k - \cfrac{1}{2}\mu_k^T\Sigma^{-1}\mu_k + \log \pi_k

ml-5-14.png

๋‹ค์ฐจ์›์—์„œ๋„ ์›๋ฆฌ๋Š” ๊ฐ™๋‹ค. ํ‰๊ท  ๋ฒกํ„ฐ์™€ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์„ ์ถ”์ •ํ•ด ํด๋ž˜์Šค๋ณ„ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

ํด๋ž˜์Šค๊ฐ€ 3๊ฐœ ์ด์ƒ์ด๋ฉด

ํด๋ž˜์Šค๊ฐ€ 3๊ฐœ ์ด์ƒ์ด๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ์›๋ฆฌ๋Š” ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค. ๊ฐ ํด๋ž˜์Šค๋งˆ๋‹ค ์ ์ˆ˜ ฮดk(x)\delta_k(x)๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ๊ฐ€์žฅ ํฐ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ํด๋ž˜์Šค๋ฅผ ๊ณ ๋ฅด๋ฉด ๋œ๋‹ค.

y^=argmaxโกkโ€‰ฮดk(x)\hat{y} = \underset{k}{\operatorname{argmax}} \, \delta_k(x)

argmaxโก\operatorname{argmax}๋Š” โ€œ๊ฐ’์„ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋งŒ๋“œ๋Š” kk๋ฅผ ๊ณ ๋ฅด๋ผโ€๋Š” ๋œป์ด๋‹ค.

์ ์ˆ˜๋ฅผ ํ™•๋ฅ ์ฒ˜๋Ÿผ ๋ฐ”๊พธ๊ณ  ์‹ถ์œผ๋ฉด ์†Œํ”„ํŠธ๋งฅ์Šค๋ฅผ ์“ด๋‹ค.

P(y=kโˆฃx)=expโก(ฮดk(x))โˆ‘jexpโก(ฮดj(x))P(y=k \mid x) = \cfrac{\exp(\delta_k(x))}{\sum_j \exp(\delta_j(x))}

์ด ์‹์€ ์ง€๋‚œ ๊ธ€์—์„œ ๋ณธ ์†Œํ”„ํŠธ๋งฅ์Šค์™€ ๊ฐ™์€ ๋ชจ์–‘์ด๋‹ค. ์ฐจ์ด๋Š” ์ ์ˆ˜ ฮดk(x)\delta_k(x)๊ฐ€ ์–ด๋””์„œ ์™”๋А๋ƒ๋‹ค. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์—์„œ๋Š” ์ ์ˆ˜๋ฅผ ์ง์ ‘ ํ•™์Šตํ–ˆ๊ณ , LDA/QDA์—์„œ๋Š” ์ •๊ทœ ๋ถ„ํฌ ๊ฐ€์ •์—์„œ ์ ์ˆ˜๊ฐ€ ๋‚˜์™”๋‹ค.

ml-5-17.png

ํด๋ž˜์Šค๊ฐ€ ์„ธ ๊ฐœ ์ด์ƒ์ด์–ด๋„ ๊ฐ ํด๋ž˜์Šค์˜ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ณ ๋ฅด๋Š” ๊ตฌ์กฐ๋Š” ๊ฐ™๋‹ค.

LDA์™€ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์˜ ๊ด€๊ณ„

LDA์™€ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ์ถœ๋ฐœ์ ์ด ๋‹ค๋ฅด๋‹ค.

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” P(yโˆฃx)P(y \mid x)๋ฅผ ์ง์ ‘ ๋ชจ๋ธ๋งํ•œ๋‹ค. ์ž…๋ ฅ xx๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํด๋ž˜์Šค๊ฐ€ ๋ฌด์—‡์ผ์ง€ ๋ฐ”๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

๋ฐ˜๋ฉด LDA๋Š” P(xโˆฃy)P(x \mid y)์™€ P(y)P(y)๋ฅผ ๋จผ์ € ๋ชจ๋ธ๋งํ•œ๋‹ค. ์ฆ‰, ๊ฐ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ์ •๊ทœ ๋ถ„ํฌ์—์„œ ๋‚˜์˜ค๋Š”์ง€ ๋จผ์ € ๊ฐ€์ •ํ•˜๊ณ , ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋กœ P(yโˆฃx)P(y \mid x)๋ฅผ ๊ตฌํ•œ๋‹ค.

์ถœ๋ฐœ์ ์€ ๋‹ค๋ฅด์ง€๋งŒ, ์ด์ง„ ๋ถ„๋ฅ˜์—์„œ๋Š” ๋‘ ๋ชจ๋ธ์˜ ์‹์ด ๊ฐ™์€ ๋ชจ์–‘์œผ๋กœ ์ •๋ฆฌ๋œ๋‹ค. ์™œ ๊ทธ๋Ÿฐ์ง€ ๋ณด์ž.

์•ž์—์„œ LDA์˜ ํด๋ž˜์Šค๋ณ„ ์ ์ˆ˜๋ฅผ ๋‹ค์Œ์ฒ˜๋Ÿผ ์ผ๋‹ค.

ฮดk(x)=xTฮฃโˆ’1ฮผkโˆ’12ฮผkTฮฃโˆ’1ฮผk+logโกฯ€k\delta_k(x) = x^T\Sigma^{-1}\mu_k - \cfrac{1}{2}\mu_k^T\Sigma^{-1}\mu_k + \log \pi_k

์ด ์ ์ˆ˜๋Š” โ€œ์ž…๋ ฅ xx๊ฐ€ ํด๋ž˜์Šค kk์— ์†ํ•  ๊ทธ๋Ÿด๋“ฏํ•จโ€์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ด๋‹ค. ์ด์ง„ ๋ถ„๋ฅ˜๋ผ๋ฉด ํด๋ž˜์Šค๊ฐ€ ๋‘ ๊ฐœ๋ฟ์ด๋ฏ€๋กœ, ํด๋ž˜์Šค 1์˜ ์ ์ˆ˜์™€ ํด๋ž˜์Šค 0์˜ ์ ์ˆ˜๋ฅผ ๋น„๊ตํ•˜๋ฉด ๋œ๋‹ค.

ฮด1(x)vs.ฮด0(x)\delta_1(x) \quad \text{vs.} \quad \delta_0(x)

๋‘˜ ์ค‘ ์–ด๋А ์ชฝ์ด ํฐ์ง€๋งŒ ๋ณด๋ฉด ๋˜๋ฏ€๋กœ, ๋‘ ์ ์ˆ˜์˜ ์ฐจ์ด๋ฅผ ๋ณด์ž.

ฮด1(x)โˆ’ฮด0(x)\delta_1(x)-\delta_0(x)

์‹์„ ๊ทธ๋Œ€๋กœ ๋นผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ฮด1(x)โˆ’ฮด0(x)=xTฮฃโˆ’1(ฮผ1โˆ’ฮผ0)โˆ’12(ฮผ1Tฮฃโˆ’1ฮผ1โˆ’ฮผ0Tฮฃโˆ’1ฮผ0)+logโกฯ€1ฯ€0\delta_1(x)-\delta_0(x) = x^T\Sigma^{-1}(\mu_1-\mu_0) - \cfrac{1}{2}\left(\mu_1^T\Sigma^{-1}\mu_1-\mu_0^T\Sigma^{-1}\mu_0\right) + \log \cfrac{\pi_1}{\pi_0}

๊ธธ์–ด ๋ณด์ด์ง€๋งŒ xx๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ถ€๋ถ„์€ ์ฒซ ํ•ญ๋ฟ์ด๋‹ค.

xTฮฃโˆ’1(ฮผ1โˆ’ฮผ0)x^T\Sigma^{-1}(\mu_1-\mu_0)

๋‚˜๋จธ์ง€ ๋‘ ํ•ญ์€ ฮผ0\mu_0, ฮผ1\mu_1, ฮฃ\Sigma, ฯ€0\pi_0, ฯ€1\pi_1๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ํ•™์Šต์ด ๋๋‚˜๋ฉด ๋ชจ๋‘ ๊ณ ์ •๋œ ์ˆซ์ž๋‹ค. ๋”ฐ๋ผ์„œ ์ƒ์ˆ˜ํ•ญ์œผ๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ „์ฒด๋ฅผ ์ด๋ ‡๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

ฮด1(x)โˆ’ฮด0(x)=ฮฒ0+ฮฒTx\delta_1(x)-\delta_0(x) = \beta_0 + \beta^Tx

์—ฌ๊ธฐ์„œ ฮฒTx\beta^Tx๋Š” ์ž…๋ ฅ xx์— ๋Œ€ํ•œ ์„ ํ˜•์‹์ด๊ณ , ฮฒ0\beta_0๋Š” ์ ˆํŽธ์ด๋‹ค.

์ด ์ ์ˆ˜ ์ฐจ์ด๋Š” ๋‘ ํด๋ž˜์Šค์˜ ์‚ฌํ›„ ํ™•๋ฅ  ๋น„์œจ, ์ฆ‰ ๋กœ๊ทธ ์˜ค์ฆˆ์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ ๋‚˜์˜จ๋‹ค.

logโกP(y=1โˆฃx)P(y=0โˆฃx)=ฮฒ0+ฮฒTx\log \cfrac{P(y=1 \mid x)}{P(y=0 \mid x)} = \beta_0 + \beta^Tx

์ง€๋‚œ ๊ธ€์—์„œ ๋ณธ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์˜ ๋กœ์ง“๊ณผ ๊ฐ™์€ ๋ชจ์–‘์ด๋‹ค. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋„ โ€œ๋กœ๊ทธ ์˜ค์ฆˆ๊ฐ€ ์ž…๋ ฅ xx์— ๋Œ€ํ•ด ์„ ํ˜•โ€์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ๋‹ค. LDA๋Š” ์ •๊ทœ ๋ถ„ํฌ์™€ ๊ณตํ†ต ๊ณต๋ถ„์‚ฐ ๊ฐ€์ •์—์„œ ์ถœ๋ฐœํ–ˆ๋Š”๋ฐ, ์ •๋ฆฌํ•˜๊ณ  ๋ณด๋‹ˆ ๊ฐ™์€ ์„ ํ˜• ๋กœ์ง“ ํ˜•ํƒœ์— ๋„์ฐฉํ•œ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ LDA์™€ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ๋น„์Šทํ•œ ์„ ํ˜• ๊ฒฐ์ • ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋‘ ๋ชจ๋ธ์ด ๊ฐ™์€ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ํด๋ž˜์Šค๋ณ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๊ทœ ๋ถ„ํฌ์ธ์ง€ ๊ด€์‹ฌ์ด ์—†๋‹ค. ๋ถ„๋ฅ˜ ๊ฒฝ๊ณ„๋งŒ ์ž˜ ๋ฐฐ์šฐ๋ฉด ๋œ๋‹ค.

LDA๋Š” ํด๋ž˜์Šค๋ณ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๊ทœ ๋ถ„ํฌ์ด๊ณ , ๊ณต๋ถ„์‚ฐ์ด ๊ฐ™๋‹ค๋Š” ๊ฐ€์ •์„ ๋‘”๋‹ค. ์ด ๊ฐ€์ •์ด ๋งž์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์„ ๋•Œ๋„ ์•ˆ์ •์ ์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์ •์ด ํฌ๊ฒŒ ํ‹€๋ฆฌ๋ฉด ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

ml-5-19.png

LDA์™€ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ๋น„์Šทํ•œ ์„ ํ˜• ๋กœ์ง“ ํ˜•ํƒœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ ํ˜•ํƒœ์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋‹ค.

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ

์ด์ œ ๋‹ค๋ฅธ ์ƒ์„ฑ ๋ชจ๋ธ์„ ๋ณด์ž. ๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ(Naive Bayes)๋‹ค.

QDA์™€ LDA๋Š” ํ”ผ์ฒ˜๊ฐ€ ํ•จ๊ป˜ ์–ด๋–ป๊ฒŒ ์›€์ง์ด๋Š”์ง€๋ฅผ ๊ณต๋ถ„์‚ฐ์œผ๋กœ ๋‹ค๋ฃฌ๋‹ค. ํ”ผ์ฒ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์ด ๊ณต๋ถ„์‚ฐ์„ ์ถ”์ •ํ•˜๊ธฐ ์–ด๋ ค์›Œ์ง„๋‹ค.

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋Š” ์—ฌ๊ธฐ์„œ ์•„์ฃผ ๊ณผ๊ฐํ•œ ๊ฐ€์ •์„ ํ•œ๋‹ค.

ํด๋ž˜์Šค๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๋ฉด, ํ”ผ์ฒ˜๋“ค์€ ์„œ๋กœ ๋…๋ฆฝ์ด๋‹ค.

์ด ๋ฌธ์žฅ์„ ์ฒœ์ฒœํžˆ ์ฝ์–ด๋ณด์ž.

โ€œํ”ผ์ฒ˜๋“ค์ด ์„œ๋กœ ๋…๋ฆฝโ€์ด๋ผ๋Š” ๋ง์€ ํ•œ ํ”ผ์ฒ˜๋ฅผ ์•Œ์•„๋„ ๋‹ค๋ฅธ ํ”ผ์ฒ˜์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋Š˜์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฉ”์ผ ๋ถ„๋ฅ˜์—์„œ ๋ฌด๋ฃŒ๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋‚˜์˜จ ๊ฒƒ๊ณผ ์ฆ์ •์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋‚˜์˜จ ๊ฒƒ์ด ์„œ๋กœ ๋…๋ฆฝ์ด๋ผ๊ณ  ๋ณด๋Š” ์‹์ด๋‹ค.

ํ˜„์‹ค์—์„  ๋ณดํ†ต ํ‹€๋ฆฐ ๊ฐ€์ •์ด๋‹ค. ๋ฌด๋ฃŒ๊ฐ€ ๋‚˜์˜จ ๋ฉ”์ผ์—๋Š” ์ฆ์ •์ด๋‚˜ ๊ฐ€์ž… ๊ฐ™์€ ๋‹จ์–ด๋„ ๊ฐ™์ด ๋‚˜์˜ฌ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ๊ทธ๋ž˜์„œ โ€œ๋‚˜์ด๋ธŒโ€, ์ฆ‰ ํ˜„์‹ค์˜ ๊ด€๊ณ„๋ฅผ ๋„ˆ๋ฌด ์•ˆ์ผํ•˜๊ฒŒ ๋‹จ์ˆœํ™”ํ•œ๋‹ค๋Š” ์ด๋ฆ„์ด ๋ถ™์—ˆ๋‹ค.

์ˆ˜์‹์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P(xโˆฃy)=P(x1,x2,โ‹ฏโ€‰,xdโˆฃy)P(x \mid y) = P(x_1, x_2, \cdots, x_d \mid y)

์›๋ž˜๋Š” ํ”ผ์ฒ˜ ์ „์ฒด๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์กฐ๊ฑด๋ถ€ ๋…๋ฆฝ์„ ๊ฐ€์ •ํ•˜๋ฉด ๊ณฑ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

P(xโˆฃy)=โˆj=1dP(xjโˆฃy)P(x \mid y) = \prod_{j=1}^{d} P(x_j \mid y)

โˆ\prod๋Š” ๊ณฑ์…ˆ ๊ธฐํ˜ธ๋‹ค. โˆ‘\sum์ด ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋”ํ•˜๋ผ๋Š” ๋œป์ด๋ผ๋ฉด, โˆ\prod๋Š” ์—ฌ๋Ÿฌ ๊ฐ’์„ ๊ณฑํ•˜๋ผ๋Š” ๋œป์ด๋‹ค.

ํ”ผ์ฒ˜๊ฐ€ ์„ธ ๊ฐœ๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ง์ด๋‹ค.

P(x1,x2,x3โˆฃy)=P(x1โˆฃy)P(x2โˆฃy)P(x3โˆฃy)P(x_1, x_2, x_3 \mid y) = P(x_1 \mid y)P(x_2 \mid y)P(x_3 \mid y)

๋ณต์žกํ•œ ์ „์ฒด ํ™•๋ฅ ์„ ํ”ผ์ฒ˜๋ณ„ ํ™•๋ฅ ์˜ ๊ณฑ์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค. ์ด ๋•๋ถ„์— ๊ณ„์‚ฐ์ด ๋งค์šฐ ์‰ฌ์›Œ์ง„๋‹ค.

ml-5-23.png

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋Š” ์กฐ๊ฑด๋ถ€ ๋…๋ฆฝ ๊ฐ€์ • ๋•๋ถ„์— ๊ณ ์ฐจ์› ๊ฐ€๋Šฅ๋„๋ฅผ ํ”ผ์ฒ˜๋ณ„ ๊ฐ€๋Šฅ๋„์˜ ๊ณฑ์œผ๋กœ ๋‹จ์ˆœํ™”ํ•œ๋‹ค.

ํฅ๋ฏธ๋กœ์šด ์ ์€ ํ‹€๋ฆฐ ๊ฐ€์ •์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๊ฐ€ ๊ฝค ์ž˜ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ถ„๋ฅ˜์—์„  ํ™•๋ฅ ๊ฐ’์ด ์™„๋ฒฝํžˆ ์ •ํ™•ํ•  ํ•„์š”๋Š” ์—†๋‹ค. ์–ด๋А ํด๋ž˜์Šค ์ ์ˆ˜๊ฐ€ ๋” ํฐ์ง€๋งŒ ์ž˜ ๋งž์œผ๋ฉด ๋œ๋‹ค. ํŠนํžˆ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜์—์„œ๋Š” ๋‹จ์–ด๋ณ„ ์‹ ํ˜ธ๊ฐ€ ๊ฐ•ํ•ด์„œ, ์ด ์•ˆ์ผํ•œ ๊ฐ€์ •๋งŒ์œผ๋กœ๋„ ๊ฝค ์ข‹์€ ๋ฒ ์ด์Šค๋ผ์ธ์ด ๋œ๋‹ค.

ml-5-24.png

ํ”ผ์ฒ˜ ๋…๋ฆฝ ๊ฐ€์ •์€ ๋Œ€๊ฐœ ํ‹€๋ฆฌ๋‹ค. ๊ทธ๋ž˜๋„ ๋ถ„๋ฅ˜ ๊ฒฝ๊ณ„์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋งŒ ์ž˜ ๋งž์œผ๋ฉด ์‹ค์ „์—์„œ๋Š” ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ์˜ ์žฅ์ ์€ ๋ช…ํ™•ํ•˜๋‹ค.

  • ํ•™์Šต์ด ๋งค์šฐ ๋น ๋ฅด๋‹ค.
  • ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์–ด๋„ ๋™์ž‘ํ•œ๋‹ค.
  • ํ”ผ์ฒ˜๊ฐ€ ๋งŽ์•„๋„ ๊ณ„์‚ฐ์ด ๋‹จ์ˆœํ•˜๋‹ค.
  • ์ŠคํŒธ ํ•„ํ„ฐ, ๋ฌธ์„œ ๋ถ„๋ฅ˜, ๊ฐ์„ฑ ๋ถ„์„์˜ ๊ฐ•๋ ฅํ•œ ๋ฒ ์ด์Šค๋ผ์ธ์ด ๋œ๋‹ค.

Play Golf ์˜ˆ์‹œ

์นดํ…Œ๊ณ ๋ฆฌํ˜• ํ”ผ์ฒ˜์—์„œ ๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ž‘์€ ์˜ˆ์ œ๋กœ ๋ณด์ž. 14์ผ ๋™์•ˆ ๋‚ ์”จ์™€ ๊ณจํ”„ ์—ฌ๋ถ€๋ฅผ ๊ธฐ๋กํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค.

๋‚ด์ผ ๋‚ ์”จ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ ๊ณจํ”„๋ฅผ ์น ์ง€ ์˜ˆ์ธกํ•ด๋ณด์ž.

x=(Sunny,Hot,High,Weak)x = (\text{Sunny}, \text{Hot}, \text{High}, \text{Weak})

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋Š” Yes์™€ No์— ๋Œ€ํ•ด ๊ฐ๊ฐ ๋‹ค์Œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.

P(Yes)P(SunnyโˆฃYes)P(HotโˆฃYes)P(HighโˆฃYes)P(WeakโˆฃYes)P(\text{Yes}) P(\text{Sunny}\mid\text{Yes}) P(\text{Hot}\mid\text{Yes}) P(\text{High}\mid\text{Yes}) P(\text{Weak}\mid\text{Yes}) P(No)P(SunnyโˆฃNo)P(HotโˆฃNo)P(HighโˆฃNo)P(WeakโˆฃNo)P(\text{No}) P(\text{Sunny}\mid\text{No}) P(\text{Hot}\mid\text{No}) P(\text{High}\mid\text{No}) P(\text{Weak}\mid\text{No})

๊ฐ ํ•ญ์€ ์–ด๋ ต์ง€ ์•Š๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด P(SunnyโˆฃYes)P(\text{Sunny}\mid\text{Yes})๋Š” โ€œ๊ณจํ”„๋ฅผ ์นœ ๋‚ ๋“ค ์ค‘ ๋‚ ์”จ๊ฐ€ Sunny์˜€๋˜ ๋น„์œจโ€์ด๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ๋Š” ๊ฐ™์€ ๊ณ„์‚ฐ์„ ๋ผํ”Œ๋ผ์Šค ์Šค๋ฌด๋”ฉ๊ณผ ๋กœ๊ทธ ํ™•๋ฅ ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ๋ผํ”Œ๋ผ์Šค ์Šค๋ฌด๋”ฉ์€ ๋ฐ”๋กœ ๋‹ค์Œ ์ ˆ์—์„œ ์„ค๋ช…ํ•œ๋‹ค. ์ง€๊ธˆ์€ โ€œ0์ด ๋˜๋Š” ํ™•๋ฅ ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ž‘์€ ๊ฐ€์ƒ ์นด์šดํŠธ๋ฅผ ๋”ํ•œ๋‹คโ€ ์ •๋„๋กœ๋งŒ ๋ณด๋ฉด ๋œ๋‹ค.

import math
data = [
("Sunny", "Hot", "High", "Weak", "No"),
("Sunny", "Hot", "High", "Strong", "No"),
("Overcast", "Hot", "High", "Weak", "Yes"),
("Rain", "Mild", "High", "Weak", "Yes"),
("Rain", "Cool", "Normal", "Weak", "Yes"),
("Rain", "Cool", "Normal", "Strong", "No"),
("Overcast", "Cool", "Normal", "Strong", "Yes"),
("Sunny", "Mild", "High", "Weak", "No"),
("Sunny", "Cool", "Normal", "Weak", "Yes"),
("Rain", "Mild", "Normal", "Weak", "Yes"),
("Sunny", "Mild", "Normal", "Strong", "Yes"),
("Overcast", "Mild", "High", "Strong", "Yes"),
("Overcast", "Hot", "Normal", "Weak", "Yes"),
("Rain", "Mild", "High", "Strong", "No"),
]
features = ["Sunny", "Hot", "High", "Weak"]
labels = sorted({row[-1] for row in data})
values_by_col = [sorted({row[i] for row in data}) for i in range(4)]
alpha = 1
log_scores = {}
for label in labels:
rows = [row for row in data if row[-1] == label]
score = math.log(len(rows) / len(data))
for i, value in enumerate(features):
count = sum(1 for row in rows if row[i] == value)
prob = (count + alpha) / (len(rows) + alpha * len(values_by_col[i]))
score += math.log(prob)
log_scores[label] = score
max_score = max(log_scores.values())
weights = {k: math.exp(v - max_score) for k, v in log_scores.items()}
normalizer = sum(weights.values())
posteriors = {k: weights[k] / normalizer for k in weights}
for label in labels:
print(f"{label:3s}: log-score={log_scores[label]:.3f}, posterior={posteriors[label]:.3f}")
print("prediction:", max(posteriors, key=posteriors.get))
No : log-score=-3.887, posterior=0.688
Yes: log-score=-4.678, posterior=0.312
prediction: No

์ด ์˜ˆ์‹œ์—์„œ๋Š” No์˜ ์ ์ˆ˜๊ฐ€ ๋” ํฌ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น ์กฐ๊ฑด์—์„œ๋Š” ๊ณจํ”„๋ฅผ ์น˜์ง€ ์•Š๋Š” ์ชฝ์œผ๋กœ ์˜ˆ์ธกํ•œ๋‹ค.

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ์˜ ๋‘ ๊ฐ€์ง€ ์‹ค์ „ ๋ฌธ์ œ

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ์ฑ™๊ฒจ์•ผ ํ•  ๋ฌธ์ œ๊ฐ€ ๋‘ ๊ฐ€์ง€ ์žˆ๋‹ค.

์ฒซ์งธ, zero-frequency ๋ฌธ์ œ๋‹ค. ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ ์–ด๋–ค ํด๋ž˜์Šค์™€ ํ”ผ์ฒ˜ ๊ฐ’์˜ ์กฐํ•ฉ์ด ํ•œ ๋ฒˆ๋„ ๋“ฑ์žฅํ•˜์ง€ ์•Š์œผ๋ฉด ํ™•๋ฅ ์ด 0์ด ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Yes์ธ ๋‚  ์ค‘ Snow๊ฐ€ ํ•œ ๋ฒˆ๋„ ์—†์—ˆ๋‹ค๋ฉด ๋‹ค์Œ ๊ฐ’์€ 0์ด๋‹ค.

P(SnowโˆฃYes)=0P(\text{Snow} \mid \text{Yes}) = 0

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋Š” ํ™•๋ฅ ์„ ๊ณฑํ•œ๋‹ค. ๊ณฑ์…ˆ์—์„  ํ•˜๋‚˜๋ผ๋„ 0์ด๋ฉด ์ „์ฒด๊ฐ€ 0์ด ๋œ๋‹ค.

0.7ร—0.5ร—0=00.7 \times 0.5 \times 0 = 0

์ด๋Ÿฌ๋ฉด ๋‚˜๋จธ์ง€ ํ”ผ์ฒ˜๊ฐ€ ์•„๋ฌด๋ฆฌ ๊ฐ•ํ•œ ์‹ ํ˜ธ๋ฅผ ์ค˜๋„ ์ „์ฒด ์ ์ˆ˜๊ฐ€ 0์ด ๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ ๋ผํ”Œ๋ผ์Šค ์Šค๋ฌด๋”ฉ(Laplace smoothing)์ด๋‹ค.

P(xj=vโˆฃy=k)=countโก(xj=v,y=k)+ฮฑcountโก(y=k)+ฮฑโˆฃVjโˆฃP(x_j=v \mid y=k) = \cfrac{\operatorname{count}(x_j=v, y=k) + \alpha}{\operatorname{count}(y=k) + \alpha |V_j|}

์‹์ด ๊ธธ์ง€๋งŒ ํ•˜๋Š” ์ผ์€ ๋‹จ์ˆœํ•˜๋‹ค.

๋ถ„์ž์—๋Š” ํ•ด๋‹น ๊ฐ’์ด ๋‚˜์˜จ ํšŸ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค. ์—ฌ๊ธฐ์— ฮฑ\alpha๋ฅผ ๋”ํ•œ๋‹ค. ๋ณดํ†ต ฮฑ=1\alpha=1์„ ์“ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•œ ๋ฒˆ๋„ ์•ˆ ๋‚˜์˜จ ๊ฐ’๋„ ์ตœ์†Œ 1๋ฒˆ ๋‚˜์˜จ ๊ฒƒ์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ๋œ๋‹ค.

๋ถ„๋ชจ์—๋Š” ํด๋ž˜์Šค kk์— ์†ํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€๋Šฅํ•œ ๊ฐ’์˜ ๊ฐœ์ˆ˜ โˆฃVjโˆฃ|V_j|๋งŒํผ ฮฑ\alpha๋ฅผ ๋”ํ•ด ์ „์ฒด ํ™•๋ฅ  ํ•ฉ์ด 1์ด ๋˜๋„๋ก ๋งž์ถ˜๋‹ค.

๋‘˜์งธ, ์ˆ˜์น˜ ์–ธ๋”ํ”Œ๋กœ์šฐ(numerical underflow)๋‹ค. ์ž‘์€ ํ™•๋ฅ ์„ ๋งŽ์ด ๊ณฑํ•˜๋ฉด ์ปดํ“จํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์€ ๊ฐ’์„ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•ด 0์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ ๋กœ๊ทธ ํ™•๋ฅ ์ด๋‹ค.

logโกP(yโˆฃx)=logโกP(y)+โˆ‘j=1dlogโกP(xjโˆฃy)+C\log P(y \mid x) = \log P(y) + \sum_{j=1}^{d}\log P(x_j \mid y) + C

CC๋Š” ๋ชจ๋“  ํด๋ž˜์Šค์— ๊ณตํ†ต์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์ƒ์ˆ˜๋ผ ๋น„๊ตํ•  ๋•Œ๋Š” ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณดํ†ต log_prior + log_likelihood๋งŒ ๋น„๊ตํ•œ๋‹ค.

ml-5-27.png

์Šค๋ฌด๋”ฉ๊ณผ ๋กœ๊ทธ ํ™•๋ฅ ์€ ๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋ฅผ ์‹ค์ œ๋กœ ์“ธ ๋•Œ ๋น ๋œจ๋ฆฌ๋ฉด ์•ˆ ๋˜๋Š” ๊ธฐ๋ณธ ์žฅ์น˜๋‹ค.

๋ถ„๋ฅ˜ ๋ชจ๋ธ ํ‰๊ฐ€

๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉด ํ‰๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ํ”ํ•œ ํ•จ์ •์€ ์ •ํ™•๋„(accuracy)๋งŒ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํฌ๊ท€๋ณ‘ ์ง„๋‹จ ๋ชจ๋ธ์„ ๋งŒ๋“ ๋‹ค๊ณ  ํ•˜์ž. ์ „์ฒด ์ธ๊ตฌ์˜ 1%๋งŒ ๋ณ‘์— ๊ฑธ๋ฆฐ๋‹ค. ์ด๋•Œ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ์ •์ƒ์ด๋ผ๊ณ  ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์˜ ์ •ํ™•๋„๋Š” 99%๋‹ค. ์ •ํ™•๋„๋งŒ ๋ณด๋ฉด ํ›Œ๋ฅญํ•ด ๋ณด์ธ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ชจ๋ธ์€ ํ™˜์ž๋ฅผ ๋‹จ ํ•œ ๋ช…๋„ ์ฐพ์ง€ ๋ชปํ•œ๋‹ค. ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ ์˜ค๋ฅ˜๋ฅผ ๋‚ด๋Š”์ง€๊ฐ€ ์ •ํ™•๋„๋งŒํผ ์ค‘์š”ํ•˜๋‹ค.

ํ˜ผ๋™ ํ–‰๋ ฌ

์ด์ง„ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋Š” ๋„ค ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. ์ด๋ฅผ ํ˜ผ๋™ ํ–‰๋ ฌ(Confusion Matrix)๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์‹ค์ œ \ ์˜ˆ์ธก์–‘์„ฑ์Œ์„ฑ
์–‘์„ฑTrue Positive (TP)False Negative (FN)
์Œ์„ฑFalse Positive (FP)True Negative (TN)

์•ž์˜ ๋‹จ์–ด๋Š” ์˜ˆ์ธก์ด ๋งž์•˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋’ค์˜ ๋‹จ์–ด๋Š” ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๋ผ๋ฒจ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

False Positive๋Š” ๋ชจ๋ธ์ด ์–‘์„ฑ์ด๋ผ๊ณ  ๋งํ–ˆ์ง€๋งŒ ํ‹€๋ฆฐ ๊ฒฝ์šฐ๋‹ค. ์ •์ƒ ๋ฉ”์ผ์„ ์ŠคํŒธ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๋Š” ์ผ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค.

False Negative๋Š” ๋ชจ๋ธ์ด ์Œ์„ฑ์ด๋ผ๊ณ  ๋งํ–ˆ์ง€๋งŒ ํ‹€๋ฆฐ ๊ฒฝ์šฐ๋‹ค. ์•” ํ™˜์ž๋ฅผ ์ •์ƒ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๋Š” ์ผ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค.

ml-5-20.png

์ •ํ™•๋„ ํ•˜๋‚˜๋กœ๋Š” False Positive์™€ False Negative์˜ ๋น„์šฉ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์—†๋‹ค.

์‹ ์šฉ์นด๋“œ default ์˜ˆ์‹œ๋ฅผ ๋ณด์ž. ๋งŒ ๋ช…์˜ ๊ณ ๊ฐ ์ค‘ ์‹ค์ œ default ๊ณ ๊ฐ์€ 333๋ช…์ด๋‹ค. ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ํ•˜์ž.

์‹ค์ œ \ ์˜ˆ์ธกNoYes
No9,64423
Yes25281

์ „์ฒด ์ •ํ™•๋„๋Š” ๋†’๋‹ค. ํ•˜์ง€๋งŒ default ๊ณ ๊ฐ 333๋ช… ์ค‘ ๋ชจ๋ธ์ด ์žก์€ ์‚ฌ๋žŒ์€ 81๋ช…๋ฟ์ด๋‹ค.

tp, tn, fp, fn = 81, 9644, 23, 252
accuracy = (tp + tn) / (tp + tn + fp + fn)
precision = tp / (tp + fp)
recall = tp / (tp + fn)
f1 = 2 * precision * recall / (precision + recall)
fpr = fp / (fp + tn)
fnr = fn / (fn + tp)
print(f"accuracy : {accuracy:.3%}")
print(f"precision: {precision:.3%}")
print(f"recall : {recall:.3%}")
print(f"f1 : {f1:.3%}")
print(f"FPR/FNR : {fpr:.3%} / {fnr:.3%}")
accuracy : 97.250%
precision: 77.885%
recall : 24.324%
f1 : 37.071%
FPR/FNR : 0.238% / 75.676%

์ •ํ™•๋„๋Š” 97.25%๋‹ค. ํ•˜์ง€๋งŒ ์žฌํ˜„์œจ์€ 24.3%์— ๋ถˆ๊ณผํ•˜๋‹ค. ์ง„์งœ default ๊ณ ๊ฐ ๋„ค ๋ช… ์ค‘ ์„ธ ๋ช…์„ ๋†“์นœ๋‹ค. ์‹ ์šฉ์นด๋“œ ํšŒ์‚ฌ ์ž…์žฅ์—์„œ๋Š” ์“ธ๋ชจ์—†๋Š” ๋ชจ๋ธ์ด๋‹ค.

๊ฐ ์ง€ํ‘œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์งˆ๋ฌธ์— ๋‹ตํ•œ๋‹ค.

์ •ํ™•๋„(Accuracy)๋Š” ์ „์ฒด ์ค‘ ๋งžํžŒ ๋น„์œจ์ด๋‹ค.

Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \cfrac{TP + TN}{TP + TN + FP + FN}

์ •๋ฐ€๋„(Precision)๋Š” ์–‘์„ฑ์ด๋ผ๊ณ  ์˜ˆ์ธกํ•œ ๊ฒƒ ์ค‘ ์‹ค์ œ ์–‘์„ฑ์˜ ๋น„์œจ์ด๋‹ค.

Precision=TPTP+FP\text{Precision} = \cfrac{TP}{TP + FP}

์ •๋ฐ€๋„๊ฐ€ ๋‚ฎ์œผ๋ฉด ์–‘์„ฑ์ด๋ผ๊ณ  ์˜ˆ์ธกํ•œ ๊ฒƒ ์ค‘ ํ‹€๋ฆฐ ์˜ˆ์ธก์ด ๋งŽ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ŠคํŒธ ํ•„ํ„ฐ์—์„œ๋Š” ์ •๋ฐ€๋„๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. ์ •์ƒ ๋ฉ”์ผ์„ ์ŠคํŒธ์œผ๋กœ ๋ณด๋‚ด๋ฉด ์•ˆ ๋œ๋‹ค.

์žฌํ˜„์œจ(Recall)์€ ์‹ค์ œ ์–‘์„ฑ ์ค‘ ๋ชจ๋ธ์ด ์ฐพ์•„๋‚ธ ๋น„์œจ์ด๋‹ค.

Recall=TPTP+FN\text{Recall} = \cfrac{TP}{TP + FN}

์žฌํ˜„์œจ์ด ๋‚ฎ์œผ๋ฉด ๋†“์น˜๋Š” ๊ฒƒ์ด ๋งŽ๋‹ค๋Š” ๋œป์ด๋‹ค. ์•” ์ง„๋‹จ์ด๋‚˜ ์‚ฌ๊ธฐ ํƒ์ง€์ฒ˜๋Ÿผ ๋†“์น˜๋Š” ๋น„์šฉ์ด ํฐ ๋ฌธ์ œ์—์„œ๋Š” ์žฌํ˜„์œจ์ด ์ค‘์š”ํ•˜๋‹ค.

F1 ์Šค์ฝ”์–ด๋Š” ์ •๋ฐ€๋„์™€ ์žฌํ˜„์œจ์˜ ์กฐํ™” ํ‰๊ท ์ด๋‹ค.

F1=2โ‹…Precisionโ‹…RecallPrecision+RecallF1 = 2 \cdot \cfrac{\text{Precision}\cdot\text{Recall}}{\text{Precision}+\text{Recall}}

๋‘ ๊ฐ’์ด ๋ชจ๋‘ ๋†’์•„์•ผ F1๋„ ๋†’๋‹ค. ํ•œ์ชฝ์ด 0์ด๋ฉด F1๋„ 0์ด๋‹ค.

์ž„๊ณ„๊ฐ’๊ณผ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„

ํ™•๋ฅ  ๋ชจ๋ธ์€ ๋ณดํ†ต P(y=1โˆฃx)P(y=1 \mid x) ๊ฐ™์€ ์ ์ˆ˜๋ฅผ ๋‚ธ๋‹ค. ์ด ์ ์ˆ˜๋ฅผ ์‹ค์ œ ํด๋ž˜์Šค๋กœ ๋ฐ”๊พธ๋ ค๋ฉด ์ž„๊ณ„๊ฐ’์ด ํ•„์š”ํ•˜๋‹ค.

y^={1ifย P(y=1โˆฃx)โ‰ฅt0otherwise\hat{y} = \begin{cases} 1 & \text{if } P(y=1 \mid x) \ge t \\ 0 & \text{otherwise} \end{cases}

์ž„๊ณ„๊ฐ’ tt๋ฅผ ๋‚ฎ์ถ”๋ฉด ๋” ๋งŽ์€ ์ƒ˜ํ”Œ์„ ์–‘์„ฑ์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค. ์žฌํ˜„์œจ์€ ์˜ฌ๋ผ๊ฐ€์ง€๋งŒ False Positive๋„ ๋Š˜์–ด๋‚œ๋‹ค. ์ž„๊ณ„๊ฐ’์„ ๋†’์ด๋ฉด ํ™•์‹คํ•œ ๊ฒƒ๋งŒ ์–‘์„ฑ์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค. ์ •๋ฐ€๋„๋Š” ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๋†“์น˜๋Š” ์–‘์„ฑ์ด ๋Š˜์–ด๋‚œ๋‹ค.

ml-5-21.png

์ž„๊ณ„๊ฐ’์„ ๋ฐ”๊พธ๋ฉด False Positive์™€ False Negative์˜ ๊ท ํ˜•์ด ๋‹ฌ๋ผ์ง„๋‹ค.

์ž‘์€ ์˜ˆ์‹œ๋กœ ํ™•์ธํ•ด๋ณด์ž.

scores = [0.95, 0.82, 0.71, 0.63, 0.55, 0.44, 0.37, 0.22, 0.10, 0.03]
y_true = [1, 0, 1, 1, 0, 0, 1, 0, 0, 0]
def counts_at(threshold):
preds = [1 if s >= threshold else 0 for s in scores]
tp = sum(p == 1 and y == 1 for p, y in zip(preds, y_true))
fp = sum(p == 1 and y == 0 for p, y in zip(preds, y_true))
fn = sum(p == 0 and y == 1 for p, y in zip(preds, y_true))
tn = sum(p == 0 and y == 0 for p, y in zip(preds, y_true))
precision = tp / (tp + fp) if tp + fp else 0
recall = tp / (tp + fn) if tp + fn else 0
return tp, fp, tn, fn, precision, recall
for threshold in [0.7, 0.5, 0.3]:
tp, fp, tn, fn, precision, recall = counts_at(threshold)
print(f"t={threshold:.1f}: TP={tp}, FP={fp}, FN={fn}, precision={precision:.2f}, recall={recall:.2f}")
t=0.7: TP=2, FP=1, FN=2, precision=0.67, recall=0.50
t=0.5: TP=3, FP=2, FN=1, precision=0.60, recall=0.75
t=0.3: TP=4, FP=3, FN=0, precision=0.57, recall=1.00

์ž„๊ณ„๊ฐ’์„ ๋‚ฎ์ถœ์ˆ˜๋ก ๋” ๋งŽ์€ ์–‘์„ฑ์„ ์žก์•„๋‚ด์ง€๋งŒ, ์ž˜๋ชป ์–‘์„ฑ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ƒ˜ํ”Œ๋„ ๋Š˜์–ด๋‚œ๋‹ค. ๊ทธ๋ž˜์„œ ์ข‹์€ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ์ผ์€ ๋ชจ๋ธ ํ•™์Šต๋งŒ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์„œ๋น„์Šค ๋ชฉ์ ์— ๋งž๊ฒŒ ์ž„๊ณ„๊ฐ’์„ ์ •ํ•ด์•ผ ํ•œ๋‹ค.

ROC์™€ AUC

์ž„๊ณ„๊ฐ’ ํ•˜๋‚˜๋ฅผ ์ •ํ•ด ๋†“๊ณ  ๋ณด๋Š” ๋Œ€์‹ , ๋ชจ๋“  ์ž„๊ณ„๊ฐ’์—์„œ์˜ ์„ฑ๋Šฅ์„ ํ•œ ๋ฒˆ์— ๋ณด๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ROC ๊ณก์„ (Receiver Operating Characteristic Curve)์ด๋‹ค.

ROC ๊ณก์„ ์€ ์ž„๊ณ„๊ฐ’์„ ์›€์ง์ด๋ฉด์„œ ๋‹ค์Œ ๋‘ ๊ฐ’์„ ๊ทธ๋ฆฐ๋‹ค.

TPR=TPTP+FNTPR = \cfrac{TP}{TP + FN}

FPR=FPFP+TNFPR = \cfrac{FP}{FP + TN}

TPR์€ ์žฌํ˜„์œจ๊ณผ ๊ฐ™๋‹ค. FPR์€ ์‹ค์ œ ์Œ์„ฑ ์ค‘ ์–‘์„ฑ์œผ๋กœ ์ž˜๋ชป ๋ถ„๋ฅ˜ํ•œ ๋น„์œจ์ด๋‹ค. ์ข‹์€ ๋ชจ๋ธ์€ TPR์ด ๋†’๊ณ  FPR์ด ๋‚ฎ๋‹ค. ๊ทธ๋ž˜์„œ ROC ๊ณก์„ ์ด ์™ผ์ชฝ ์œ„์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์ข‹๋‹ค.

๊ณก์„  ์•„๋ž˜ ๋ฉด์ ์„ AUC(Area Under the Curve)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. AUC๋Š” ์ž„์˜๋กœ ๋ฝ‘์€ ์–‘์„ฑ ์ƒ˜ํ”Œ์ด ์ž„์˜๋กœ ๋ฝ‘์€ ์Œ์„ฑ ์ƒ˜ํ”Œ๋ณด๋‹ค ๋” ๋†’์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์„ ํ™•๋ฅ ๋กœ ํ•ด์„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 1์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์ข‹๊ณ , 0.5๋ฉด ๋ฌด์ž‘์œ„ ์˜ˆ์ธก๊ณผ ๋น„์Šทํ•˜๋‹ค.

ml-5-22.png

ROC ๊ณก์„ ์€ ์ž„๊ณ„๊ฐ’์„ ํ•˜๋‚˜๋กœ ๊ณ ์ •ํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋ธ์˜ ์ˆœ์œ„ํ™” ๋Šฅ๋ ฅ์„ ๋ณธ๋‹ค.

๋‹ค๋งŒ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์ด ์‹ฌํ•˜๋ฉด ROC๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ์ข‹์•„ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค. ์Œ์„ฑ์ด ์••๋„์ ์œผ๋กœ ๋งŽ์œผ๋ฉด FPR์ด ์ž‘๊ฒŒ ์œ ์ง€๋˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์ •๋ฐ€๋„-์žฌํ˜„์œจ ๊ณก์„ (PR curve)์„ ํ•จ๊ป˜ ๋ณด๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

์ •๋ฆฌ์™€ ๋‹ค์Œ ๊ธ€ ์˜ˆ๊ณ 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ๋ฒ ์ด์ฆˆ ๊ด€์ ์—์„œ ๋‹ค์‹œ ๋ดค๋‹ค.

๋ฒ ์ด์ฆˆ ๋ถ„๋ฅ˜๊ธฐ๋Š” ํ‰๊ท  ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์ด์ƒ์  ๋ถ„๋ฅ˜ ๊ทœ์น™์ด๋‹ค. 0-1 ์†์‹ค์—์„œ๋Š” ์‚ฌํ›„ ํ™•๋ฅ ์ด ๊ฐ€์žฅ ํฐ ํด๋ž˜์Šค๋ฅผ ๊ณ ๋ฅด๋ฉด ๋œ๋‹ค.

๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋Š” P(yโˆฃx)P(y \mid x)๋ฅผ P(xโˆฃy)P(y)P(x \mid y)P(y)๋กœ ๋ฐ”๊ฟ” ์ƒ๊ฐํ•œ๋‹ค. ๋ถ„๋ฅ˜์—์„  ๊ฐ™์€ xx๋ฅผ ๋‘๊ณ  ๋น„๊ตํ•˜๋ฏ€๋กœ ๋ถ„๋ชจ P(x)P(x)๋Š” ๋Œ€์†Œ ๋น„๊ต์—์„œ ์‚ฌ๋ผ์ง„๋‹ค.

QDA๋Š” ํด๋ž˜์Šค๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ถ„์‚ฐ๊ณผ ๊ณต๋ถ„์‚ฐ์„ ํ—ˆ์šฉํ•œ๋‹ค. ๊ทธ๋ž˜์„œ x2x^2 ํ•ญ์ด ๋‚จ๊ณ , ๊ฒฐ์ • ๊ฒฝ๊ณ„๊ฐ€ ๊ณก์„ ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

LDA๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ๊ฐ™์€ ๋ถ„์‚ฐ๊ณผ ๊ณต๋ถ„์‚ฐ์„ ๊ฐ€์ง„๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ด ๊ฐ€์ • ๋•๋ถ„์— x2x^2 ํ•ญ์ด ์ƒ์‡„๋˜์–ด ๊ฒฐ์ • ๊ฒฝ๊ณ„๊ฐ€ ์ง์„ ์ด ๋œ๋‹ค.

๋‚˜์ด๋ธŒ ๋ฒ ์ด์ฆˆ๋Š” ํด๋ž˜์Šค๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ”ผ์ฒ˜๋“ค์ด ๋…๋ฆฝ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๊ฐ€์ •์€ ๋Œ€๊ฐœ ํ‹€๋ฆฌ์ง€๋งŒ, ํ”ผ์ฒ˜๊ฐ€ ๋งŽ์€ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜์—์„œ ๋น ๋ฅด๊ณ  ๊ฐ•ํ•œ ๋ฒ ์ด์Šค๋ผ์ธ์ด ๋œ๋‹ค.

๋ถ„๋ฅ˜ ํ‰๊ฐ€๋Š” ์ •ํ™•๋„๋งŒ์œผ๋กœ ๋ถ€์กฑํ•˜๋‹ค. ํ˜ผ๋™ ํ–‰๋ ฌ, ์ •๋ฐ€๋„, ์žฌํ˜„์œจ, F1, ROC, AUC๋ฅผ ํ•จ๊ป˜ ๋ด์•ผ ๋ชจ๋ธ์ด ์–ด๋–ค ์ข…๋ฅ˜์˜ ์‹ค์ˆ˜๋ฅผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ ๊ธ€์€ ๋ชจ๋ธ์ด ๋„ˆ๋ฌด ์ž์œ ๋กœ์šธ ๋•Œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ, ์ฆ‰ ๊ณผ์ ํ•ฉ(overfitting)๊ณผ ๊ทธ ํ•ด๊ฒฐ์ฑ…์„ ๋‹ค๋ฃฌ๋‹ค. ๋ฐ์ดํ„ฐ์— ์ง€๋‚˜์น˜๊ฒŒ ๋งž์ถ˜ ๋ชจ๋ธ์€ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์ข‹์•„ ๋ณด์ด์ง€๋งŒ ์ƒˆ ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์‰ฝ๊ฒŒ ๋ฌด๋„ˆ์ง„๋‹ค. ์ด์ œ ์ด ๋ฌธ์ œ๋ฅผ ์ค„์ด๋Š” ์ •๊ทœํ™”์™€, ์ƒˆ ๋ฐ์ดํ„ฐ์—์„œ๋„ ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ผ๋ฐ˜ํ™”์˜ ๊ด€์ ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.






์ด๋ฏธ์ง€ ์ถœ์ฒ˜: [ML/DL] Lecture 6. Classification II (Discriminant Analysis)