안녕하세요 오늘은 저번에 말씀드린 로지스틱 레그레이션에서의 cost 함수에 대해서 알아보겠습니다.
우선 그럼 Linear Regression에서의 문제에 대해서 한번 다시 확인해보겠습니다.
위와같이 cost함수는 w,b의 최소값을 찾는 것이었습니다. 기억이 안나시는 분들은 한번 더 공부해 보세요. 지금 머신러닝에 대해서 확실히 알아두시면 나중에 RNN, CNN등을 공부하시는데 90% 이상은 머신러닝의 기본알고리즘에서부터 시작한다고 해도 과언이 아닙니다.
Linear Regression에서 배운 hypothesis와 이번에 배운 hypothesis(가설)을 비교해서 보여주고 있습니다.가설은 cost 함수를 구성하는 핵심이기 때문에 여기서는 cost 함수 또한 이전과 달라져야 한다고 얘기하고 있다.
아래 그림에서 왼쪽 부분은 매끈한 밥그릇이고, 오른쪽 부분은 울퉁불퉁하다. sigmoid(시그모이드) 모양에 대해서 추가 설명을 한다면, e의 지수 형태의 그래프를 사용했기 때문에 구부러진 곡선이 연결된 느낌이다. 그러나, 실제로는 log 함수를 사용하기 때문에 매끄러운 밥그릇이 만들어집니다.(log함수는 구부러진 부분을 피는 수학이라고 생각하시면 됩니다)
지수를 사용하는 hypothesis의 비용을 판단하기 위해, 드디어 log가 등장했다. 로그를 사용하는 이유는 구불구불한 cost 함수를 매끈하게 피기 때문입니다. 새로운 cost 함수인 C(H(x), y)의 공식이 2가지라는 사실이다. y가 1일 때 사용하는 공식과 0일 때 사용하는 공식이 따로 있습니다.
y=1, y=0 일때에 따라서 그래프가 달라집니다. 이 그래프를 합치면 앞에서 공부했던 밥그릇 모양이 나옵니다. 수학적으로 저도 지식이 많은 편이 아닙니다.~
y = 1 :
H(X) = 1일 때는 왼쪽 그래프에서 y는 0이 된다. (cost=0)
H(X) = 0일 때는 왼쪽 그래프에서 y는 무한대(∞)가 된다
y = 0 :
H(X) = 0일 때는 오른쪽 그래프에서 y는 0이 된다. (cost=0)
H(X) = 1일 때는 오른쪽 그래프에서 y는 무한대가 된다
log로 시작하는 cost 함수가 어렵긴 해도, 맞는 예측을 했을 때의 비용을 0으로 만들어 줌으로써 cost 함수의 역할을 제대로 함을 알 수 있습니다.