CS/Machine Learning

[모두의 딥러닝]ML lec 6-2: Softmax classifier 의 cost함수

dawonny 2021. 7. 18. 02:34
728x90
반응형

Y값이 나오면 0과 1사이의 값으로 변환시켜줄거다

저 p를 다 더하면 1이 되도록

이게 Softmax라는 함수이다

n개의 값을 softmax에 넣으면

0에서 1사이의 값으로 변환시켜주고

p, 즉 확률로 (다 더하면 1이 되도록) 변환시켜준다

저렇게 p 중에 제일 큰 값을 찾아서 1로 만드는 방법을 구현할 수도 있을 것이다

one-hot encoding 이라고 한다

그럼 a를 고를수 있겠다

여기 까지 했으면 예측 모델 hypothesis는 설계했다

cost function을 설계해보자

S는 예측 값이고 Y는 실제 값일 것이다.

이 Y의 실제 값은 B 이며

2번째 줄의 예측값은 B여서 맞는거고

3번째 줄의 예측값은 A여서 틀린 거다

저 ⊙ 이건 element 곱인데 양쪽을 각각 곱해주면 되고

마지막에 저 시그마의 의미는 Li의 원소를 각각 더하는 건데

맞으면 cost의 값을 작게하고 -> 0이 된다

틀리면 cost의 값을 크게 해야한다(벌을 주는 의미) -> 무한대가 된다

반대로 해보자

A가 결과값이고 이렇게 나와야 하는 상황이다

A라고 알맞게 예측했을 때에는 cost가 0이 나오고

B라고 틀리게 예측했을 때엔 cost가 무한대가 나온다

이 두개는 같다

왜 같은지는 생각해보자

전체를 평균내주면 loss를 구할 수 있겠다

이전과 같이 gradient descent 를 해보자

함수를 미분해서 -> 기울기

저 최저점에 도달하도록..

728x90
반응형