Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

8. Logistic Regression

1,621 views

Published on

Murphy의 머신러닝
8장 요약

Published in: Engineering
  • Thanks for the previous comments. www.HelpWriting.net helped me too
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I pasted a website that might be helpful to you: ⇒ www.HelpWriting.net ⇐ Good luck!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Have u ever tried external professional writing services like ⇒ www.HelpWriting.net ⇐ ? I did and I am more than satisfied.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

8. Logistic Regression

  1. 1. 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의 예측치wT x sigm( ): 예측치에 sigmoid or logistic 함수를 씌운 것wT x 특정 feature vector x와 모델의 parameter w가 주어졌을 때 y = {0,1}의 확률 p(y|x,w)은 sigm( )을 parameter로 하는 베르누이 분포를 따른다  wT x 그림 1.19 logistic 함수
  2. 2. 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 xT Mx  xT b  c M n n b n c constant. This quadratic function is strictly convex, and hence has a unique finite global minimum, if and only if   is positive definite. For thisM reason, positive definite matrices play an important role in   problems.optimization
  3. 3.  다음 섹션부터는 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가
  4. 4. - -는 다음 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차 테일러 근사 함수이다빨간색 선은 원래 최적화 하려는  θ
  5. 5. 정리하면 맨 처음 우리는 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와 같은 모양
  6. 6. 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)라고 부르는 것이 더 맞다.
  7. 7. 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를 구했으면, 예측을 해보자
  8. 8. 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 알고리즘이라고 부른다.
  9. 9. 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)에 대한 가정이 있음

×