더북(TheBook)

이 공식을 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)가 필요하다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.