머신러닝 초보자인 나는 지금 introdution to Machine Learning with Python이라는 책을 보고 있다.
책을 보던 중 지도학습 파트의 선형 이진 분류기 부분에서, Logistic Regression 과 SVM 내용이 나오는데, 여기서
regularization 의 개념이 나온다.
물론 Lasso 와 Ridge regression에서의 regularization의 개념은 배운 바 있지만,
Logistic Regression에서의 규제는 어떻게 적용하는지 들어본 바 없었다.
로지스틱 회귀에서의 규제항?
로지스틱 회귀를 자세히 봐보자.
GLM 구성요소에 따라 이를 분석해보면,
- Random Component : Y ~ B(P) -> y는 확률이 p인 이항분포를 따른다.
- Systemic Component : 성공확률 p와 Regressor의 선형결합 Bo + B1X1 + B2X2 + .......... 사이의 연관성 존재
- Link Function : Logit(p) = Bo + B1X1 + B2X2 + ..........
이 때, 회귀계수 Bo, B1, B2 ,,, 는 maximum likelihood estimation 에 의해 추정된다.
사실. Regularization의 원리는 Ridge, Lasso의 그것과 완전히 동일하다. 즉,
Cost function + Regularizaton 이 가장 작아지도록 하는 Coefficient를 찾아내면 된다.
그럼 Logistic Regression에서의 Cost Function만 알면 궁금증 해결이다.
$$ P(Y = (y_1, y_2, y_3,......) = \pi^{y_1 +.. + y_k} x (1-\pi)^{1-y_1 + .. 1-y_k} $$
양변에 로그를 취하면, Log Likelihood Function을 구할 수 있다.
$$ Log likelihood = \sum_{k = 1}^N Y_i log(\pi / {1 - \pi}) + Nlog(1- \pi) $$
이 때, Log likelihood를 최대로 만드는 Coefficients 를 구하면 된다.
이를 비용함수로 사용하기 위해서 음의 부호를 곱해주자 (이래야지 Cost function이 최소가 될 때 조건 충족)
$$ Cost function = -Log likelihood = - \sum_{k = 1}^N Y_i log(\pi / {1 - \pi}) - Nlog(1- \pi) $$
즉 우리가 구하는 Regularization이 추가된 Logistic Regression은
$$ -\sum_{k = 1}^N Y_i log(\pi / {1 - \pi}) - Nlog(1- \pi) + Regularization $$
'ML & AI' 카테고리의 다른 글
NMF (비음수 행렬분해) (0) | 2022.07.13 |
---|---|
Introduction to Machine Learning with Python(IMLP): Chap 2 지도학습 (0) | 2022.07.10 |
대표적인 데이터 스케일링 방법들. (0) | 2022.07.03 |
Random Forest vs Extra Trees (0) | 2022.06.30 |
RandomForest 의 장단점 (0) | 2022.06.30 |