더북(TheBook)

 

4소프트맥스

 

이제 모델을 만들어 보겠습니다.

 

model = Sequential()

model.add(Dense(16, input_dim=4, activation='relu'))

model.add(Dense(3, activation='softmax'))

 

여기서 달라진 점이 있습니다. 먼저 최종 출력 값이 3개 중 하나여야 하므로 출력층에 해당하는 Dense의 노트 수를 3으로 설정합니다. 또한, 활성화 함수로 앞서 나오지 않았던 소프트맥스(softmax)를 사용해 보겠습니다.

소프트맥스는 그림 12-3에서와 같이 총합이 1인 형태로 바꿔서 계산해 주는 함수입니다. 합계가 1인 형태로 변환하면 큰 값이 두드러지게 나타나고 작은 값은 더 작아집니다. 이 값이 교차 엔트로피를 지나 [1., 0., 0.]으로 변화하게 되면 우리가 원하는 원-핫 인코딩 값, 즉 하나만 1이고 나머지는 모두 0인 형태로 전환시킬 수 있는 것입니다.

 

151

그림 12-3 소프트맥스 함수의 원리

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