juuuding

[Supervised Machine Learning: Regression and Classification] Cost function for Logistic regression 본문

인공지능/코세라 머신러닝 특화과정

[Supervised Machine Learning: Regression and Classification] Cost function for Logistic regression

jiuuu 2023. 10. 27. 18:01

 cost function은 특정 파라미터 집합(w,b)이 훈련 데이터에 얼마나 잘 맞는지 측정하는 방법을 제공한다. linear regression의 cost function이었던 squared error cost function은 logistic에 이상적인 cost function이 아니다. 따라서 이번 챕터에서는 logistic regression에 맞는 cost function에 대해 알아볼 것이다.

 우선 아래는 linear regression에 잘 맞는 squared error cost이다. 

squared error cost

 loss와 cost의 관계를 조금 더 명료하게 하기 위해 1/2m에서 1/2를 sigma 안으로 넘겨보면, cost는 training set들의 loss 평균이라고 말할 수 있다. 이것을 linear regression에 적용시킨다면 다음과 같이 gradient descent가 잘 작동하는 모습을 볼 수 있다.

linear regression

 하지만 이 cost function을 logistic regression에 적용시킨다면, 아래와 같은 그래프가 나오며 local minimum이 많아 gradient descent가 잘 작동하기 힘들다는 것을 알 수 있다. 

logistic regression

 

 

 Cost Function for Logistic Regression

 

 logistic regression을 적용하는 binary classification의 경우에는 결과 값이 0 or 1 하나이다. 그렇기 때문에 logistic loss function은 y=0, y=1 두 경우로 나눠 식을 표현할 수 있다. 

logistic loss function

 이 두가지 경우를 도식화하여 가로축이 0-1 사이인 부분으로 확대하면, 다음과 같은 그래프가 나온다. 

 y=1인 경우 예측 값을 1로 한다면 loss가 0이 되고, 예측 값을 0으로 했다면 loss가 무한대 값이 된다. y=0인 경우는 그 반대로 마찬가지다. 이 두 경우 모두 예측(f)이 실제(y)와 멀어질수록 loss 값이 아주 커진다. 따라서 logistic regression은 logistic loss function으로 cost J가 최소화될 수 있는 w,b를 찾으면 된다. 

 

 

 Simplified Cost Function for Logistic Regression

 

 앞선 logistic loss functinon에서 y=0, y=1 두가지 경우로 나누어 식을 표현했다. 이제 이 두가지 식을 간단하게 식 하나로 표현할 것이다. 

simplified loss function

 loss function을 이와 같이 표현하고, 예를 들어 y=1일 때 loss function이 어떻게 되는지 확인해보겠다. 

y=1

y의 자리에 1을 대입하면서 위에서 봤던 y=1일 때의 식과 같아진 것을 확인할 수 있다. 

 마찬가지로 y 자리에 0을 대입한다면, 다음과 같이 식이 표현되며 위의 식과 같아진 것을 볼 수 있다.

y=0

 이렇게 확인했듯이 이제 나눠져있던 두 식을 하나의 simplified cost function으로 나타낼 수 있게 되었다. 마지막으로 simplified cost function을 이용하여 cost의 평균인 loss를 구하는 식을 작성해보면, 아래와 같이 표현된다.

simplified cost function