더북(TheBook)

2.8.1 모델 구성

1장에서도 언급했듯이, 케라스의 Sequential 클래스를 사용하면 마치 레고처럼 레이어를 쌓아 올려 신경망을 만들 수 있다. 먼저 새로운 Sequential 클래스를 만든다.

from keras.models import Sequential

model = Sequential()

다음으로 첫 번째 은닉 레이어를 쌓는다. 첫 번째 은닉 레이어에는 노드가 32개 있으며 입력 차원(dimension)은 여덟 개다(X_train에 칼럼이 여덟 개 있기 때문이다). 첫 번째 은닉 레이어에는 항상 입력 차원을 지정해야 한다. 이어지는 다른 은닉 레이어의 크기는 케라스가 자동으로 계산한다.

Note ≡

첫 번째 은닉 레이어의 노드 수를 32개로 지정했지만, 사실 임의로 정한 것이다. 실제로는 실험을 반복하며 신중하게 결정해야 한다. 프로젝트에서는 이러한 초매개변수 튜닝 과정을 생략한다. 예제 데이터셋은 단순하기 때문에 다른 값을 사용해도 정확도에 큰 차이가 없을 것이다.

이제 첫 번째 은닉 레이어를 추가하자.

from keras.layers import Dense
# 첫 번째 은닉 레이어를 추가한다
model.add(Dense(32, activation='relu', input_dim=8))

activation 함수는 앞서 설명했던 relu를 사용한다.

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