Tensorflow - softmax
1. softmax 함수
- 활성화함수의 일종
- 어떤 값(score)을 입력했을 때, 그 값이 A, B,C 중 하나로 들어갈 때, 어떤 클래스로 들어가는지에 대한 확률 구하기
2. 크로스 엔트로피
- 손실함수의 일종(cost function)
- 소프트맥스함수와 같이 묶여서 사용될 수 있는 함수이다.
3. One hot Encoding
4. softmax_cross_entropy_with_logits 함수
기본적인 logits
일반적인 cross entropy loss function
softmax_cross_entropy_wity_logits
- 위의 cross entropy loss function을 간소화해서 사용하는 것을 의미한다.
-
tf.one_hot and reshape
class 개수 : 7개
Learning rate 조절하기
Learning rate 정하기
- 손실 함수의 최소값을 향해 이동하면서 각 반복에서 단계 크기를 결정하는 최적화 알고리즘의 조정 매개변수
- Learning rate가 높으면 산출되는 결과 속도가 빨라지지만 오류 값을 제대로 산출해내지 못하거나 오버플로우가 발생할 수 있고, 반대로 Learning rate가 너무 낮으면 산출되는 결과 속도가 느려지고 오류 값이 너무 많아져 실행 과정 자체가 멈출 수 있음
- 처음에 0.01로 시작하여, cost 함수의 값을 관찰한다.
data preporcessing(데이터 전처리)
1. Standardlization
- 데이터 중심이 0으로 가도록 조정하는 것
- 어떤 값이 항상 정해진 범위 안에 들어가도록 조정하는 것
Overfitting(과적합)
- 학습데이터를 과하게 잘 학습하는 것
- 알고리즘 중 인공신경망 (artificial neural network, ANN) 그리고 서포트 벡터 머신 (support vector machine, SVM)이 가장 과적합을 방지하는 데에 효과적임
- 학습 데이터 양을 늘릴수록 과적합을 줄일 수 있음
- 데이터 feature을 줄이기
- Regularization(일반화시키기)
Regularization
- weight를 줄이기 위한 방법
- cost 함수를 최소화시키는 것
위의 것을 코드로 구현하면, 다음과 같다.
Training data와 Test data의 정의
Trainig, validation, test dataset의 구성