• **Gaussian Process(GP)**๋Š” ํ•จ์ˆ˜ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ โ€œ๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜๋“ค์˜ ๋ถ„ํฌโ€๋ฅผ ๋‹ค๋ฃจ๋Š” ํ™•๋ฅ ๋ชจํ˜•
  • ์–ด๋–ค ์ž…๋ ฅ ์ง€์ ๋“ค์„ ๋ฝ‘์•„๋„ ๊ทธ ํ•จ์ˆ˜๊ฐ’๋“ค์ด ํ•ญ์ƒ ๋‹ค๋ณ€๋Ÿ‰ ์ •๊ทœ๋ถ„ํฌ(multivariate normal)๋ฅผ ๋”ฐ๋ฅธ๋‹ค๋Š” ๊ฐ€์ •
  • ์˜ˆ์ธก์„ ์  ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ โ€œํ‰๊ท  ยฑ ๋ถˆํ™•์‹ค์„ฑ(๋ถ„์‚ฐ)โ€œ์œผ๋กœ ๋‚ด๋†“๋Š” ๋น„๋ชจ์ˆ˜(non-parametric) ํšŒ๊ท€ ๋„๊ตฌ

ํ•ด๋‹น ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์ด์œ 

  • ๋ฒ ์ด์ง€์•ˆ ์ตœ์ ํ™”์˜ surrogate model๋กœ ์“ฐ๋ ค๋ฉด, โ€œ์ด ์ง€์ ์˜ ์˜ˆ์ธก๊ฐ’โ€๋ฟ ์•„๋‹ˆ๋ผ โ€œ์—ฌ๊ธฐ๋ฅผ ์–ผ๋งˆ๋‚˜ ๋ชจ๋ฅด๋Š”๊ฐ€(๋ถˆํ™•์‹ค์„ฑ)โ€ ๊ฐ€ ํ•„์š”ํ•˜๋‹ค โ€” ๊ทธ๋ž˜์•ผ ๋‹ค์Œ์— ํƒ์ƒ‰ํ•  ๊ณณ์„ ์ •ํ•œ๋‹ค
  • ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์„ ๋•Œ(๋น„์‹ผ ์‹คํ—˜), ์  ๋ช‡ ๊ฐœ๋งŒ์œผ๋กœ ํ•จ์ˆ˜ ์ „์ฒด ๋ชจ์–‘๊ณผ ์‹ ๋ขฐ๊ตฌ๊ฐ„์„ ๋™์‹œ์— ์ถ”์ •ํ•ด์•ผ ํ•œ๋‹ค
  • ์ผ๋ฐ˜ ํšŒ๊ท€(์„ ํ˜•/์‹ ๊ฒฝ๋ง)๋Š” ๋ณดํ†ต ์  ์ถ”์ • ํ•˜๋‚˜๋งŒ ์ฃผ์ง€๋งŒ, GP๋Š” ์˜ˆ์ธก๊ฐ’ + ๋ถˆํ™•์‹ค์„ฑ์„ ํ•œ ๋ฒˆ์— ์ค€๋‹ค

AS-IS โ€” ์  ์ถ”์ • ํ•˜๋‚˜๋งŒ ๋‚ด๋†“๋Š” ํšŒ๊ท€

# ์ผ๋ฐ˜ ํšŒ๊ท€: ์˜ˆ์ธก๊ฐ’ ํ•˜๋‚˜. ์ด ๊ฐ’์ด ์–ผ๋งˆ๋‚˜ ๋ฏฟ์„ ๋งŒํ•œ์ง€๋Š” ๋ชจ๋ฆ„
model.fit(X_train, y_train)
y_pred = model.predict(x_new)        # ์˜ˆ: 0.052

TO-BE โ€” ํ‰๊ท ๊ณผ ๋ถˆํ™•์‹ค์„ฑ์„ ํ•จ๊ป˜ ๋‚ด๋†“๋Š” GP

# Gaussian Process: ํ‰๊ท (mean) + ๋ถˆํ™•์‹ค์„ฑ(std)์„ ๊ฐ™์ด ๋ฐ˜ํ™˜
gp.fit(X_train, y_train)
mean, std = gp.predict(x_new, return_std=True)
# mean = 0.052, std = 0.018  โ†’  "0.052์ฏค์ธ๋ฐ ยฑ0.018 ๋งŒํผ ๋ถˆํ™•์‹ค"

GP๋ฅผ ์ด๋ฃจ๋Š” 3๊ฐ€์ง€ ์š”์†Œ

1. ํ‰๊ท  ํ•จ์ˆ˜ (mean function) m(x)

  • ํ•จ์ˆ˜์˜ ๊ธฐ๋Œ€๊ฐ’(์ค‘์‹ฌ์„ ). ์‹ค๋ฌด์—์„  ๋ณดํ†ต 0์œผ๋กœ ๋‘”๋‹ค โ€” ๋ฐ์ดํ„ฐ๊ฐ€ ์•Œ์•„์„œ ๋Œ์–ด์˜ฌ๋ฆฐ๋‹ค.

2. ์ปค๋„ = ๊ณต๋ถ„์‚ฐ ํ•จ์ˆ˜ k(x, xโ€™)

  • โ€œ๋‘ ์ž…๋ ฅ์ด ๊ฐ€๊นŒ์šฐ๋ฉด ์ถœ๋ ฅ๋„ ๋น„์Šทํ•˜๋‹คโ€ ๋Š” ๋‹ฎ์Œ(์œ ์‚ฌ๋„)์˜ ์ •์˜. GP์˜ ์„ฑ๊ฒฉ์„ ์‚ฌ์‹ค์ƒ ๋‹ค ๊ฒฐ์ •ํ•œ๋‹ค.
  • ๊ฐ€์žฅ ํ”ํ•œ ๊ฒŒ RBF(์ œ๊ณฑ์ง€์ˆ˜, squared exponential) ์ปค๋„:
k(x, x') = exp( โˆ’ dยฒ / (2โ„“ยฒ) )      # d = |x โˆ’ x'|
  • โ„“(length-scale): ํ•จ์ˆ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ๋ณ€ํ•˜๋Š”์ง€. ์ž‘์„์ˆ˜๋ก ๊ตฌ๋ถˆ๊ตฌ๋ถˆ, ํด์ˆ˜๋ก ์™„๋งŒ.
  • ์ปค๋„์„ ๋ฐ”๊พธ๋ฉด ๋งค๋„๋Ÿฌ์›€(Matรฉrn), ์ฃผ๊ธฐ์„ฑ(periodic) ๊ฐ™์€ ์„ฑ์งˆ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

3. ์‚ฌํ›„๋ถ„ํฌ (posterior) โ€” ๊ด€์ธก ํ›„ ์—…๋ฐ์ดํŠธ

  • ์ ์„ ๊ด€์ธกํ•˜๋ฉด ๋ถ„ํฌ๊ฐ€ ๊ทธ ์ ์„ ์ง€๋‚˜๋„๋ก ์ข์•„์ง„๋‹ค. ๊ด€์ธก์  ๊ทผ์ฒ˜๋Š” ๋ถˆํ™•์‹ค์„ฑโ†“, ๋ฉ€์–ด์งˆ์ˆ˜๋ก ๋ถˆํ™•์‹ค์„ฑโ†‘.
  • ์ƒˆ ์ง€์  x*์—์„œ์˜ ์˜ˆ์ธก์€ ๋‹ค์Œ์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค (๊ด€์ธก ์ž…๋ ฅ X, ๊ด€์ธก๊ฐ’ y):
์‚ฌํ›„ ํ‰๊ท    ฮผ(x*) = K(x*, X) ยท K(X, X)โปยน ยท y          # ๊ด€์ธก๊ฐ’๋“ค์˜ ๊ฐ€์ค‘ ์กฐํ•ฉ
์‚ฌํ›„ ๋ถ„์‚ฐ   ฯƒยฒ(x*) = K(x*, x*) โˆ’ K(x*, X) ยท K(X, X)โปยน ยท K(X, x*)
  • ํ‰๊ท  ฮผ๋Š” โ€œ๊ด€์ธก๊ฐ’๋“ค์„ ๊ฑฐ๋ฆฌ(์ปค๋„) ๊ฐ€์ค‘์œผ๋กœ ์„ž์€ ๊ฐ’โ€, ๋ถ„์‚ฐ ฯƒยฒ์€ โ€œ๊ด€์ธก์—์„œ ๋ฉ€์ˆ˜๋ก ์ปค์ง€๋Š” ๋ถˆํ™•์‹ค์„ฑโ€์ด๋‹ค.

์ง๊ด€: โ€œ๊ด€์ธก์ ์„ ์ง€๋‚˜๋Š” ๊ณ ๋ฌด์ค„ ๋‹ค๋ฐœโ€

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

ํ•œ๊ณ„

  • ๋ฐ์ดํ„ฐ N๊ฐœ์ผ ๋•Œ K(X, X)โปยน ๊ณ„์‚ฐ์ด O(Nยณ) โ†’ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋น„์‹ธ๋‹ค.
  • ๊ทธ๋ž˜์„œ GP/BO๋Š” โ€œํ‰๊ฐ€ ํšŸ์ˆ˜๊ฐ€ ์ ์€โ€ ์ƒํ™ฉ(๋น„์‹ผ ์‹คํ—˜, โ‰ค20์ฐจ์›)์—์„œ ๊ฐ€์žฅ ๋น›๋‚œ๋‹ค.

์ฐธ๊ณ  ๋ฌธ์„œ