[인공지능] 케라스 기초 - 모델 컴파일
- 인공지능
- 2022. 2. 15. 21:52
참조
모델 컴파일(compile)
- 모델을 구성한 후, 사용할 손실함수(loss), 옵티마이저(optimizer를 지정)
model.compile(loss='sparse_categorical_crossentropy',
optimizer='sgd'
metrics=['accuracy'])
loss
- keras.lossess.sparse_categorical_crossentropy 등과 같이 지정 가능
- sparse_categorical_crossentropy
- 클래스가 배타적, 즐 MNIST 예제에서 (0,1,2,...,9) 와 같은 방식으로 구분되어 있을 때 사용
- categorical_cross_entropy 클래스가 원-핫 인코딩 방식으로 되어 있을 때 사용
원-핫 인코딩 은 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식입니다. 이렇게 표현된 벡터를 원-핫 벡터라고 합니다.
- binary_crossentropy 이진 분류를 수행할 때 사용
- sparse_categorical_crossentropy
optimizer
- keras.optimizer.SGD() 등과 같이 사용 가능
- 보통 옵티마이저의 튜닝을 위해 따로 객체를 생성하여 컴파일
- keras.optimizer.Adam() 도 많이 사용
optimizer = keras.optimizer.SGD(learning_rate = 1e-5)
model.compile(...,
optimizer=optimzer,
...)
metrics
- 성능 지표, 모니터링할 지표
- 주로 accuracy, acc 로도 가능
컴파일 설정 예시
- 평균 제곱 오차 회귀 문제
model.compile(loss = 'mse',
optimizer = RMSprop(),
metrics=['mae'])
- 이진 분류
model.compile(loss = 'binary_crossentropy',
optimizer = RMSprop(),
metrics=['accuracy'])
- 다항 분류
model.compile(loss = 'categorical_crossentropy',
optimizer = RMSprop(),
metrics=['accuracy'])
모델 훈련, 평가 및 예측
- fit() 함수
- train_data(학습데이터), train_label(데이터의 정답)
- epochs
- batch_size
- validation_data
- evaluate() 함수
- 테스트 데이터
- predict() 함수
- 임의의 데이터를 인자로 넣어 예측 가능
728x90
'인공지능' 카테고리의 다른 글
[인공지능] 케라스 기초 - 콜백 (0) | 2022.02.17 |
---|---|
[인공지능] 케라스 기초 - 모델 저장과 복원 (0) | 2022.02.16 |
[인공지능] 케라스 기초 - 모델 가중치 확인 (0) | 2022.02.15 |
[인공지능] 케라스 기초 - 모델 구성 방법 (0) | 2022.02.15 |
[인공지능] 케라스 기초 - 주요 레이어 (0) | 2022.02.15 |
이 글을 공유하기