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
   16   17   18   19   20   21   22   23   24   25   26