더북(TheBook)

케라스의 mean_squared_error 손실 함수는 1.3.3.2절에서 소개한 SSE와 유사하다. 모델 훈련에는 sgd 옵티마이저를 사용했다. 한 번 더 설명하자면, 경사 하강법은 가중치와 편향에 대해 미분한 경사 방향으로 가중치와 편향을 갱신하는 기법이다.

이제 1.3.3절에서 사용한 데이터를 다시 가져와 케라스 신경망을 학습해 보자. 동일한 데이터를 사용하면 직접 만든 신경망과 케라스 신경망의 예측 결과를 비교할 수 있을 것이다.

먼저 특징 변수 X와 목표 변수 y를 넘파이 배열로 정의한다.

import numpy as np
# 결과를 재현할 수 있게 랜덤 시드를 고정한다
np.random.seed(9)
X = np.array([[0,0,1],[0,1,1],[1,0,1],[1,1,1]])
y = np.array([[0],[1],[1],[0]])

마지막으로 모델을 1,500회 반복 훈련시킨다.

model.fit(X, y, epochs=1500, verbose=False)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.