우리가 아는 일반적으로 나는 가설값을 구할 때 cost 함수는 왼쪽 아래와 같은 함수이다.
하지만 우리가 가설 값을 구하는 방식을 시그모이드 함수로 바꾸고 나서 부터는 가설 값을 구하는 cost 함수의 모양은 바꿔야 함이 필요하다. y = 0, y = 1 일때의 경우를 구분해서 cost 함수를 만들수 있는 방법이 있다.
왼쪽과 같은 모양으로 변화를 할 수 있다.
왜? -log 함수가 갑자기?
나온 것이냐면 -log 함수의 그래프 모양을 보면 이
해하기 쉽다.
왼쪽의 그래프의 모양을 보면 알겠지만
만약에 가설값 H(X)와 y(label) 값이 같다면
왼쪽 그림의 왼쪽 그래프에서 -log에서 같으면 값이 cost 함수의 값이 0이 되며 만약에 1이 아닌 값이 나오게 된다면 cost 함수의 값은 무한이 되며 엄청난 오류를 나타내게 된다. 이러한 이유에서 우리는 -log 함수를 cost 함수로 사용하게 된다.
또한, 한번 더 변화를 해보게 되면 한번에 쓰는 방법이 존재한다.
우리가 아는 cost 함수는 한번에 써야 하므로 제일 아래에 있는 식의 모양으로 변화가 가능하다.
이게 이해가 안된가면 예를 들어서 설명해보겠다. y(label) 값은 정해저 있는 것이다. 0 or 1이다.
만약에 y= 1인 경우 H(X) = 1 이라면 cost 값은 0이어야 한다. 이렇게 된다면 이 두값을 위에 식에 넣게 된다면
cost 값은 0이 된다. (직접 넣어보세요)
만약에 이게 아직 이해가 안된다면
1) y = 0 , H(X) = 0 ------> cost = 0
1) y = 0 , H(X) = 1 ------> cost = 무한
1) y = 1 , H(X) = 0 ------> cost = 0
1) y = 1 , H(X) = 1 ------> cost = 무한
이렇게 된다. 이걸 다 넣어보고 이해 하면 쉽다
이제 우리는 이 cost 함수의 최소가 되는 w 값을 찾아야하므로 이 방식은 우리가 아는 경사하강법을 적용하면 된다.
'AI > 머신러닝(딥러닝) 정리' 카테고리의 다른 글
6-2. softmax classification (softmax and cost function) (0) | 2022.05.02 |
---|---|
6-1. softmax classification (Multinomial classification) (0) | 2022.05.02 |
5-1. Logistic (regression) classification (0) | 2022.04.30 |
4. 다양한 변수 선형 회기 (0) | 2022.04.30 |
3. 어떻게 cost(loss) 비용, 손실을 작게 만들까 (0) | 2022.04.30 |