Notice
Recent Posts
Recent Comments
ยซ   2025/08   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags more
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐ŸŒฒ์ž๋ผ๋‚˜๋Š”์ฒญ๋…„

์ถœ๋ ฅ์ธต ์„ค๊ณ„ํ•˜๊ธฐ ๋ณธ๋ฌธ

๋”ฅ๋Ÿฌ๋‹

์ถœ๋ ฅ์ธต ์„ค๊ณ„ํ•˜๊ธฐ

JihyunLee 2019. 2. 23. 22:01
๋ฐ˜์‘ํ˜•

์‹ ๊ฒฝ๋ง์€ ๋ถ„๋ฅ˜์™€ ํšŒ๊ธฐ ๋ชจ๋‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์ž‡์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋‘˜์ค‘ ์–ด๋–ค ๋ฌธ์ œ๋ƒ์— ๋”ฐ๋ผ ์ถœ๋ ฅ์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.


๊ธฐ๊ณ„ํ•™์Šต ๋ฌธ์ œ๋Š” ๋ณดํ†ต ๋‘๊ฐ€์ง€ 1. ๋ถ„๋ฅ˜, 2. ํšŒ๊ธฐ ๋กœ ๋‚˜๋ˆ„์–ด ์ง‘๋‹ˆ๋‹ค.

1. ๋ถ„๋ฅ˜  : ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋А class์— ๋“ค์–ด๊ฐˆ์ง€ ์˜ˆ์ธกํ•˜๋Š” ๋ฌธ์ œ, ex ) ์ธ๋ฌผ์˜ ์„ฑ๋ณ„์„ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฌธ์ œ

2. ํšŒ๊ธฐ : ์—ฐ์†์ ์ธ ์ˆ˜์น˜ ๊ณ„์‚ฐ๋ฌธ์ œ : ex ) ์ธ๋ฌผ์˜ ๋ชธ๋ฌด๊ฒŒ ์˜ˆ์ธก


์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ„๋ฅ˜์—๋Š” ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ, ํšŒ๊ท€์—๋Š” ํ•ญ๋“ฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


ํšŒ๊ธฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•ญ๋“ฑํ•จ์ˆ˜๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์ž…๋ ฅ๊ฐ’ = ์ถœ๋ ฅ๊ฐ’์ธ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

1
2
3
4
 
def identity_function(X):
    return X
 
cs



๋ถ„๋ฅ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์†Œํ”„ํŠธ ๋งฅ์Šค ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

exp()๋Š” ์ง€์ˆ˜ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๊ณ , n์€ ์ถœ๋ ฅ์ธต์˜ ๋‰ด๋Ÿฐ ์ˆ˜, k๋Š” n๊ฐœ์ค‘ K๋ฒˆ์งธ ์ถœ๋ ฅ์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 

์œ„์˜ ์‹์„ ํ’€์–ด์„œ ๋งํ•˜๋ฉด, 

๋ถ„๋ชจ  : ์ถœ๋ ฅ์ธต์œผ๋กœ ๋“ค์–ด์˜จ ๊ฐ๊ฐ์˜ ๊ฐ’์˜ ์ง€์ˆ˜ํ•จ์ˆ˜ ๊ฐ’์˜ ํ•ฉ

๋ถ„์ž : k๋ฒˆ์งธ ์ž…๋ ฅ๊ฐ’์˜ ์ง€์ˆ˜ํ•จ์ˆ˜๊ฐ’


์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ k๋ฒˆ์งธ๋ผ๊ณ  ํ•ด์„œ k ๋ฒˆ์งธ ์ž…๋ ฅ์‹ ํ˜ธ์—๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ชจ๋“  ์ž…๋ ฅ์‹ ํ˜ธ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.


๊ตฌํ˜„ : 

1
2
3
4
5
6
#์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜
def softmax(a):
    exp_a = np.exp(a)
    sum_exp_a = np.sum(exp_a)
    y = exp_a / sum_exp_a#y์—๋Š” ์†Œํ”„ํŠธ ๋งฅ์Šค๋ฅผ ๊ฑฐ์นœ ์ˆ˜๋“ค์˜ ๋ฐฐ์—ด์ด ์ €์žฅ๋˜๊ฒŒ ๋œ๋‹ค
    return y
cs


๊ทธ๋Ÿฐ๋ฐ ์ง€์ˆ˜ํ•จ์ˆ˜๋Š” ์ˆ˜์˜ ํฌ๊ธฐ์—๋”ฐ๋ผ ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ์ปค์ ธ์„œ, nan์œผ๋กœ ์ถœ๋ ฅ๋  ์œ„ํ—˜์ด ์žˆ์–ด์„œ

1
2
3
4
5
6
7
#์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜ nan ํ”ผํ•˜๊ธฐ
def softmax(a):
    c = np.max(a)
    exp_a = np.exp(a-c)#์ง€์ˆ˜ํ•จ์ˆ˜์•ˆ์— ๋“ค์–ด์žˆ๋Š” '-'์—ฐ์‚ฐ์€ ์‚ฌ์‹ค์€ ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ
    sum_exp_a = np.sum(exp_a-c)
    y = exp_a / sum_exp_a
    return y
cs


์œ„์™€ ๊ฐ™์ด ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๋นผ์ฃผ๋ฉด(=์ง€์ˆ˜ํ•จ์ˆ˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์€ ๋‚˜๋ˆ ์ฃผ๋ฉด), nan์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํŠน์ง•

-์ถœ๋ ฅ๊ฐ’ y๋ฐฐ์—ด์˜ ์ด ํ•ฉ์€ 1์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ๊ฐ์˜ ๊ฐ’์€ ํ™•๋ฅ ๋กœ๋„ ํ•ด์„์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-๊ฐ ์›์†Œ์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-ํ•™์Šต๋‹จ๊ณ„์—์„œ๋Š” ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ถ”๋ก ๋‹จ๊ณ„์—์„œ๋Š” ์ž์›์„ ์•„๋ผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.


๋ฐ˜์‘ํ˜•