본문으로 바로가기

DB를 넘는 점들은 Slack variable 의 값이 1이 넘는다.

Hard margin 의 경우에는 위의 그림의 Case에서는 DB를 생성할수 없지만 , Soft margin의 경우는 Slack variable을 통해 DB를 생성할수 있다.

 

Soft margin의 C 를 어떻게 결정하냐에 따라 모델의 performance 가 달라 질수 있다.

위의 6개의 그래프는 C 값을 변화시키면서 DB를 생성해보았다.

C=0.1은 DB가 생성되지 않았다. DB를 넘어도 패널티가 없기 때문에 , DB가 있으나 마나 하기 때문이다.

C가 특정값이상이 되니깐 DB가 고정이 되는 순간이 발생한다. C=10 이나 10000 이나 DB가 동일해 보인다.

 

C를 무조건 크게 하면 좋을까? 이미 주어진 데이터에 대해서는 C를 크게 하는것은 상관없지만 , 미래에 올 데이터에 대해서 C를 크게 하는것은 한번 고려해 볼 사항이다.

 

 

Logistic function 에서는 Loss function 이 있을까?

당연히 존재하고 , 우리는 Log loss 라 부른다.

 

위의 Log loss function 에서 빨간색 네모 부분이 Slack variable의 형태처럼 보인다. 그래서 Log loss 라 부른다.

 

위의 3가지 Loss function 을 비교해보면

Log loss 는 값이 1 이상에서도 여전히 패널티를 주고 있다. 그리고 DB를 넘어서도(x축이 0보다 작을경우) 패널티가 Hinge loss 보다는 작다.

사람으로 비교하면 Log loss는 유한 사람이고, 힌지로스는 칼같은 사람이라 할수 있다.

그래서 어떠한 모델을 쓰냐에 따라 Loss funciton 도 상황에 맞게 써야할것이다.