hye-log

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 01_DAY 03 ๋ณธ๋ฌธ

Boostcourse/AI Tech 4๊ธฐ

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 01_DAY 03

iihye_ 2022. 9. 21. 21:59

๐ŸŒŸ ๊ฐœ๋ณ„ํ•™์Šต


[2] ํ–‰๋ ฌ์ด ๋ญ์—์š”

1. ํ–‰๋ ฌ

1) ๋ฒกํ„ฐ๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง€๋Š” 2์ฐจ์› ๋ฐฐ์—ด

x = np.array([[1, -2, 3],		# ํ•˜๋‚˜์˜ ํ–‰์„ ๋‚˜ํƒ€๋ƒ„
	    [7, 5, 0],				
            [-2, -1, 2]])

2) ํ–‰(row)๊ณผ ์—ด(column) ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง

3) ์ „์น˜ ํ–‰๋ ฌ(transpose matrix) : ํ–‰๊ณผ ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ ๋ฐ”๋€ ํ–‰๋ ฌ

 

2. ํ–‰๋ ฌ์„ ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ• (1)

1) ํ–‰๋ ฌ - ์—ฌ๋Ÿฌ ์ ๋“ค์„ ๋‚˜ํƒ€๋ƒ„ (vs. ๋ฒกํ„ฐ - ๊ณต๊ฐ„์—์„œ์˜ ํ•œ ์ )

2) xij : i๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์˜ j๋ฒˆ์งธ ๋ณ€์ˆ˜์˜ ๊ฐ’

 

3. ํ–‰๋ ฌ์˜ ์—ฐ์‚ฐ

1) ํ–‰๋ ฌ์˜ ๋ง์…ˆ, ๋บ„์…ˆ : ํ–‰๋ ฌ๋ผ๋ฆฌ ๊ฐ™์€ ๋ชจ์–‘์„ ๊ฐ€์ง€๋ฉด ๊ณ„์‚ฐ ๊ฐ€๋Šฅ

2) ํ–‰๋ ฌ์˜ ์„ฑ๋ถ„๊ณฑ, ์Šค์นผ๋ผ๊ณฑ : ๋ฒกํ„ฐ์™€ ๋™์ผ

3) ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ : i๋ฒˆ์งธ ํ–‰๋ฒกํ„ฐ์™€ j๋ฒˆ์งธ ์—ด๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๋‚ด์ 

+ Xํ–‰์˜ ๊ฐœ์ˆ˜์™€ Y์˜ ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์•„์•ผ ํ•จ

# ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ
X = np.array([[1, -2, 3], [7, 5, 0], [-2, -1, 2]])
Y = np.array([[0, 1], [1, -1], [-2, 1]])
X @ Y
>> array([[-8, 6], [5, 2], [-5, 1]])

4) ํ–‰๋ ฌ์˜ ๋‚ด์  : i๋ฒˆ์งธ ํ–‰๋ฒกํ„ฐ์™€ j๋ฒˆ์งธ ํ–‰๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๋‚ด์ ์„ ์„ฑ๋ถ„์œผ๋กœ ๊ฐ€์ง€๋Š” ํ–‰๋ ฌ

+ X์˜ ํ–‰์˜ ๊ฐœ์ˆ˜์™€ Y์˜ ํ–‰์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์•„์•ผ ํ•จ

# ํ–‰๋ ฌ์˜ ๋‚ด์ 
X = np.array([[1, -2, 3], [7, 5, 0], [-2, -1, 2]])
Y = np.array([[0, 1, -1], [1, -1, 0]])
np.inner(X, Y)
>> array([[-5, 3], [5, 2], [-3, -1]])

 

4. ํ–‰๋ ฌ์„ ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ•(2)

1) ๋ฒกํ„ฐ๊ณต๊ฐ„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž(operator)

2) ํ–‰๋ ฌ๊ณฑ์„ ํ†ตํ•ด ๋ฒกํ„ฐ๋ฅผ ๋‹ค๋ฅธ ์ฐจ์›์˜ ๊ณต๊ฐ„์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ -> ํŒจํ„ด ์ถ”์ถœ, ๋ฐ์ดํ„ฐ ์••์ถ•

 

5. ์—ญํ–‰๋ ฌ

1) ์—ญํ–‰๋ ฌ(inverse matrix) : ํ–‰๋ ฌ A์˜ ์—ฐ์‚ฐ์„ ๊ฑฐ๊พธ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ํ–‰๋ ฌ

+ ํ–‰๊ณผ ์—ด ์ˆซ์ž๊ฐ€ ๊ฐ™๊ณ  ํ–‰๋ ฌ์‹์ด 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅ

2) AA^-1 = A^-1A = I (ํ•ญ๋“ฑํ–‰๋ ฌ)

# ์—ญํ–‰๋ ฌ
X = np.array([[1, -2, 3], [7, 5, 0], [-2, -1, 2]])
np.linalg.inv(x)			# ์—ญํ–‰๋ ฌ
X @ np.linalg.inv(x)			# ํ•ญ๋“ฑํ–‰๋ ฌ

3)  ์—ญํ–‰๋ ฌ์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๋‹ค๋ฉด, ์œ ์‚ฌ์—ญํ–‰๋ ฌ(pseudo-inverse) / ๋ฌด์–ด-ํŽœ๋กœ์ฆˆ(Moore-Penrose) ์—ญํ–‰๋ ฌ ์‚ฌ์šฉ

# ์œ ์‚ฌ์—ญํ–‰๋ ฌ
X = np.array([[0, 1], [1, -1], [-2, 1]])
np.linalg.pinv(x)			# ์œ ์‚ฌ์—ญํ–‰๋ ฌ
X @ np.linalg.pinv(x)			# ํ•ญ๋“ฑํ–‰๋ ฌ

[3] ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(์ˆœํ•œ๋ง›)

1. ๋ฏธ๋ถ„

1) ๋ณ€์ˆ˜์˜ ์›€์ง์ž„์— ๋”ฐ๋ฅธ ํ•จ์ˆ˜๊ฐ’์˜ ๋ณ€ํ™”๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ

2) ์ตœ์ ํ™”์—์„œ ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•

 

# ๋ฏธ๋ถ„์˜ ๊ณ„์‚ฐ
import sympy as sym
from sympy.abc import x

sym.diff(sym.poly(x**2 + 2*x + 3), x)
>> Poly(2*x + 2, x, domain='ZZ')

3) ํ•จ์ˆ˜ f์˜ ์ฃผ์–ด์ง„ ์  (x, f(x))์—์„œ์˜ ์ ‘์„ ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ

4) ์ ‘์„ ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์•Œ๋ฉด -> ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ ์ ์„ ์›€์ง์–ด์•ผ ํ•จ์ˆ˜๊ฐ’์ด ์ฆ๊ฐ€/๊ฐ์†Œํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ

5) ๊ฒฝ์‚ฌ์ƒ์Šน๋ฒ•(gradient ascent) : ๋ฏธ๋ถ„๊ฐ’์„ ๋”ํ•˜์—ฌ ํ•จ์ˆ˜์˜ ๊ทน๋Œ€๊ฐ’ ์œ„์น˜๋ฅผ ๊ตฌํ•จ

6) ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(gradient descent) : ๋ฏธ๋ถ„๊ฐ’์„ ๋นผ์„œ ํ•จ์ˆ˜์˜ ๊ทน์†Œ๊ฐ’ ์œ„์น˜๋ฅผ ๊ตฌํ•จ

7) ๊ทน๊ฐ’์— ๋„๋‹ฌํ•˜๋ฉด ์›€์ง์ž„์„ ๋ฉˆ์ถ˜๋‹ค = ๋ชฉ์ ํ•จ์ˆ˜ ์ตœ์ ํ™”๊ฐ€ ๋๋‚œ๋‹ค

8) ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

- Input : gradient(๋ฏธ๋ถ„์„ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜), init(์‹œ์ž‘์ ), lr(ํ•™์Šต๋ฅ ), eps(์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ข…๋ฃŒ์กฐ๊ฑด)

- Output : var

var = init
grad = gradient(var)
while(abs(grad) > eps):				# ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ข…๋ฃŒ ์กฐ๊ฑด
    var = var - lr * grad			# ๋ฏธ๋ถ„์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ ์†๋„ ์กฐ์ ˆ
    grad = gradient(var)			# ๋ฏธ๋ถ„๊ฐ’ ์—…๋ฐ์ดํŠธ

9) ๋‹ค๋ณ€์ˆ˜ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ํŽธ๋ฏธ๋ถ„(partial differentiation)์„ ์‚ฌ์šฉ

10) ๊ทธ๋ ˆ๋””์–ธํŠธ ๋ฒกํ„ฐ : (์˜ˆ) f(x, y) = x^2 + 2*y^2  => ∇f = (2x, 4y)

11) ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜(2)

- Input : gradient(๊ทธ๋ ˆ๋””์–ธํŠธ ๋ฒกํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜), init(์‹œ์ž‘์ ), lr(ํ•™์Šต๋ฅ ), eps(์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ข…๋ฃŒ์กฐ๊ฑด)

- Output : var

var = init
grad = gradient(var)
while(norm(grad) > eps):			# ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ข…๋ฃŒ ์กฐ๊ฑด
    var = var - lr * grad			# ๊ทธ๋ ˆ๋””์–ธํŠธ๋ฅผ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ ์†๋„ ์กฐ์ ˆ
    grad = gradient(var)			# ๊ทธ๋ ˆ๋””์–ธํŠธ๊ฐ’ ์—…๋ฐ์ดํŠธ

[4] ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(๋งค์šด๋ง›)

1. ์„ ํ˜•ํšŒ๊ท€๋ถ„์„ ๋ณต์Šต

1) np.linalg.pinv(์—ญํ–‰๋ ฌ)๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํ˜•๋ชจ๋ธ๋กœ ํ•ด์„ํ•˜๋Š” ์„ ํ˜•ํšŒ๊ท€์‹์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ

2) ์—ญํ–‰๋ ฌ ๋Œ€์‹  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์ด์šฉํ•œ ์„ ํ˜•๋ชจ๋ธ์„ ์ฐพ์•„๋ณด์ž -> L2 ๋…ธ๋ฆ„ ํ™œ์šฉ

 

2. ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์ด์šฉํ•œ ์„ ํ˜•ํšŒ๊ท€

1) ์„ ํ˜•ํšŒ๊ท€์˜ ๋ชฉ์ ์‹

2) ๋ชฉ์ ์‹์„ ์ตœ์†Œํ™”ํ•˜๋Š” β๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜

+ L2 ๋…ธ๋ฆ„ ๋Œ€์‹  L2 ๋…ธ๋ฆ„์˜ ์ œ๊ณฑ์œผ๋กœ ๊ตฌํ•ด๋„ ๋จ -> ๊ณ„์‚ฐ์ด ๊ฐ„๋‹จํ•ด์ง

3) ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ๊ธฐ๋ฐ˜ ์„ ํ˜•ํšŒ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

- Input : X, y, lr(ํ•™์Šต๋ฅ ), T(ํ•™์ŠตํšŸ์ˆ˜)

- Output : beta

for t in range(T):
    error = y - X @ beta
    grad = -transpose(X) @ error	# ๊ทธ๋ ˆ๋””์–ธํŠธ ๋ฒกํ„ฐ
    beta = beta = lr * grad		# beta ์—…๋ฐ์ดํŠธ

4) ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์€ ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•˜๊ณ , ๋ณผ๋กํ•œ(convex) ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์ ์ ˆํ•œ ํ•™์Šต๋ฅ ๊ณผ ํ•™์ŠตํšŸ์ˆ˜๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ ์ˆ˜๋ ด์ด ๋ณด์žฅ

5) ๋น„์„ ํ˜•ํšŒ๊ท€์˜ ๊ฒฝ์šฐ ๋ชฉ์ ์‹์ด ๋ณผ๋กํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ˆ˜๋ ด์ด ํ•ญ์ƒ ๋ณด์žฅ๋˜์ง€ ์•Š์Œ -> ํ™•๋ฅ ์  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์‚ฌ์šฉ

 

3. ํ™•๋ฅ ์  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(SGD, Stochastic Gradient Descent)

1) ๋ฐ์ดํ„ฐ ํ•œ ๊ฐœ ๋˜๋Š” ์ผ๋ถ€๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ

2) ๋ณผ๋ก์ด ์•„๋‹Œ(non-convex) ๋ชฉ์ ์‹์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Œ

3) ๋ฏธ๋‹ˆ๋ฐฐ์น˜๋ฅผ ํ™•๋ฅ ์ ์œผ๋กœ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชฉ์ ์‹ ๋ชจ์–‘์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ

4) ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์ด์ฆˆ๋„ ํฌ๊ณ  ํฌ๊ธฐ๋„ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋ฏ€๋กœ SGD ํ™œ์šฉ


[5] ๋”ฅ๋Ÿฌ๋‹ ํ•™์Šต๋ฐฉ๋ฒ• ์ดํ•ดํ•˜๊ธฐ

1. ์‹ ๊ฒฝ๋ง(neural network)

1) ๋น„์„ ํ˜•๋ชจ๋ธ = ์„ ํ˜•๋ชจ๋ธ + ํ™œ์„ฑํ•จ์ˆ˜(activation function)

2) O = X * W + b

- ํ–‰ ๋ฒกํ„ฐ oi๋Š” ๋ฐ์ดํ„ฐ xi์™€ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ W ์‚ฌ์ด์˜ ํ–‰๋ ฌ๊ณฑ๊ณผ ์ ˆํŽธ b ๋ฒกํ„ฐ์˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„

- O(n x p) = X(n x d) * W(d x p) + b(n x p)

3) ๋‹ค์ธต(multi-layer) ํผ์…‰ํŠธ๋ก (MLP) : ์‹ ๊ฒฝ๋ง ์—ฌ๋Ÿฌ์ธต์ด ํ•ฉ์„ฑ๋œ ํ•จ์ˆ˜

4) ์ธต์ด ๊นŠ์„์ˆ˜๋ก -> ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ๊ทผ์‚ฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋‰ด๋Ÿฐ์˜ ์ˆซ์ž๊ฐ€ ํ›จ์”ฌ ๋นจ๋ฆฌ ์ค„์–ด๋“ค์–ด -> ํšจ์œจ์  ํ•™์Šต ๊ฐ€๋Šฅ

+ ์ธต์ด ๊นŠ๋‹ค๊ณ  -> ์ตœ์ ํ™”๊ฐ€ ์‰ฌ์šด ๊ฒƒ์€ ์•„๋‹˜

 

2. ์†Œํ”„ํŠธ๋งฅ์Šค(Softmax)

1) ๋ชจ๋ธ์˜ ์ถœ๋ ฅ์„ ํ™•๋ฅ ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์—ฐ์‚ฐ

2) softmax(o) = softmax(Wx+b)

def softmax(vec):
    denumerator = np.exp(vec - np.max(vec, axis=-1, keepdims=True))
    numerator = np.sum(denumerator, axis=-1, keepdims=True)
    val = denumerator / numerator
    return val

3) ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์„ ํ˜•๋ชจ๋ธ๊ณผ ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์˜ˆ์ธก

4) ์ถ”๋ก ์„ ํ•  ๋•Œ๋Š” ์›-ํ•ซ(one-hot) ๋ฒกํ„ฐ๋กœ ์ตœ๋Œ€๊ฐ’์„ ๊ฐ€์ง„ ์ฃผ์†Œ๋งŒ 1๋กœ ์ถœ๋ ฅํ•˜๋Š” ์—ฐ์‚ฐ์„ ์‚ฌ์šฉ

 

3. ํ™œ์„ฑํ•จ์ˆ˜(activation function)

1) ๋”ฅ๋Ÿฌ๋‹์—์„œ ์„ ํ˜•๋ชจ๋ธ๊ณผ ์ฐจ์ด๋ฅผ ์ถ”๊ธฐ ์œ„ํ•ด์„œ ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ

2) sigmoid, tanh -> ์ „ํ†ต์ ์œผ๋กœ ๋งŽ์ด ์“ฐ์ด๋˜ ํ™œ์„ฑํ•จ์ˆ˜ / ReLU -> ๋”ฅ๋Ÿฌ๋‹์—์„œ ์ž์ฃผ ์‚ฌ์šฉ

CS231n

 

4. ์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜(backpropagation)

1) ๋”ฅ๋Ÿฌ๋‹์˜ ํ•™์Šต์›๋ฆฌ

2) forwardpropagation : ์ž…๋ ฅ -> ์„ ํ˜•๋ชจ๋ธ -> ํ™œ์„ฑํ™”ํ•จ์ˆ˜ -> ์ถœ๋ ฅ ํ˜•ํƒœ

3) backpropagation : ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์ ์šฉํ•˜์—ฌ gradient vector๋ฅผ ๊ณ„์‚ฐ

4) ์—ฐ์‡„๋ฒ•์น™(chain-rule) ๊ธฐ๋ฐ˜  ์ž๋™ ๋ฏธ๋ถ„(auto-differentiation)


[6] ํ™•๋ฅ ๋ก  ๋ง›๋ณด๊ธฐ

1. ๋”ฅ๋Ÿฌ๋‹๊ณผ ํ™•๋ฅ ๋ก 

1) ๋”ฅ๋Ÿฌ๋‹์€ ํ™•๋ฅ ๋ก  ๊ธฐ๋ฐ˜์˜ ๊ธฐ๊ณ„ํ•™์Šต ์ด๋ก ์— ๋ฐ”ํƒ•์„ ๋‘ 

2) ์†์‹คํ•จ์ˆ˜(loss function)์˜ ์ž‘๋™ ์›๋ฆฌ : ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์„ ํ†ต๊ณ„์ ์œผ๋กœ ํ•ด์„ํ•ด์„œ ์œ ๋„ํ•จ

(์˜ˆ) ํšŒ๊ท€ ๋ถ„์„์˜ ์†์‹ค ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋Š” L2-๋…ธ๋ฆ„ : ์˜ˆ์ธก์˜ค์ฐจ์˜ ๋ถ„์‚ฐ์„ ๊ฐ€์žฅ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต

(์˜ˆ) ๋ถ„๋ฅ˜ ๋ฌธ์ œ์˜ ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ(cross-entropy) : ๋ชจ๋ธ ์˜ˆ์ธก์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต

 

2. ํ™•๋ฅ ๋ถ„ํฌ

1) ๋ฐ์ดํ„ฐ๊ณต๊ฐ„ : X × Y,  ๋ฐ์ดํ„ฐ๊ณต๊ฐ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ถ„ํฌ : D

+ ์ •๋‹ต ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” ์ง€๋„ํ•™์Šต์ด๋ผ๊ณ  ๊ฐ€์ •

2) ๋ฐ์ดํ„ฐ : ํ™•๋ฅ ๋ณ€์ˆ˜ (x, y) ~ ํ™•๋ฅ ๋ถ„ํฌ D   ( (x, y) ∈  X × Y  )

3) ํ™•๋ฅ ๋ณ€์ˆ˜ : ํ™•๋ฅ ๋ถ„ํฌ D ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„

- ์ด์‚ฐํ™•๋ฅ ๋ณ€์ˆ˜(discrete) : ํ™•๋ฅ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ ํ™•๋ฅ ์„ ๋”ํ•ด์„œ ๋ชจ๋ธ๋ง

- ์—ฐ์†ํ™•๋ฅ ๋ณ€์ˆ˜(continuous) : ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์— ์ •์˜๋œ ํ™•๋ฅ ๋ณ€์ˆ˜์˜ ๋ฐ€๋„ ์œ„์—์„œ ์ ๋ถ„์„ ํ†ตํ•ด ๋ชจ๋ธ๋ง

4) ๊ฒฐํ•ฉ๋ถ„ํฌ P(x, y)๋Š” D๋ฅผ ๋ชจ๋ธ๋ง

5) P(x) : ์ž…๋ ฅ x ์— ๋Œ€ํ•œ ์ฃผ๋ณ€ํ™•๋ฅ ๋ถ„ํฌ. y์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์—†์Œ

6) P(x | y) : ์กฐ๊ฑด๋ถ€ํ™•๋ฅ ๋ถ„ํฌ. ๋ฐ์ดํ„ฐ๊ณต๊ฐ„์—์„œ ์ž…๋ ฅ x์™€ ์ถœ๋ ฅ y ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋ง

 

3. ์กฐ๊ฑด๋ถ€ํ™•๋ฅ 

1) P(y | x) : ์ž…๋ ฅ๋ณ€์ˆ˜ x์— ๋Œ€ํ•ด ์ •๋‹ต์ด y์ผ ํ™•๋ฅ 

(์˜ˆ) ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์—์„œ ์‚ฌ์šฉํ•œ ์„ ํ˜•๋ชจ๋ธ + ์†Œํ”„ํŠธ๋งฅ์Šค๋Š” ๋ฐ์ดํ„ฐ์—์„œ ์ถ”์ถœ๋œ ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•๋ฅ ์„ ํ•ด์„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

(์˜ˆ) softmax(WΦ + b)๋Š” ๋ฐ์ดํ„ฐ x๋กœ๋ถ€ํ„ฐ ์ถ”์ถœ๋œ ํŠน์ง•ํŒจํ„ด Φ(x)๊ณผ ๊ฐ€์ค‘์น˜ํ–‰๋ ฌ W๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด๋ถ€ํ™•๋ฅ  P(y|x)๋ฅผ ๊ณ„์‚ฐ

(์˜ˆ) ํšŒ๊ท€ ๋ฌธ์ œ์—์„œ๋Š” ์กฐ๊ฑด๋ถ€๊ธฐ๋Œ€๊ฐ’ E[y | x]๋ฅผ ์ถ”์ •ํ•จ

 

4. ๊ธฐ๋Œ€๊ฐ’(expectation)

1) ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ํ†ต๊ณ„๋Ÿ‰

2) ์ด์‚ฐํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ธฐ๋Œ€๊ฐ’ : ๊ธ‰์ˆ˜๋ฅผ ์‚ฌ์šฉ

+ ์ด์‚ฐํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ธฐ๋Œ€๊ฐ’์„ E[x]๋ผ ํ•  ๋•Œ, ๋ถ„์‚ฐ์€ V[x]=E[x^2]-E[x]^2

3) ์—ฐ์†ํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ธฐ๋Œ€๊ฐ’ : ์ ๋ถ„์„ ์‚ฌ์šฉ

4) ๋”ฅ๋Ÿฌ๋‹์€ ๋‹ค์ธต์‹ ๊ฒฝ๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํŠน์ง•ํŒจํ„ด์„ ์ถ”์ถœํ•จ

 

5. ๋ชฌํ…Œ์นด๋ฅผ๋กœ ์ƒ˜ํ”Œ๋ง(Monte Carlo)

1) ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ๋ชจ๋ฅผ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ๋Œ€๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋ ค๋ฉด ๋ชฌํ…Œ์นด๋ฅผ๋กœ ์ƒ˜ํ”Œ๋ง ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ

2) ๋…๋ฆฝ์ถ”์ถœ๋งŒ ๋ณด์žฅ๋œ๋‹ค๋ฉด ๋Œ€์ˆ˜์˜ ๋ฒ•์น™์— ์˜ํ•ด ์ˆ˜๋ ด์„ฑ ๋ณด์žฅ


[7] ํ†ต๊ณ„๋ก  ๋ง›๋ณด๊ธฐ

1. ๋ชจ์ˆ˜

1) ํ†ต๊ณ„์  ๋ชจ๋ธ๋ง์€ ์ ์ ˆํ•œ ๊ฐ€์ • ์œ„์—์„œ ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ

2) ์œ ํ•œํ•œ ๊ฐœ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋งŒ ๊ด€์ฐฐํ•ด์„œ ๋ชจ์ง‘๋‹จ์˜ ๋ถ„ํฌ๋ฅผ ์•Œ๊ธฐ ์–ด๋ ค์›€ -> ๊ทผ์‚ฌ์ ์œผ๋กœ ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ์ถ”์ •

3) ๋ชจ์ˆ˜์ (parametric) ๋ฐฉ๋ฒ•๋ก  : ๋ฐ์ดํ„ฐ๊ฐ€ ํŠน์ • ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅธ๋‹ค๊ณ  ์„ ํ—˜์ ์œผ๋กœ ๊ฐ€์ •ํ•œ ํ›„ ๊ทธ ๋ถ„ํฌ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ชจ์ˆ˜๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

4) ๋น„๋ชจ์ˆ˜(nonparametric) ๋ฐฉ๋ฒ•๋ก  : ํŠน์ • ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ๊ฐ€์ •ํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋ชจ๋ธ์˜ ๊ตฌ์กฐ ๋ฐ ๋ชจ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์œ ์—ฐํ•˜๊ฒŒ ๋ฐ”๋€Œ๋Š” ๋ฐฉ๋ฒ• -> ๊ธฐ๊ณ„ํ•™์Šต์˜ ๋งŽ์€ ๋ฐฉ๋ฒ•๋ก 

(์˜ˆ) ํ™•๋ฅ ๋ถ„ํฌ ๊ฐ€์ •ํ•˜๊ธฐ -> ์šฐ์„  ํžˆ์Šคํ† ๊ทธ๋žจ์„ ํ†ตํ•ด ๋ชจ์–‘์„ ๊ด€์ฐฐ

- ๋ฐ์ดํ„ฐ๊ฐ€ 2๊ฐœ์˜ ๊ฐ’(0 ๋˜๋Š” 1)๋งŒ ๊ฐ€์ง -> ๋ฒ ๋ฅด๋ˆ„์ด ๋ถ„ํฌ

- ๋ฐ์ดํ„ฐ๊ฐ€ n๊ฐœ์˜ ์ด์‚ฐ์ ์ธ ๊ฐ’์„ ๊ฐ€์ง -> ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„ํฌ

- ๋ฐ์ดํ„ฐ๊ฐ€ [0, 1] ์‚ฌ์ด์—์„œ ๊ฐ’์„ ๊ฐ€์ง -> ๋ฒ ํƒ€ ๋ถ„ํฌ

- ๋ฐ์ดํ„ฐ๊ฐ€ 0 ์ด์ƒ์˜ ๊ฐ’์„ ๊ฐ€์ง -> ๊ฐ๋งˆ ๋ถ„ํฌ, ๋กœ๊ทธ์ •๊ทœ ๋ถ„ํฌ

- ๋ฐ์ดํ„ฐ๊ฐ€ R ์ „์ฒด์—์„œ ๊ฐ’์„ ๊ฐ€์ง -> ์ •๊ทœ ๋ถ„ํฌ, ๋ผํ”Œ๋ผ์Šค ๋ถ„ํฌ ๋“ฑ

5) ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์›๋ฆฌ๋ฅผ ๋จผ์ € ๊ณ ๋ คํ•  ๊ฒƒ

 

2. ๋ชจ์ˆ˜ ์ถ”์ •

1) ํ‘œ์ง‘๋ถ„ํฌ(sampling distribution) : ํ†ต๊ณ„๋Ÿ‰์˜ ํ™•๋ฅ ๋ถ„ํฌ

2) ์ค‘์‹ฌ๊ทนํ•œ์ •๋ฆฌ(Central Limit Theorem) : N์ด ์ปค์งˆ์ˆ˜๋ก ์ •๊ทœ๋ถ„ํฌ N(μ, σ^2/N)์„ ๋”ฐ๋ฆ„

 

3. ์ตœ๋Œ€๊ฐ€๋Šฅ๋„ ์ถ”์ •๋ฒ•(MLE, Maximum Likelihood Estimation)

1) ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ชจ์ˆ˜๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜

2) ๊ฐ€๋Šฅ๋„(likelihood) : ๋ชจ์ˆ˜ θ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ถ„ํฌ x๋ฅผ ๊ด€์ฐฐํ•  ๊ฐ€๋Šฅ์„ฑ

+ ํ™•๋ฅ ๋กœ ํ•ด์„ X. ๋Œ€์†Œ ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜ ์ •๋„๋กœ ํ•ด์„ O

3) ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ X๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์ถ”์ถœ๋˜์—ˆ์„ ๊ฒฝ์šฐ ๋กœ๊ทธ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™”ํ•จ

+ ๋กœ๊ทธ๊ฐ€๋Šฅ๋„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  : ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์—ฌ์คŒ

4) ๋”ฅ๋Ÿฌ๋‹์—์„œ ์ตœ๋Œ€๊ฐ€๋Šฅ๋„ ์ถ”์ •๋ฒ• : ์›ํ•ซ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•œ ์ •๋‹ต๋ ˆ์ด๋ธ”์„ ์ด์šฉํ•ด ํ™•๋ฅ ๋ณ€์ˆ˜์ธ ์†Œํ”„ํŠธ๋งฅ์Šค ๋ฒกํ„ฐ์˜ ๋กœ๊ทธ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™”

4. ํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ฑฐ๋ฆฌ

1) ์†์‹คํ•จ์ˆ˜๋Š” ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ ~ ๋ฐ์ดํ„ฐ์—์„œ ๊ด€์ฐฐ๋˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ํ†ตํ•ด ์œ ๋„

2) ์ด๋ณ€๋™ ๊ฑฐ๋ฆฌ(TV, Total Variation Distance)

3) ์ฟจ๋ฐฑ-๋ผ์ด๋ธ”๋Ÿฌ ๋ฐœ์‚ฐ(KL, Kullback-Leibler Divergence)

- ์ด์‚ฐํ™•๋ฅ ๋ณ€์ˆ˜

- ์—ฐ์†ํ™•๋ฅ ๋ณ€์ˆ˜

- ๋ถ„ํ•ด

- ์ •๋‹ต ๋ ˆ์ด๋ธ”์„ P, ๋ชจ๋ธ ์˜ˆ์ธก์„ Q๋ผ๊ณ  ํ•  ๋•Œ, ์ตœ๋Œ€๊ฐ€๋Šฅ๋„ ์ถ”์ •๋ฒ•์€ ์ฟจ๋ฐฑ-๋ผ์ด๋ธ”๋Ÿฌ ๋ฐœ์‚ฐ์„ ์ตœ์†Œํ™”ํ•จ

4) ๋ฐ”์Šˆํƒ€์ธ ๊ฑฐ๋ฆฌ(Wasserstein Distance)


๐ŸŒŸ ์˜ค๋Š˜์˜ ํšŒ๊ณ 

์˜ค์ „์— ํ”ผ์–ด์„ธ์…˜์ดํ”ผ์—ˆ์Šต๋‹ˆ๋‹ค๐ŸŒธ๋ฅผ ์‹œ์ž‘์œผ๋กœ ํ•˜๋ฃจ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋‹ค. ๊ฐ™์€ ํŠธ๋ž™์˜ ๋‹ค๋ฅธ ์บ ํผ๋ถ„๋“ค๋„ ๊ถ๊ธˆํ–ˆ๋Š”๋ฐ ์ด๋ฒˆ ์„ธ์…˜์„ ํ†ตํ•ด์„œ ๋‹ค๋ฅธ ์บ ํผ๋ถ„๋“ค์€ ์–ด๋–ค ๋ถ„๋“ค์ธ์ง€, ์–ด๋–ป๊ฒŒ ๊ทธ๋ผ์šด๋“œ ๋ฃฐ์„ ์ •ํ•˜๊ณ  ํ”ผ์–ด์„ธ์…˜์„ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. CV ํŠธ๋ž™์€ ํŒ€์ด ๋งŽ์•„์„œ ๋ฐ˜์”ฉ ๋‚˜๋ˆ„์–ด์„œ ํ•œ ๊ฒŒ ์•„์‰ฌ์› ๋‹คใ… -ใ…  ์„ธ์…˜์ด ๋๋‚˜๊ณ  ์ž ๊น ์‰ฌ๊ณ  ์ ์‹ฌ์„ ๋จน๊ณ , ๋‹ค์‹œ ํ•™์Šต์— ๋“ค์–ด๊ฐ”๋‹ค. ์–ด์ œ๋ถ€ํ„ฐ ์‚ด์ง ๊ฐ•์˜๋ฅผ ๋‹ค ๋“ค์„ ์ˆ˜ ์žˆ์„์ง€ ๊ฑฑ์ •์ด ๋˜์–ด์„œ ์˜ค๋Š˜์€ ์™„์ „ ์ง‘์ค‘ํ•ด์„œ ๊ฐ•์˜๋ž‘ ํ€ด์ฆˆ๋ฅผ ํ’€์—ˆ๋‹ค๐Ÿ”ฅ ์—ฌ์ „ํžˆ ํ™•๋ฅ ๊ณผ ํ†ต๊ณ„ ํŒŒํŠธ๋Š” ๋„ˆ๋ฌด๋„ˆ๋ฌด ์–ด๋ ต๋‹คใ… ใ…  ๋˜๋„๋ก์ด๋ฉด 10์‹œ~7์‹œ ์ง€์ผœ์„œ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ์˜ค๋Š˜์€ 10์‹œ๊นŒ์ง€ ๊ฐ•์˜ ๋“ฃ๊ณ  ํ€ด์ฆˆ ํ’€๊ณ , ์‹ฌํ™” ๊ณผ์ œ 1๋ฒˆ๋„ ํ•ด๊ฒฐํ•ด๋ดค๋‹ค! ์‚ฌ์‹ค ์ฒ˜์Œ ์‹ฌํ™” ๊ณผ์ œ ๋ดค์„ ๋•Œ์—๋Š” ๋‚ด๊ฐ€ ์ด ๋ฌธ์ œ๋“ค์„ ํ’€ ์ˆ˜ ์žˆ์„๊นŒ ๊ฑฑ์ •๋งŒ ๋งŽ์•˜๋Š”๋ฐ, ๋ง‰์ƒ ๊ฐ•์˜ ๋“ฃ๊ณ  ํ’€๊ณ  ์‹คํ–‰์„ ๋ˆ„๋ฅด๋‹ˆ... ์‹คํ–‰์ด.. ๋œ..๋‹ค...(๊ตฟ) ์˜ค๋Š˜ ์ง‘์ค‘ํ•œ๋งŒํผ ๋‚ด์ผ๋„ ์ง‘์ค‘ํ•ด์„œ AI Math ๊ฐ•์˜ ๋๋‚ด๊ณ  ๋‹ค์‹œ ํŒŒ์ด์ฌ ๊ฐ•์˜ ๋“ค์–ด๊ฐ€๋Š”๊ฑธ๋กœโœจ

 

 

728x90
Comments