8. Logistic Regression

10
8 Logistic regression 8.1 Introduction, overview 8.2 Model specification 8.3 Model fitting 8.3.1 MLE 8.3.2 Steepest descent 8.3.3 Newton's method 8.3.6 l2 regularization 8.3.7 Multi-class logistic regression 8.4 Bayesian logistic regression 8.4.1 Laplace approximation 8.4.2 Derivation of the BIC(Bayesian Information Criterion) 8.4.3 Gaussian approximation for logistic regression 8.4.4 Approximating the posterior predictive 8.4.4.1 Monte Carlo approximation 8.5 Online learning and stochastic optimization 8.5.3 The LMS algorithm 8.5.4 The perceptron algorithm 8.5.5 A Bayesian view 8.6 Generative vs discriminative classifiers 8.6.1 Pros and cons of each approach 8.1 Introduction, overview 생성 모델, generative approach: p(y,x) 모델링 후 p(y|x) 유도하는 방식, 데이터를 생성해 낼수 있다. 판별 모델, discriminative approach: p(y|x) 형태의 모델을 바로 fitting, 이 장에서 다룰 것, 모델이름은 리그레션이지만, 리그레션이 아니다. 분류 모델이다 MLE의 closed form solution이 없기 때문에, 다른 최적화 기법으로 푼다(경사 강하, 뉴턴법) 베이지안 logistic regression은 conjugate prior가 없기 때문에 근사방법으로 푼다 8.2 Model specification logistic regression은 다음과 같은 binary 분류 모델이다, . : linear regression의 예측치 w T x sigm( ): 예측치에 sigmoid or logistic 함수를 씌운 것 w T x 특정 feature vector x와 모델의 parameter w가 주어졌을 때 y = {0,1}의 확률 p(y|x,w)은 sigm( )을 parameter로 하는 베르누이 분포를 따른다 w T x 그림 1.19 logistic 함수

Transcript of 8. Logistic Regression

Page 1: 8. Logistic Regression

8 Logistic regression8.1 Introduction, overview8.2 Model specification8.3 Model fitting

8.3.1 MLE8.3.2 Steepest descent8.3.3 Newton's method8.3.6 l2 regularization8.3.7 Multi-class logistic regression

8.4 Bayesian logistic regression8.4.1 Laplace approximation8.4.2 Derivation of the BIC(Bayesian Information Criterion)8.4.3 Gaussian approximation for logistic regression8.4.4 Approximating the posterior predictive

8.4.4.1 Monte Carlo approximation8.5 Online learning and stochastic optimization

8.5.3 The LMS algorithm8.5.4 The perceptron algorithm8.5.5 A Bayesian view

8.6 Generative vs discriminative classifiers8.6.1 Pros and cons of each approach

8.1 Introduction, overview

생성 모델, generative approach: p(y,x) 모델링 후  p(y|x) 유도하는 방식, 데이터를 생성해 낼수 있다.판별 모델, discriminative approach:  p(y|x) 형태의 모델을 바로  fitting, 이 장에서 다룰 것,

모델이름은 리그레션이지만, 리그레션이 아니다. 분류 모델이다

MLE의 closed form solution이 없기 때문에, 다른 최적화 기법으로 푼다(경사 강하, 뉴턴법)

베이지안 logistic regression은 conjugate prior가 없기 때문에 근사방법으로 푼다

8.2 Model specification

logistic regression은 다음과 같은 binary 분류 모델이다, .

: linear regression의 예측치wTxsigm( ): 예측치에 sigmoid or logistic 함수를 씌운 것wTx특정 feature vector x와 모델의 parameter w가 주어졌을 때 y = {0,1}의 확률 p(y|x,w)은 sigm( )을 parameter로 하는 베르누이 분포를 따른다  wTx그림 1.19 logistic 함수

Page 2: 8. Logistic Regression

8.3 Model fitting

logistic regrssion의 파라메터(w)를 추정하는 알고리즘에 대해서 다룬다.

MLE의 closed form solution이 없기 때문에, 다른 최적화 기법으로 푼다(경사 강하, 뉴턴법)

8.3.1 MLE

모든 데이터 i에 대해서, p(yi|xi,w)를 모든 곱한 likelihood에 negative log를 하면

(8.2) // p(yi|xi,w)는 베르누이 분포라고 언급하였다

                        

(8.3) 

이 likelihood는 미분해서 0하는 식으로 MLE를 구할 수 없다(=close form 솔루션이 없다, try it)그러므로 최적화 방법으로 MLE를 구하기 위해 gradient와 Hessian을 구한다.

f(w) = NLL(w) 로 놓고 gradient g를 구하면

 (8.5) // μi' = μi(1-μi) 임을 이용

중간 과정: dNLL/dw = Unable to render content due to system error: java.lang.ClassCastException:com.stepstonetech.confluence.plugins.latex.LatexMacro cannot be cast to com.atlassian.renderer.v2.macro.Macro

Hessian 행렬(벡터의 2차 도함수)을 구하면  

(8.6)        

(8.7)  // 식(8.6)의 행렬 표현, where 

즉, NLL(w) = w'Hw + +w'g ++ c 의 2차 함수로 표현할 수 있다는 것이고,모든 양의 w에 대해서 w'Hw >0 이므로(연습문제 8.3)H는 positive definite이다(positive definite의 정의)Hessian이 positive definite이므로, NLL(w)는 convex하고 local minumum = global minimum이다(밑에 참고에 의해). 

참고 any   from   to   can be written as       where   is a symmetric   ×   matrix,   is a real  -vector, and   a realquadratic function Rn R xTMx  xTb  c M n n b n cconstant. This quadratic function is strictly convex, and hence has a unique finite global minimum, if and only if   is positive definite. For thisMreason, positive definite matrices play an important role in   problems.optimization

Page 3: 8. Logistic Regression

 다음 섹션부터는 logistic regression의 MLE 해 w를 찾는 방법에 대해서 알아본다

8.3.2 Steepest descent

gradient descent라고도 불린다.

 (8.8) // eta는 학습률, parameter를 (-)경사 방향으로 업데이트한다. 그림 설명 

함수에 대한 최소값 (1,1) 찾기(a) 학습률 0.1, 수렴이 늦다(b) 학습률 0.6, 수렴을 못한다.적당한  학습률을 찾는 것이 이슈

line search method: 학습률을 정하는데 대해서 좀 더 안정적인 방법

: k+1 step의 parameter, 즉 현재 parameter에서 gradient dk 방향으로 한단계 전진한 parameter

: 다음 단계의 objective 함수값

 // 다음 단계의 objective 함수값을 최소로 하는 학습률을 구해서 이번 단계의 학습률로 한다

그림 설명. line search가 지그재그 모양이 되는 이유

의 최적화 문제의 해의 필요 조건은 

이다, (해는 반드시 조건을 만족해야 하지만, 해가 아닌 얘도 조건을 만족할 수 있다 멀티플 모드)

 --> phi(eta)' = dkf'(θk+eta*dk) = dk*g = 0 

- -는 다음 step의 graident이고 d는 현재 step의 gradient이므로 위의 최적화 문제는 현재 스텝 k의 gradient가 다음 스텝 k+1의 gradient가

Page 4: 8. Logistic Regression

- -는 다음 step의 graident이고 d는 현재 step의 gradient이므로 위의 최적화 문제는 현재 스텝 k의 gradient가 다음 스텝 k+1의 gradient가수직이 되는 학습률 η를 구하는 것이다. 그러므로 line search는 아래의 그림처럼 지그재그 모양이 된다.

8.3.3 Newton's method

현재 벡터는  f( )가 최소가 되는 θk에 있다고 하자.  θ θ를 찾고 싶다테일러 급수 전개에 의해서 θ k 근처에서 다음과 같이 2차함수로 근사할 수 있다

(8.14)위의 식을 전개해서 정리하면 

 (8.15)where 

 (8.16)식(8.15)를  미분해서 0인 지점의 f(θ에 대해서  θ)가 최소이므로

즉 현재 지점 θ k에서 (1차 도함수)/(2차 도함수) 방향으로 전진한 지점이 최적의 θ가 된다.f( )의 최소 지점을 찾아 나간다.이 프로세스를 반복적으로 해 나감으로써  θ

그림 설명f( )이고, 파란 점선은 2차 테일러 근사 함수이다빨간색 선은 원래 최적화 하려는  θ

Page 5: 8. Logistic Regression

정리하면 맨 처음 우리는 logistic regresson 모델의  p(yi|xi,w)를 모든 곱한 likelihood NLL(w) = w'Hw ++w'g ++ c

 where 

의 해 w를 찾을려 했었고 Newton의 방법을 사용한다면 초기 w0를 정해주고 

을 계속 업데이트 해나가면서 해를 구하면 된다. 

8.3.6 l2 regularization

Linear regression보다 ridge regression을 더 나은 것처럼, logistic regression의MLE 추정보다는 MAP 추정이 낫다. MAP은 prior p(w)에 대한 조절을 해준다.(ridge regression과 같은 메커니즘에 의해서, see )7장MAP 추정을 위한 새로운 목적함수, gradient, Hessian은 다음과 같다.

(8.30)

 (8.31)

(8.32)

8.3.7 Multi-class logistic regression

신기하게도 GDA와 같은 모양

Page 6: 8. Logistic Regression

8.4 Bayesian logistic regression

logistic regression의 parameter  에 대한 full posterior p( |D)를 구하려고 한다.w w불행히도, linear regression과는 달리, logistic regression에 대한 conjugate prior가 존재하지 않기 때문에 정확히는 풀 수 없다logistic regression의 likelihood는 binomial이기 때문에, prior는 beta분포를 해야하는데, w는 연속적인 수치이기 때문에 beta 분포를 못씀approximation 하는 방법을 다루어 본다posterior = likelihood * prior 에서  prior는 가우시안으로 설정하고 posterior를 Gaussian으로 강제적으로 근사

8.4.1 Laplace approximation

posterior에 대해서 Gaussian 근사를 하는 방법을 살펴본다. D차원 실수 벡터 θ에 대해서

라고 놓으면 

 (8.49) // E( )를 에너지 함수(Energy function) 이라고 부른다. θ일단 E( )가 최소가 되는  E( )를 2차함수로 근사하면θ θ*를 안다고 가정하고, θ*에서 테일러 급수 전개로  θ

(8.50)where 

 (8.51)θ*는 mode이기 때문에, g=0이고 그러므로 8.50에서 가운데 식은 없어진다

 (8.52) // 식 (8.49)에 식 (8.50)을 대입                    

 // 에너지 함수의 optimal 위치를 평균으로 하고 Hessian의 역행렬을 공분산으로하는 정규분포를 따름

 (8.54)// 첫번째 등호는 sum rule에 의해서, 두번째 등호는 

에 의해서, 세번째 등호는 테일러 근사에 의해서즉 p(D)=Z는 정규분포에서 앞에 붙어있는 항이 된다.식(8.54)는 라플라스 근사(Laplace approximation)으로 알려져 있기 때문에 식 8.52는 posterior에 대한 라플라스 근사라고 불리기도 한다하지만, 통계학 커뮤니티에서는 라플라스 근사를 다른 방법을 지칭하기 때문에 가우시안 근사(Gaussian approximation)라고 부르는 것이 더 맞다.

Page 7: 8. Logistic Regression

8.4.2 Derivation of the BIC(Bayesian Information Criterion)

모델 셀렉션을 위한 거라는데...

8.4.3 Gaussian approximation for logistic regression

이제 logistic regression에 Gaussian approximation를 적용해 보자.prior는 

로 정한다. Posterior의 가우시안 근사는 다음과 같다.

 (8.58)where

//에너지 함수의 optimal 값을 평균으로 한다고 했다.결과적으로 hat{w}는 앞에서 했던 logistic regression의 MAP 추정이 된다. ***********************************************************************************************

*********************************************************************************************** 그림 설명

parameter w 공간 파란색 점은 MAP 추정이고 등고선은 정규분포로 근사된 posterior p(w|D)

요약logistic regression의 conjugate prior는 없다.그냥 prior도 정규분포 posterior도 정규분포로 근사한다.posterior p(w|D)를 Gaussian 분포로 Gaussian 근사를 해서 logistic regresssion의 w를 구한다.

8.4.4 Approximating the posterior predictive

posterior를 구했으면, 예측을 해보자

Page 8: 8. Logistic Regression

posterior를 구했으면, 예측을 해보자

 (8.59)불행히도, 위의 integral은 intractable하다. ( p(y|x,w)와 p(w|D)의 분포가 다르다)가장 간단한 근사 방법은 

 (8.60) // 즉 w로 posterior 평균을 쓰는 쓰는 것이다. 다음 섹션에서 더 나은 근사 방법을 알아본다.

8.4.4.1 Monte Carlo approximation

다음과 같이 Monte Carlo 근사를 사용해서 posterior predictive을 한다.

 (8.61) // 

로 w를 뽑은 후 logistic 함수를 씌운 값들에 대해서 평균 냄// ws는 posterior에서 뽑는다

8.5 Online learning and stochastic optimization

batch 성 학습이 아닌 online으로 하나씩 학습하는 방법에 대해서 알아본다 

8.5.3 The LMS algorithm

흔히 steepest descent의 online 버전이라고 할 수 있는 stochastic gradient descent(SGD)를 online 학습을 위해 많이 쓴다.linear regression에 이 SGD를 적용해 보자우선, 7장에서 linear regression 문제에 대한, batch gradient를 구했었다. (모든 데이터 셋 X로 w를 한번에 업데이트) **************************************************************************************************************************************7장 복습

 (7.11)

(7.14)***************************************************************************************************************************************

하나의 training example xi에 대한 gradient는 

 이므로이 batch gradient descent의 SGD 버전은 다음과 같다.

 여기서, 예측치 

이다. (8.87)이 알고리즘을 least mean squares or LMS 알고리즘이라고 부른다.

Page 9: 8. Logistic Regression

8.5.4 The perceptron algorithm

logistic regression을 online 방법으로 학습하는 방법에 대해서 알아본다.batch 성 gradient는 앞에서 다음과 같이 구했다

online의 경우 다음과 같이 weight 업데이트를 한다

(8.88)

이므로, LMS와 같은 형태임을 알 수 있다.(logistic regression은 분류기라는 점만 빼고) 사실, 이 성질은 모든 generalized linear models에 대해서 만족한다(sec 9.3)

이제 위의 식 (8.88)을 approximation 할 것이다.

 (xi를 가장 그럴듯한 class로 분류한다)라 놓으면, 

를 y의 예측치로 바꿀 수 있다.

즉 y를 올바르게 예측 했을 경우 \hat{yi} - yi은 0이 되기 때문에 weight 업데이트를 하지 않고,예측을 1 실제가 0 일 경우 g = xi예측을 0 실제가 1 일 경우 g = -xi 로 업데이트 한다이러한 알고리즘을 perceptron 알고리즘이라고 하고, 데이터가 linearly separable할 경우 수렴성이 증명되어 있다.

8.5.5 A Bayesian view

다른 online learning으로 베이지안 관점을 적용하는 것이 있다.개념은 다음과 같이 간단하다.bayes rule을 다음과 같이 recursive하게 적용한다.

online learning k-1번째 까지 본 데이터로 추정한 w의 확률은 prior로 보고 지금 하나의 데이터 Dk를 더 보았을 때의 posterior를 구한다.앞서 했던 bayesian logistic regression에 적용해 보면posterior는 Gaussian 근사에 의해서 다음과 같았고

 // \hat{w}는 MAP 추정, H는 -log p(w,D)를 두 번 미분한 것.p(Dk| )는 하나의 데이터에 대한 likelihood이고 베르누이 분포를 따르므로θ

 

이다

8.6 Generative vs discriminative classifiers

8.6.1 Pros and cons of each approach

Generative classifiers : e.g GDA, p(x|y)의 분포에 대한 가정이 있음Discriminative classifiers: e.g logistic regression,  p(y|W,x)에 대한 가정이 있음

Page 10: 8. Logistic Regression