# ML : Logical Regression - Cost Function
We cannot use the same cost function that we use for linear regression because the Logistic Function will cause the output to be wavy, causing many local optima.
In other words, it will not be a convex function.
우리가 Cost function을 쓰는 이유 중 하나는 가장 최적의 theta 값을 찾기 위함이다.
하지만 Linear Regression에서는 사용하기가 힘든데, 바로 최적의 optima로 결과 값이 도출되지 않고 wavy(들쭉날쭉한)하게 나올 수 있기 때문이다.
In other words, it will not be a convex function.
우리가 Cost function을 쓰는 이유 중 하나는 가장 최적의 theta 값을 찾기 위함이다.
하지만 Linear Regression에서는 사용하기가 힘든데, 바로 최적의 optima로 결과 값이 도출되지 않고 wavy(들쭉날쭉한)하게 나올 수 있기 때문이다.
기존에 참고 하던 Logistic Regression은 위와 같이 0 또는 1의 결과 값으로 한정되어 있었다.
그러므로 위와 같은 h(x) 값이 도출될 수 있었다.
이전 강의에서 배운 Linear Regression을 통해 J(θ)의 값을 도출할 수 있다.
우리가 구해야 하는 것은 J(θ)의 최소값이므로, 식을 간소화시켜보면 다음과 같다.
위의 식을 Cost(h(x), y)라고 할 때, J(θ)는 다음과 같이 간소화 될 수 있다.
하지만 위의 식에는 문제점이 있는데, 그래프의 모양 때문에 optimal한 최소 값을 선택하는 것이 상당히 어렵다는 것이다. 아래 그래프를 확인하자.
우리가 예상 하기로 Cost function은 오른쪽과 같이 convex한 그래프로 그려져야 하는데, 이를 Logistic Regression 환경에 대입하게 될 경우 그래프는 왼쪽과 같이 'non-convex' 형태로 만들어진다.
이렇게 되면 위에서 언급한 것 처럼 최적값을 찾는것이 어렵다 (도함수가 0인 곳이 많아...)
이를 해결하려면? 그래프를 convex 하게 만들어주면 된다.
Cost(h(x), y)를 -log(h(x))로 대입하자. 이 그래프는 y 값이 1일 때와 0일 때로 구분되어 생성할 수 있다. 물론 각 그래프마다 생김새는 다르다. 그리고 이를 통해 log 형태로 만들어진 공식은 wavy하게 생성된 Logistic Regression의 Cost function 그래프를 'convex' 한 형태로 만들어줄 수 있다.
문제를 하나 추가해보았다. 물론 강의에서 나온 문제다.
답도 아래에 추가하였다.
댓글
댓글 쓰기