Loss Function
linear classification에서 Weight를 입력으로 받아서 Weight의 결과가 정답 값과 얼마나 차이가 나는지 보여줌으로써 얼마나 예측을 하는지 정량화하여 보여주는 함수를 의미한다.
Loss Function에 예측값과 실제 라벨값을 넣어 평균을 구해 전체 loss 값을 구하는 원리
: 사용할 Loss Function
: input 이미지의 score
: 정답 score
: 함수를 사용해서 나온 클래스의 점수
: 클래스의 수
Multiclass SVM Loss
SVM(서포트 벡터 머신)은 기계 학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습 모델이다. 이러한 SVM은 다항 분류에서도 사용하는데 이를 multiclsss SVM이라고 하며, 여기서 사용되는 loss funtion을 hinge loss라고 한다.
Softmax (Multinomial logistic regression)
Multiclass SVM에서 score는 의미를 갖지 않기 때문에 정답 클래스에서 더 높은 score를 얻기만 하면 되었다. 하지만 Softmax의 경우에는 확률분포를 이용해 socre 자체에 의미를 부여한다. 이러한 Softmax는 딥러닝 신경망 출력층에서 주로 사용하는 활성함수이다.
Regularization
우리가 구한 Weight는 Train data에 맞춰져 있기에, Test data에서는 Train data를 통해서 구한 Weight과 다를 수 있다.
Train data에서 우리가 구한 것을 왼쪽의 파란색 그래프라고 하고 실제 Test를 했을 때 오른쪽 그래프에서 보이는 초록색 네모와 같이 예측하지 못한 상황이 나오게 된다. 이러한 경우는 Train에 맞춰져 Test값의 정확도가 낮아지는것을 Overfitting(과적합)이라고 한다. Train data에 Overfitting되는 결과를 막기 위해 Regularization을 사용한다. Regularization 은 아래와 같이 사용하며, 특정 가중치가 너무 과도하게 커지지 않도록 학습시켜 일반화 성능을 높이는데 도움을 준다.
종류
1.
L1 Regularization
2.
L2 Regularization
3.
Max Norm Regularization
4.
Dropout
5.
Batch Normalization
가장 보편적으로 사용하는 Regularization으로 Weight decay라고도 한다. 분류기의 복잡도를 상대적으로 w1, w2 중 어떤 값이 더 매끄러운지 측정한다. 특정 요소에 의존하기 보다 모든 요소가 골고루 영향을 미치길 원할 때 사용하기 때문에 가중치가 전반적으로 작고 고르게 분산된 형태로 진행되어 Overfitting을 줄일 수 있다.