1.3.3 파이썬만으로 신경망 만들기
신경망의 기본 아키텍처를 이해했다면 파이썬만 사용해 간단한 신경망을 만들어 보자. 먼저 NeuralNetwork라는 파이썬 클래스를 선언한다.
import numpy as np 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)
Note ≡
예제 코드에서는 넘파이 배열(self.weights1, self.weights2)에 무작위로 숫자를 넣어 가중치를 초기화했다. 넘파이 배열은 다차원 벡터를 표현하는 데 주로 사용한다. 가중치 벡터의 차원은 np.random.rand() 함수에 전달한 매개변수가 결정한다. 예를 들어 첫 번째 가중치 벡터 self.weights1은 self.input.shape[1] 변수를 바탕으로 만들어지며, 이 변수의 값은 결국 입력 벡터의 크기로 결정된다.
이 클래스로 만든 레이어 두 개짜리 신경망의 출력()은 다음 공식으로 계산한다.