더북(TheBook)

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.weights1self.input.shape[1] 변수를 바탕으로 만들어지며, 이 변수의 값은 결국 입력 벡터의 크기로 결정된다.

이 클래스로 만든 레이어 두 개짜리 신경망의 출력()은 다음 공식으로 계산한다.

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