CRF equation - beyondnlp/nlp GitHub Wiki

CRF์™€ ๊ด€๋ จ๋œ ๊ธ€ ์ค‘์— ๊ฐ€์žฅ ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋œ ๋ธ”๋กœ๊ทธ์ด๋‹ค. ์ด ๊ธ€์„ ๋ณด๋‹ค ๋ณด๋ฉด ์ค‘๊ฐ„์— MLE(Maximum Likelihood Estimation) ์ˆ˜์‹์ด ๋‚˜์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์‹์„ ์œ ๋„ํ•˜๋Š” ๊ณผ์ •์ด ๋‚˜์˜ค๋Š”๋ฐ ์ดํ•ด๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์‹์„ ์ •๋ฆฌํ•œ๋‹ค.

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

  • ์ฒซ๋ฒˆ์งธ๋Š” ํ•ฉ์„ฑํ•จ์ˆ˜์˜ ๋ฏธ๋ถ„์ด๋‹ค.

  • ํ•ฉ์„ฑํ•จ์ˆ˜ f(g(x))๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด f'(g(x))*g'(x)๊ฐ€ ๋œ๋‹ค.

  • ๋‘๋ฒˆ์งธ๋Š” ๋กœ๊ทธํ•จ์ˆ˜์˜ ๋ฏธ๋ถ„์ด๋‹ค.

  • log(x)๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด 1/x๊ฐ€ ๋œ๋‹ค.

  • ์„ธ๋ฒˆ์งธ ๋กœ๊ทธ/์ง€์ˆ˜ํ•จ์ˆ˜

    • log(xy) = log(x) + log(y), exp(x+y) = exp(x)*exp(y)
    • log(x/y) = log(x) - log(y), exp(x-y) = exp(x)/exp(y)
    • log(X^b) = b*log(x), exp(-x) = 1/exp(x)
    • log(1) = 0, exp(0) = 1
    • log(exp(x)) = exp(log(x)) = x

Likilyhood ์œ„ ๊ทธ๋ฆผ์—์„œ ์ฒซ๋ฒˆ์งธ ๋ผ์ธ์—์„œ ๋‘๋ฒˆ์งธ ๋ผ์ธ์œผ๋กœ ๋„˜์–ด๊ฐˆ๋•Œ ์•ž์ชฝ์—๋Š” log๊ฐ€ ์—†๊ณ  ๋’ค์ชฝ์€ log๊ฐ€ ์žˆ๋‹ค.( ๋’ค์— ์žˆ๋Š” ์ˆ˜์‹๋งŒ ๋กœ๊ทธํ•จ์ˆ˜์ด๋‹ค )

log(x/y)๋กœ ํ‘œ์‹œ๋œ ๋กœ๊ทธ์‹์€ log(x) - log(y)๋กœ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์œ„์—์„œ์ฒ˜๋Ÿผ ์ฒซ๋ฒˆ์งธ ํ•ญ์€ log๊ฐ€ ์‚ฌ๋ผ์ง„ ์ด์œ ๋Š” log(exp( x )) - log ( y )์‹์—์„œ log( exp( x ) ) = x์ด๊ธฐ ๋•Œ๋ฌธ์— x - log(y)ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜๋œ ๊ฒƒ์ด๋‹ค.

log( exp(x) )=exp( log(x) ) = x

๊ทธ๋ฆฌ๊ณ  ํฐ๊ด„ํ˜ธ๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด ฮฃ๋ฅผ ๋ถ„๋ฐฐ๋ฒ•์น™์— ์˜ํ•ด ์ตœ์ข…์‹์œผ๋กœ ์œ ๋„๋œ๋‹ค.

์œ„ ์‹์˜ ๋„ค๋ฒˆ์งธ ์ค„ ๋์—๋„ -๊ฐ€ ์žˆ๊ณ , ๋‹ค์„ฏ๋ฒˆ์งธ ์ค„ ์‹œ์ž‘์—๋„ -๊ฐ€ ์žˆ๋Š”๋ฐ ์˜ค๋ฅ˜์ธ ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋ ‡๊ฒŒ ์ „๊ฐœ๋œ ์‹์€ A, B, C๋กœ ๊ฐ๊ฐ ๋ถ„๋ฆฌํ•ด์„œ ์„ค๋ช…ํ•˜๋ฉด

A

A ํŽธ๋ฏธ๋ถ„ 1์ฐจํ•ญ ฮป๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด 1์ด๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•œ๋‹ค.

B๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด์ž

B

B1 ํŽธ๋ฏธ๋ถ„ logZ(x) = ์œ„์—์„œ ์„ค๋ช…ํ•œ ํ•ฉ์„ฑํ•จ์ˆ˜ ๋ฏธ๋ถ„์œผ๋กœ ์ „๊ฐœํ• ์ˆ˜ ์žˆ๋‹ค.

์ „์ฒด๋ฅผ ๋ฏธ๋ถ„ํ•˜๊ณ  ๋‚ด๋ถ€๋ฅผ ๋ฏธ๋ถ„ํ•œ๋‹ค.

logZ(x)์—์„œ Z(x)๋ฅผ a๋ผ๊ณ  ํ•˜์ž. log(a)๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด 1/a๊ฐ€ ๋˜๊ณ  ๋‹ค์‹œ ๋‚ด๋ถ€ a ์ฆ‰ Z(x)๋ฅผ ๋ฏธ๋ถ„ํ•œ๋‹ค. ์ด๋ฅผ โˆ‚Z(x)/โˆ‚ฮป๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

log(x/y) = log(x) - log(y)
{log(x)}` = 1/x
log(x)๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด 1/x๊ฐ€ ๋œ๋‹ค.

B2 ํŽธ๋ฏธ๋ถ„

๋‘๋ฒˆ์งธ ์ค„๋„ ํ•ฉ์„ฑํ•จ์ˆ˜์˜ ๋ฏธ๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— f๊ฐ€ ๊ณฑํ•ด์ง„๋‹ค. ์ฒจ์–ธํ•˜๋ฉด ์œ„ ์„ค๋ช…์€ f(g(x))์—์„œ gโ€™(x)์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ฮป์— ๋Œ€ํ•ด ๋ฏธ๋ถ„ํ•˜๋ฉด ฮป๋ฅผ ํฌํ•จํ•œ ์‹œ๊ทธ๋งˆ๋Š” ์‚ฌ๋ผ์ง„๋‹ค.

{f(g(x))}` = f`(g(x)) * g'(x)
f(g(xx))๋ฅผ ๋ฏธ๋ถ„ํ•˜๋ฉด f`(g(x))์™€ g`(x)์˜ ๊ณฑ์ด๋œ๋‹ค.
 

B3 ํŽธ๋ฏธ๋ถ„ ์„ธ๋ฒˆ์งธ์ค„์€ ๋‹ค์Œ ์ˆ˜์‹์„ ์œ ๋„ํ•˜๊ธฐ ์œ„ํ•ด normalize ๋ณ€์ˆ˜ 1/Z๋ฅผ ๋’ค๋กœ ์˜ฎ๊ธด๋‹ค. ( ๊ตํ™˜๋ฒ•์น™ )

B4 ํŽธ๋ฏธ๋ถ„ ๊ฐ€์šด๋ฐ ๋ถ€๋ถ„์ด P(y|x)๋กœ ์น˜ํ™˜ํ•œ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ๊ณ  P(Y|X)

C

C ํŽธ๋ฏธ๋ถ„ ๋žŒ๋‹ค๋กœ ๋ฏธ๋ถ„ํ•˜๋ฉด 2ฮป๊ฐ€ ๋˜๊ณ  ๋ถ„์ž๋ถ„๋ชจ์— ๋ชจ๋‘ 2๊ฐ€ ์žˆ์œผ๋‹ˆ ์•ฝ๋ถ„์ด ๋˜์–ด ์ตœ์ข…์‹์ด ๋œ๋‹ค.

reference