로지스틱 회귀 logistic regression
가로가 긴 것을 1, 세로가 긴 것을 0이라 가정한다
매개변수가 있는 함수는 다음과 같이 정의할 수 있다
회귀와 마찬가지로 매개변수는 theta를 사용하면 함수의 모양은 다음과 같다
시그모이드 함수는 0 < f(x) < 1 이므로 확률처럼 다룰 수 있다
미지의 데이터 x가 가로가 더 긴 모양일 때의 확률을 다음과 같이 정한다
0.5를 기준으로 크거나 같으면 가로로 길고, 작으면 세로로 길다고 분류할 수 있다
가로축이 x1이고, 세로축이 x2인 그래프를 생각하고, 임의의 매개변수를 이용하여 계산해 보면
직선을 경계선으로 해서 한쪽이 가로로 긴 것, 다른 한쪽이 세로로 긴 것으로 분류된다
이렇게 데이터를 분류하기 위한 직선을 결정경계라고 한다
알맞은 매개변수 theta를 구하기 위해 목적함수를 정의하고 미분해서 매개변수 갱신식을 구하면 된다
이러한 알고리즘을 로지스틱 회귀라 한다
로지스틱 회귀의 목적은 다음과 같이 말할 수 있다
y=1
일때는 확률 P(y=1|x)
가 최대
y=0
일때는 확률 P(y=0|x)
가 최대
학습 데이터 3개의 y가 0, 1, 0 라 가정하자
모든 학습 데이터는 서로 관계가 없이 독립적으로 발생한다고 생각하면 다음과 같다
이 목적함수를 우도함수(Likelihood)라 한다
우도함수를 가장 크게 하는 매개변수가 학습 데이터를 가장 잘 설명한다
우도함수를 그대로 다루기에는 어려운 점이 있다
확률을 곱하면서 값이 점점 작아진다는 것과 곱셈이라는 점이다
양변에 로그(log)를 취해서 계산하기 쉽도록 한다
로그 함수는 단순 증가 함수이므로 우도함수를 최대화 하는 것과 로그를 취한 우도함수를 최대화 하는 것은 의미가 같다
로그를 취한 대수우도함수는 다음과 같이 변형할 수 있다
따라서 로지스틱 회귀는 다음의 대수우도함수를 목적함수로 사용한다
log(v)의 미분은 1/v 라는 것을 이용한다
log(1-v)의 경우는 아래와 같이 합성함수 미분을 사용한다
두 번째 항목은 시그모이드 함수를 미분해야 한다
시그모이드 함수는 다음과 같이 미분한다
이 식으로 매개변수 갱신식을 만들면 된다
최대화가 목적이므로 최소화할 때와는 반대로 부호가 양수가 된다