* 이 글은 홍콩과기대 김성훈 교수님의 무료 동영상 강좌 "모두를 위한 머신러닝과 딥러닝 강의"를 보고 요점을 정리한 글 입니다.
Cost Function(비용 함수)
Cost Function(비용 함수)은 대입하는데 사용되는 Hypothesis(가설)에 의해서 그래프의 모양이 결정됩니다. 예를들어 Linear Regression(선형 회귀)에서 사용되는 Hypothesis인 Equation (1)을 Cost Function에 대입하면 Equation (2)를 구할 수 있고 이 공식은 W에 대한 2차방정식의 형태라는 것을 알 수 있습니다.
$$ H(x)=Wx $$ | (1) |
$$ \text{cost}(W) = \frac{1}{m} \sum_{i=1}^{m} (Wx^{(i)} - y^{(i)})^2 $$ | (2) |
Logistic Cost Function(논리적 비용 함수)
Logistic Regression(논리 회귀)에서는 새로운 Cost Function이 필요합니다. Linear Regression에서 사용되는 Cost Function인 Equation (3)에 Logistic Regression의 Hypothesis인 Equation (4)를 대입하게 되면 위와 같은 형태의 그래프가 나오게 됩니다. 이런 울퉁불퉁한 그래프가 나오는 원인은 바로 자연상수 e 때문인데, 이런 그래프에서 학습을 하는 경우 Cost Function이 최소가 되는 지점이 아닌 다른 지점으로 결과가 나올 수 있습니다.
$$ \text{cost} = \frac{1}{m} \sum_{i=1}^{m} (H(x^{(i)}) - y^{(i)})^2 $$ | (3) |
$$ H(x) = \frac{1}{1 + e^{-Wx}} $$ | (4) |
이러한 문제점 때문에 Logistic Regression에서는 새로운 형태의 Cost Function이 필요합니다. 위에서 언급하였듯이 그래프가 울퉁불퉁한 원인은 자연상수 e 입니다. 이러한 자연상수를 없애기 위해서는 로그를 사용하게 되는데 효과적이기 때문에 Logistic Regression에서의 Cost Function은 로그 함수를 추가적으로 사용하는 형태라고 할 수 있습니다.
공식에서 중요한 것은 Logistic Regression의 결과 값은 0과 1 두가지이기 때문에 각각의 경우에 맞는 공식이 있어야 한다는 점 입니다. 따라서 추가적으로 로그를 사용한 공식은 Equation (5) 형태라는 것을 알 수 있습니다.
$$ C(H(x), y) = \begin{cases} - \log(H(x)) & \text{if } y=1 \\ - \log(1 - H(x)) & \text{if } y=0 \end{cases} $$ |
(5) |
위의 그림에서 파란색 그래프는 y가 1일때의 그래프를 나타낸 것이고, 빨간색 그래프는 y가 0일때의 그래프를 나타낸 것입니다. 이 공식을 2개로 나누지 않고 1개의 통합된 수식으로 정리하면 Equation (6)으로 표현이 가능하고, 결국 모든 x의 지점들에서 결과값의 평균을 구하는 Equation (7)이 새로운 Cost Function임을 알 수 있습니다.
$$ C(H(x), y) = -y\log(H(x)) - (1-y)\log(1-H(x)) $$ | (6) |
$$ \text{cost}(W) = \frac{1}{m} \sum_{i=1}^{m} C(H(x), y) $$ | (7) |
Logistic Regression(논리 회귀)에서의 Gradient Descent Algorithm(기울기 감소 알고리즘)
Logistic Regression에서의 Gradient Descent Algorithm(기울기 감소 알고리즘)의 공식은 Equation (8)으로 변함이 없습니다. 단지 공식에서 사용되는 Cost Function이 새로운 Equation (9)의 형태라는 것만 유의하시면 됩니다.
$$ W := W - \alpha \frac{\partial}{\partial W} \text{cost}(W) $$ | (8) |
$$ \text{cost}(W) = -\frac{1}{m} \sum_{i=1}^{m} \left( y \log(H(x)) + (1 - y) \log(1 - H(x)) \right) $$ | (9) |
'강의 Study > 모두를 위한 머신러닝과 딥러닝 강의-시즌 1' 카테고리의 다른 글
[시즌1].Lecture 06_2 - Softmax Regression_Cost Function 소개 (0) | 2024.06.24 |
---|---|
[시즌1].Lecture 06_1 - Softmax Regression_Multinomial 개념 소개 (0) | 2024.06.23 |
[시즌1].Lecture 05_1 - Logistic Classification_Hypothesis 함수 소개 (0) | 2024.06.21 |
[시즌1].Lecture 04 - 여러개의 입력의 Linear Regression (0) | 2024.06.20 |
[시즌1].Lecture 03 - Linear Regression Cost Function 최소화 (0) | 2024.06.19 |