본문 바로가기

연구실 공부

[ML] 7. Logistic Regression

728x90

해당 자료는 https://m.edwith.org/machinelearning1_17/intro 해당 강의에서 제공합니다.

 

이번 강의에는 logistic regression에 대한 내용입니다.

 

저번 시간 때 봤던 그림입니다. 저번 시간에 말했던 것처럼 직선의 risk가 곡선의 risk보다 더 크다는 것을 볼 수 있습니다. linear function은 범위 문제가 있고 risk가 크다는 문제가 있습니다. 그래서 S-curve 형태를 띠는 sigmoid 함수가 등장합니다.

 

이번 강의에서 사용할 dataset은 저번에도 사용했던 credit approval dataset입니다.

 

이번에도 class C를 예측할 것이고 사용하는 attribute는 A15입니다. class는 true, false 두 가지 경우만 존재합니다. 일단 위 그래프는 x축을 A15, y축을 C로 두고 그린 모습입니다. 우측은 log(A15)를 x축으로 사용한 모습입니다. log를 사용한 이유는 좀 더 완만하게 그리기 위해서입니다. A15의 범위가 좀 더 넓어지고 구분하기 쉬워집니다. 즉 좀 더 clear 하게 구분할 수 있어집니다. 이제 우리의 문제는 decision boundary를 정하는 일입니다.

 

왼쪽 그래프에서 빨간점은 linear regression을 이용해 찍은 점입니다. 그리고 초록색 점은 logistic function을 이용해 찍은 점입니다. linear regression을 이용해 찍은 점을 보면 문제가 있습니다. 확률 값은 0 ~ 1 사이의 값을 가져야 합니다. 하지만 빨간 점은 1보다 큰 값을 갖습니다.

오른쪽 그래프는 log를 씌운 모습입니다. 빨간점도 log를 씌웠기 때문에 곡선의 형태로 증가하는 모습을 볼 수 있습니다. logistic function을 사용해 만든 초록색 점은 s-curve의 형태를 띠는 것을 볼 수 있습니다. 이 그래프에서 회색선은 각 경우에 대한 decision boundary를 표현한 선입니다. 딱 봐도 logistic function을 이용한 결과가 더 좋은 모습을 보이는 것을 알 수 있습니다.

 

우측 상단에 sigmoid 함수들을 그린 모습입니다. sigmoid function은 범위가 -1 ~ 1 사이로 정해져있습니다. 그리고 부드럽게 그려지기 때문에 구별가능하며 모든 x에 대해서 정의되어 있습니다. 그리고 증가하는 형태로 함수가 그려집니다. logistic function의 식은 1 / (1 + e^-x)입니다. 주로 이 식은 사회학 관련에서 많이 쓰입니다. 미분하기가 쉽기 때문에 다양한 분야에서 많이 사용됩니다. logit function은 logisitc function의 역함수로 log(x / (1 - x))입니다.

 

그래프들 먼저 보겠습니다. 좌측 그래프는 logit function이고 우측 그래프는 x축에 X, y축에 P 형태의 logistic function을 사용해 그린 모습입니다.

이제 식을 보면 x = log(p / (1 - p))가 있습니다. logit function을 보면 x축을 likelihood P 값이고 y축이 A15로 볼 수 있습니다. 그래서 x = log(p / (1 - p))가 가능합니다. logistic function으로 그린 s-curve에 맞춰 fitting을 해야하는데 크기를 a, 이동하는 범위를 b로 해 linear regression으로 표현 가능합니다. 그래서 이 식은 XΘ로 표현가능해지고 여기서 Θ는 a와 b가 됩니다.

 

logistic을 이용한 linear regression이므로 logistic regression이라는 이름으로 부릅니다. logistic regression은 binomial과 multinomial 모두 예측가능합니다. 전에 봤던 bernoulli experiment를 이용해 P(y|x)를 표현하면 위와 같습니다. μ(x)는 잠재 확률을 의미하고 표현하면 위와 같은 식이 됩니다. logistic function으로 modeling 한 식이고 이는 P(y = 1 | x)가 됩니다. 전 슬라이드에서 본 XΘ를 역으로 뒤집으면 P(Y|X) 식이 나옵니다. 이제 우리의 목표는 x, y값은 있고 Θ를 찾도록 logistic function을 learning 하는 것이 됩니다.

 

이제 이 슬라이드에서는 MCLE(Maximum Conditional Likelihood Estimation)이 등장합니다. 여기서 N은 dataset의 크기가 됩니다. 즉 모든 dataset의 확률 값을 곱하는 형태입니다. 전과 다르게 x가 주어진 condition이 되어 MCLE가 됩니다. 이제 이 식에 log를 적용합니다. log를 통해 식은 위와 같이 표현됩니다. 위 식에서 Θ를 잘 optimize해야 우리의 hypothesis가 강력해집니다.

 

이제 Θ를 optimize해보겠습니다. 전에 했던 방식과 같이 편미분을 진행하겠습니다. Θ_j에 대해 편미분을 했기 때문에 X에도 j가 남아있습니다. 미분한 결과를 보면 처음에 MLE를 통해 구했던 Θ^과는 다르게 정확히 '무엇이다'라고 표현하기 어렵습니다. 결국 대략적으로 우리는 optimize 하게 되는 형태입니다.

728x90