본문 바로가기

LG Aimers 요약

4 - 3. Linear Classification + Loss (Zero-One Loss, Hinge Loss, Cross - Entropy Loss)

Linear Classification 이란?

 

 

Linear Calssification 은 *Hyper plane (Decision Boundary)를 구해 데이터를 구분하는 작업

 

*Hyper plane (초평면) 이란?

N차원 공간에서 N-1차원의 평면을 의미

 

 

Score and Margin 이란?

 

Score and Margin 설명

 

 

Score : 분류과정에서 모델이 얼마나 confident 한지 측정하는 지표

Margin : Score * y 값으로 모델이 얼마나 정확한지 측정하는 지표

 

Margin 이 양수라면 예측이 일치한다는 것을 의미하고 절대값이 클수록 더 정확하고 확신한다.

반면, Margin 이 음수라면 모델 예측이 잘못되었음을 의미

 

 

Loss 종류

1. Zero - One Loss

 

 

gradient 가 0이 되어 학습이 불가

 

 

2. Hinge Loss

 

 

 

 

max[1 - margin, 0] 수식을 가지며

모델 분류가 잘 되는 경우 margin 이 큰 값을 가져 Loss 값은 0이 되고

모델 성능이 좋지 않은 경우 margin 값이 작아 Loss 가 발생한다

 

 

 

3. Cross-Entropy Loss

 

Classification 모델학습에서 가장 많이 사용되는 loss function

 

강의수식 이해 못해서 통계 수식 가져옴

 

 

Cross-Entropy는 두 확률 분포의 차이를 구하기 위해서 사용된다.

머신러닝, 딥러닝에서는 실제 데이터의 확률 분포와 학습된 모델이 계산한 확률 분포의 차이를 구하는데 사용된다. 

 

p와 q 의 유사도가 높다면 loss가 감소

p와 q 의 유사도가 낮다면 loss 증가

 

 

 

Sigmoid 그래프

 

Sigmoid, Logistic 정리

 

 

Classification 에서 fitting하고자 하는 label 은 0 or 1 값인데 score 는 실수이기 때문에 확률함수를 통해서 매핑을 해야한다. 매핑 단계에서 사용되는 함수가 Sigmoid 함수이다.

 

 

 

Cross-Entropy loss 연산

 

가중치 업데이트

 

 

Cross-Entropy loss 반복연산하여 가중치를 업데이트를 진행한다. 너무 어렵게 느껴진다면 아래 쉬운 예제를 참고하자

 

EX) 가방에 0.8/0.1/0.1 의 비율로, 빨간/녹색/노랑 공이 들어가 있다고 하자, 하지만 직감에는 0.2/0.2/0.6의 비율로 들어가 있을 것 같다. 이 때, entropy 와 cross-entropy 는 아래와 같이 계산된다.

 

 

 

Multiclass Classification

One - VS - ALL

 

 

(Multiclass Classification 문제에서 class-id를 사용하는 경우도 있지만)

Binary Classification 문제를 Multiclass Classification 으로 확장한 방법

 

 

수식을 통해 score 를 획득하고 sigmoid 함수를 사용해 확률값을 Mapping

 

One-Hot Encoding

두 개의 서로 다른 표 사이에 거리를 가깝게 하면서 학습한다 

(이해가 전혀 안됨... )

개념만 알자!!!!!!!!

선형 계열 모델에서 범주형 데이터로 변환할 때, N개의 클래스를 N차원의 One-Hot 벡터로 표현되도록 변환하여 label 정보를 저장 

 

One-Hot Encoding 예시

 

 

One-Hot Encoding 된 label 값과 sigmoid 모델이 출력하는 확률값을 비교하여 loss function 을 통해 error를 계산하여 학습을 진행한다