์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

์‹ ๊ฒฝ๋ง ๊ตฌํ˜„ํ•˜๊ธฐ

JihyunLee 2019. 2. 23. 19:31
๋ฐ˜์‘ํ˜•

์—ฌ๊ธฐ์„œ ๊ตฌํ˜„ํ•ด ๋ณด๋Š” ์‹ ๊ฒฝ๋ง์€ 


์ž…๋ ฅ์ธต : node 2๊ฐœ

์€๋‹‰์ธต1 : node 3๊ฐœ

์€๋‹‰์ธต2 : node 2๊ฐœ

์ถœ๋ ฅ์ธต : node 2๊ฐœ 


์ธ ์‹ ๊ฒฝ๋ง ์ž…๋‹ˆ๋‹ค.


๋จผ์ € ์ฒซ๋ฒˆ์งธ ์ž…๋ ฅ์ธต - > ์ฒซ๋ฒˆ์งธ ์€๋‹‰์ธต ์„ ๊ตฌํ˜„ ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.


1
2
3
4
5
6
7
8
9
10
 
= np.array([1.0,0.5])#์ฒซ๋ฒˆ์งธ ์ธต
W1 = np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])
B1 = np.array([0.1,0.2,0.3])
 
A1 = np.dot(X,W1) + B1#ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์น˜๊ธฐ ์ „ ์€๋‹‰์ธต 1๋กœ ๊ฐ„ ์ •๋ณด๋“ค
 
Z1 = sigmoid(A1)
print("ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์ด์ „ ", A1)
print("ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์ดํ›„ ", Z1)
cs


๊ฒฐ๊ณผ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์ด์ „  [0.3 0.7 1.1]
ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์ดํ›„  [0.57444252 0.66818777 0.75026011]

๋‹ค์Œ์œผ๋กœ ์ฒซ๋ฒˆ์งธ ์€๋‹‰์ธต ->  ๋‘๋ฒˆ์งธ ์€๋‹‰์ธต์˜ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
W2 = np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])
B2 = np.array([0.1,0.2])
 
 
A2 = np.dot(A1,W2) + B2#์€๋‹‰์ธต 1์˜ ์ •๋ณด์™€ weight, bias ๊ณ„์‚ฐ
 
Z2 = sigmoid(A1)#ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์นœ ์ •๋ณด๊ฐ€ ์€๋‹‰์ธต2 ๋…ธ๋“œ์— ์ €์žฅ
cs


๋‹ค์Œ์œผ๋กœ ๋‘๋ฒˆ์งธ ์€๋‹‰์ธต -> ์ถœ๋ ฅ์ธต ์˜ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.


์ถœ๋ ฅ์ธต์˜ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋Š”

1
2
def identity_function(X):
    return X
cs

ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ ,


1
2
3
4
5
W3 = np.array([[0.1,0.3],[0.2,0.4]])
B3 = np.array([0.1,0.2])
 
A3 = np.dot(Z2, W3) + B3
= identity_function(A3)
cs

์ถœ๋ ฅ์ธต Y๊นŒ์ง€ ๊ตฌํ˜„์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.



๋ฐ˜์‘ํ˜•