출처 : http://hunkim.github.io/ml/


ML lec 6-1 : Softmax Regression - 기본 개념 소개


여러개의 클래스가 있을때 예측하는 모델 Multinomial classification

그 중 많이 사용되는 Softmax classification 


Logistic Classification(regression) 복습 



Y : real data, Y(hat), H(x) : prediction data



Multinomial classification 


training data 

: x1        x2        y

 10         5        A

  9         5         A

  3         2         B

  2         4         B

  11        1        C


필기1 - 위 데이터 그래프에 뿌린거


- 위 그림처럼 binary classification으로 각각의 데이터를 예측할 수 있다.


필기2 


- 위 데이터는 필기2의 그림처럼 세 개의 독립된 classifier를 가지고 구현할 수 있다. 

> 그런데 세 개를 독립적으로 구현하면 복잡하고 어렵다. 



그래서, 하나의 matrix로 합친다 

> 세 개의 독립된 classification 알고리즘을 구현해도 되지만 

하나의 벡터로 처리하게 되면 한번에 처리가 가능하게 되고 세 개의 독립된 classification처럼 동작하게된다.

 


ML lec 6-2: softmax classifier의 cost함수 


Multinomial classification


- Hypothesis(Sigmoid)의 결과 값 -> softmax 

> 그러면, 각각 0 ~ 1 사이의 값이 나온다. 

  각각의 값을 더하면 1이된다. (확률로 볼 수 있다.) 



- 마지막으로 one-hot encoding 기법을 사용해 제일 큰 값만 1.0으로 만들고 나머지는 0으로 만든다.


cost function 


- Softmax classification에선 cost function으로 cross-entropy를 사용한다. 

Cross-entropy


- 위 식을 아래처럼 바꾸고

-log(x)를 그래프로 뿌려보면

위와 같은 그래프가 그려진다.


일때

- element mul


: 맞는 값이면 cost값이 0

  틀린 값이면 무한대값이 나온다.



이제 cost를 최소화하는 값을 찾으면된다.

+ Recent posts