학습(구)/AI

Multinomial classification - SoftMax

잉아당 2020. 11. 10. 00:47
728x90

Sung Kim님(김성훈 교수님)의 유튜브를 보고 공부한 AI 입니다.

Sung Kim님(김성훈 교수님)의 유튜브 주소 : www.youtube.com/channel/UCML9R2ol-l0Ab9OXoNnr7Lw

 

Sung Kim

컴퓨터 소프트웨어와 딥러닝, 영어등 다양한 재미있는 이야기들을 나누는 곳입니다.

www.youtube.com

Multinomial classification은 여러개의 클래스가 존재하여 구분하는 것입니다.

 

각 클래스의 구분은 독립적으로 구분할 수 있습니다.

 

이 클래스들의 값들은 하나의 Matrix로 표현할 수 있으며 표현과 계산이 간단해집니다.

그러나 이때 결과로 나온 값은 각 클래스들의 값을 나타냅니다.

 

하나의 Matrix로 표현

각 값들은 상수 값이 나오기 때문에 sigmoid를 적용하여 0~1의 값을 나타내어 예측을 합니다.

 

이때 simgmoid 해주는 함수를 SoftMax라고 합니다.

 

SoftMax 특징

1. 0~1사이의 값이 나옴

2. 모든 값을 더하면 1이 나옴

 

이렇게 SoftMax를 적용하여 확률을 만든 다음 one-hot Encoding 기법을 사용하여 제일 큰 값을 1로 변환하고 나머지는 0으로 변환하여 찾기 쉽게 합니다.

multinomial의 cost function
풀어쓴 식

 

해당 cost function은 -log의 함수를 사용하므로 올바른 예측일때 0이 나오고 틀릴경우 무한대가 나오게 됩니다.

 

올바른식일때와 틀린식일 때

첫번째 식은 올바를때이고 두번째 식은 틀릴 때입니다.

 

cost의 값이 최소일 경우를 찾는 것이 목표이므로 GD를 적용하여 기울기가 최소가 될때를 찾는것이 목표입니다.