Page 21 -
P. 21
그림 1-6 신경망 훈련 과정
1
순전파 역전파
1.3.3.1 순전파 과정 머신 러닝과 신경망 개론
그림 1-6에서 볼 수 있듯이 순전파 과정은 단순한 수학 계산이다. 앞서 만든 레이어 두 개짜리 신
경망의 경우 신경망 출력값을 계산하는 공식은 다음과 같다.
이 공식을 feedforward 함수로 구현해 앞서 만든 파이썬 코드에 추가하자. 문제를 단순하게 만들
기 위해 편향은 0이라고 가정한다.
import numpy as np
def sigmoid(x):
return 1.0/(1 + np.exp(-x))
class NeuralNetwork:
def __init__(self, x, y):
self.input = x
self.weights1 = np.random.rand(self.input.shape[1],4)
self.weights2 = np.random.rand(4,1)
self.y = y
self.output = np.zeros(self.y.shape)
def feedforward(self):
self.layer1 = sigmoid(np.dot(self.input, self.weights1))
self.output = sigmoid(np.dot(self.layer1, self.weights2))
그러나 아직 예측 정확도를 평가할 수 있는 방법이 없다(즉, 예측이 얼마나 틀렸는지 알 수 없다).
그러려면 먼저 손실 함수(loss function)가 필요하다.
33
신경망교과서_07.indd 33 2020-05-19 오전 9:04:31