ML lec 5-2 Logistic Regression의 cost 함수 설명
2021. 5. 23. 19:18
출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/
우리가 앞서 살펴본 Cost function은 위와 같았음.
하지만 우리의 가설이 바뀌게 되면서 sigmoid function을 사용해서 출력값을 0과 1 사이로 조정해줬음.
또 그래프의 그림을 그려보면 위의 파란색 그래프과 같이 그릴 수 있는데, 오른쪽 그림에서 발생하는 한가지 문제점은 경사하강법을 실시하면 시작점이 어디냐에 따라서 끝나는 점이 달라질 수 있다는 것임.
이렇게 각각 달라지는 최종 점을 Local minimum 이라고 할 수 있는데, 우리가 찾고자 하는 점은 Global minimum임.
global minimum을 찾기 위해서는 위와 같은 cost 함수의 형태를 그대로 사용할 수 없기 때문에 새로운 형태의 cost function이 필요하게 됨.
두 가지의 경우로 나누어서 함수를 정의할 수 있음. y가 1일 때와 0일 때.
y의 실제 label이 1일 때와 0일 때로 나누어서 고려해보자.
두 경우 모두 성공적으로 H(x)의 값을 예측하게 되면 cost 값은 0에 가까워지지만, 실제 label과 cost의 값 예측이 실패하게 되면 cost의 값이 매우 커지게 된다.
따라서 이 그래프 두개를 합하게 되면 앞에서 봤던 밥그릇 모양의 그래프가 만들어지고, 이 그래프에서는 경사하강법을 적용할 수 있게 된다.
실제로 코드를 작성할 때는 y가 0과 1로 나뉘기 때문에 if condition을 적용해야한다.
하지만 꽤 복잡하기 때문에 이 것을 합해서 하나의 식으로 표현을 하기 위해 조정을 해주게 되면 맨 아랫줄의 식으로 표현을 할 수 있게 된다.
이 알고리즘을 코드에서 구현할 때는 위와 같이 작성할 수 있는데, 수식 부분은 실제로 라이브러리가 존재하기 때문에 별도로 작성하지 않아도 된다. GradientDescentOptimizer 라는 라이브러리로 존재.
'AI > 모두를 위한 딥러닝' 카테고리의 다른 글
ML lec 07-1: 학습 rate, Overfitting, 그리고 일반화 (Regularization) (0) | 2021.07.02 |
---|---|
ML lec 6-1 - Softmax Regression: 기본 개념 소개 (0) | 2021.05.23 |
ML lec 5-1: Logistic Classification의 가설 함수 정의 (0) | 2021.05.23 |
ML lec 04 - multi-variable linear regression (0) | 2021.05.23 |
ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명 (0) | 2021.05.23 |