모형 훈련
훈련
# 훈련 설정
model.compile(optimizer=keras.optimizers.SGD(learning_rate=0.0001),
loss='binary_crossentropy', metrics=['accuracy'])
# 훈련
model.fit(x_train_binary, y_train_binary, epochs=5, batch_size=32)
경사하강법 gradient descent
- 기존의 파라미터를 바탕으로 예측 ŷ을 출력
- 실제 y와 비교하여 손실을 계산 L(y,ŷ)
- 손실을 줄이는 방향으로 파라미터를 수정
- 위의 과정을 반복
학습률 learning rate
- 파라미터는 한 번에 경사 × 학습률만큼 수정
- 경사가 0에 가까울 수록 오차는 최소에 가까워짐
- 경사에 비례하여 수정할 크기를 조정
- 학습률이 크면 학습이 빠르지만 최소점 근처에서 수렴하지 않을 수 있음
경사하강법의 문제점
- 한 단계의 가중치 수정을 위해 전체 데이터셋에 대해 계산
- 국소최소점(local minima: 근방에서만 최소인 점)에 수렴
- 안장점(saddle point: 경사가 0이지만 최소나 최대가 아닌 점)에서 업데이트 불가
확률적 경사하강법 Stochastic GD
- 하나의 사례를 바탕으로 경사를 계산
- 극소점을 향해 바로 가지 않고 지그재그로 이동하게 됨
- 한 번의 업데이트를 위한 계산량이 적음
- 국소최적화를 피할 가능성이 있음
- 업데이트 방향이 불안정하므로 더 많은 업데이트가 필요할 수 있음
미니배치(Mini-batch) 경사하강법
- 전체 데이터의 일부(=미니배치)만을 사용하여 경사하강법
- 경사하강법과 확률적 경사하강법을 장점을 융합
- 일반적으로 확률적 경사하강법이라고 하면 실제로는 미니배치 경사하강법을 가리킴
손실 함수 loss function
- 비용 함수 cost function 또는 오차 함수 error function라고도 함
- 예측과 실제의 차이를 계산
- 손실 ≥ 0
- 손실을 최소화할 수록 성능이 개선
MSE mean squared error
- 오차 제곱의 평균(오차 = 실제 – 예측)
- 연속변수의 예측에 사용
- 이상치(outlier)에 민감
교차 엔트로피 cross entropy
- 두 확률 분포의 차이를 계산
- 범주형 변수의 예측에 사용
- p와 q 두 확률 분포가 비슷할 수록 작아짐
- 높은 확률로 예측했을 때 맞고, 낮은 확률로 예측했을 때 틀려야 감소
퀴즈
사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.