Logistic Regression
선형 회귀로 해결되지 않는 문제들이 존재한다?
라벨이 수치값으로 정해져 있지 않은 모델들
이들은 각 라벨을 수치화하는 순서에 따라 선형회귀의 결과가 달라지게 된다.
ex)
위 문제를 선형회귀로 풀 경우, 1번이 한국인인 경우와 1번이 미국인인 경우의 결과값이 달라지게 된다.
그렇기 때문에 위와 같은 문제는 분류의 문제로 넘어오게 된다.
이진 분류
Sigmoid function
- y=1+e−x1
- x=0 일 때, y=0.5 가 나옴
- 0≤y≤1
Logistic Regression에 대해 더 공부하기 전...
odds
- 성공의 확률(y=1)이 실패의 확률(y=0)에 비해 몇 배 더 높은가
- odds=1−p(y=1∣x)p(y=1∣x)
logit
- odds에 log를 취한 함수
- logit(p)=log(odds)=log1−p(y=1∣x)p(y=1∣x)
logistic function
- logit의 역함수로 해석 가능
- logit(p)=log(odds)=log1−p(y=1∣x)p(y=1∣x)=w0+w1x1+⋯+wDxD=wTX (matrix로 다음과 같이 식의 형태 변환 가능)
- p(y=1∣x)=1+ewTXewTX=1+e−wTX1
- logistic function = Linear Regression + sigmoid function
결국 Logistic function = sigmoid(wTX) 이므로 wTX의 크기만 생각하면 됨
- wTX>0: 1로 분류
- wTX<0: 0으로 분류
결과적으로 w의 최적값을 찾기 위해서는 손실 함수가 필요하다.
어떻게 찾을 것인가?
Bayes' Theorem
베이즈 정리
P(w∣X)=P(X)P(X∣w)P(w)∝P(X∣w)P(w)
용어들
- 사후확률(posterior): P(w∣X)→ 데이터가 주어졌을 때 가설에 대한 확률분포
- 우도확률(likelihood): P(X∣w)→ 가설을 안다고 할 때, 데이터 분포
- 사전확률(prior): P(w)→ 데이터를 보기 전, 가설의 일반적인 확률
이를 이용하여
- MLE (Maximum Likelihood Estimation)
- MAP (Maximum A Posterior)
두 가지 방법론을 살펴볼 예정이다.
MLE (Maximum Likelihood Estimation)
P(X∣w)
- 가설을 안다고 가정한 경우, 주어진 데이터의 분포
- PDF의 곱으로 표현한다. (PDF: 각 x 값에 대해서 y값이 나오는 함수)
Ex) 정규 분포에 따른 데이터에 대한 P(X∣w)
- PDF: σ2π1e−21(σx−μ)2
- Likelihood: Πiσ2π1e−21(σxi−μ)2
- 이때 w: μ (평균), σ (분산)
MLE
- 현재 데이터 분포가 나올 확률이 가장 높은 parameter
- w∗=argmaxwP(X∣w)
- 데이터에 따라 w 값이 민감하게 변화함 (단점!)
MAP (Maximum A Posterior)
데이터의 의존적인 MLE의 단점을 해결할 수 있음
- 주어진 데이터에 있어서 최대 확률을 가지고 있는 파라미터를 찾는 방식
- 단 한번에 찾을 수 없다는 단점!!
- w^=argmaxwP(w∣X)
- P(w∣X)=P(X∣w)×P(X)
- P(X)의 정확도가 관건임
MLE for Logistic Regression
- pdf는 "베르누이 분포"를 이용하여 표현
- P(Y=yi)=pyi(1−p)1−yi
- L(P(X∣w)) = Πipyi(1−p)1−yi
p에 logistic function을 넣을 것
p=1+e−wTX1=σ(wTX)
∴L=Πiσ(wTX)yi(1−σ(wTX))1−yi
이 때, 손실함수는 최소화 시키는 것이 목적이므로, −log를 취할 것
−lnL=Σiyiln(σ(wTXi))+Σi(1−yi)ln(1−σ(wTXi))
=−(ΣiyiwTXi−ln(1+ewTXi))
∂w∂lnL=ΣiXi(yi−P(yi=1∣Xi))
w는 다음 편미분 값을 사용하여 update를 진행하면 된다.
wt+1=wt−lr×∂w∂lnL