
입력층은 x1, x2, b로 이루어져 있다.
은닉층은 2~5개의 유닛과 b로 이루어져 있다.
출력층은 한 개의 유닛으로 이루어져 있다.
활성 함수는 시그모이드 함수,
손실 함수는 MSE를 사용한다.
class Network
은닉층의 유닛 개수와 학습률을 조정하여 모델을 만드는 클래스
------------------------------------------
def activate(x, d=False)
x에 대한 시그모이드 함수 계산 (d가 True인 경우 역전파의 값을 계산함)
def forward_pass(x)
입력값에 대해 순전파를 한 번 하고 입력층, 은닉층, 출력층의 값을 반환함
def fit(X, T, iter=5000)
입력값 X와 타겟 값T에 대해 iter 횟수만큼 순전파와 역전파를 반복하여 학습을 진행함
def test(X, T)
X와 T에 대한 모델의 예측값을 출력함
은닉층 유닛 2개, 학습률 0.1 고정.


반복 횟수가 많아질 수록 충분한 학습이 이루어짐을 알 수 있었다.




*학습률 0.2, 반복 10000회 고정


유닛 개수가 많아질 수록 loss값이 줄어드는 반복 횟수의 임계값이 적어짐을 알 수 있었다. 따라서 유닛 개수가 많다면 학습이 더욱 빠르게 이루어진다고 추측할 수 있다.
신경망 모델에서 적절한 하이퍼파라미터를 설정하는 것은 중요하다.