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.

7. Linear Regression

818 views

Published on

Murpy의 머신러닝 7장 요약

Published in: Engineering
  • Be the first to comment

7. Linear Regression

  1. 1. 7. Linear Regression 7.1 Introduction 7.2 Model specification 7.3 Maximum likelihood estimation (least squares) 7.3.1 Derivation of the MLE 7.3.2 Geometric interpretation 7.3.3 Convexity 7.5 Ridge regression 7.5.1 Basic idea 7.5.4 Regularization effects of big data 7.6 Bayesian linear regression 7.6.1 Computing the posterior 7.6.2 Computing the posterior predictive 7.1 Introduction 통계와 supervised 머신러닝 계의 work horse kernel과 결합 시 비선형의 관계도 모델링할 수 있음 아웃풋을 정규분포에서 베르누이나 멀티누이로 교체한다면 분류도 가능  7.2 Model specification linear regression의 output은  feature vector와 weight의 linear sum을 평균으로 하고 σ 를 분산으로 하는 정규분포를 따른다2 (7.1)  feature vector에 비선형의 kernel 함수 Φ(x)를 씌울 수 있다.  (7.2) // basis function expansion 이라 부른다  (7.3) // polynomial basis functions 그림 설명:  polynomial basis functions으로 커브 핏팅한 예시 커널함수에 따라 비선형 관계도 모델링 가능   (a) d = 14 (b) d = 20  그림 설명: 2d 벡터의 fitting, horizon은 방안의 위치이고 vertical은 온도 (a) linear (b) quadratic
  2. 2. 7.3 Maximum likelihood estimation (least squares) Linear regression의 파라메터 w를 fitting 통계적인 모델의 파라메터를 추정하는 가장 많이 쓰이는 방법은 다음과 같은 MLE를 계산하는 것이다.          (7.4) // log-likelihood의 최대가 되는 parameter를 찾음 보통 training examples 간은 iid(independent and identically distributed, traiing example 간은 서로 독립이고 같은 분포에서 추출됨)를 가정하기 때문에 likelihood 다음과 같이 표현할 수 있다.        (7.5) 여기서, 이전에 했던 generative model에서의 likelihood는 p(x|y)로 구했던 것과 다르게 여기서는 데이터에 대한 확률이 바로p(y|x)이라는 것에 주목 --> discriminant model log-likelihood를 maximize하는 대신, negative log-likelihood(NLL)를 minimize하는 방법을 쓸 수 있다.(최적화 툴들이 최소값 찾는데 맞추어져 있어서 더 편함)        (7.6) MLE를 풀기 위해, 식 (7.5)에  정규분포 수식을 대입하면         
  3. 3. (7.7)                 (7.8)  where   (7.9) // sum of squared errors라 부르고 SSE/N를 Mean Squared Error(MSE)라고 한다(실제 답 y_i와 예측치 w^Tx_i의 residual error의 제곱을 모든 트레이닝 셋에 대해서 합한 것)   다음과 같이 residual error의 norm의 제곱으로 RSS를 표현하기도 한다. (7.10)  7.3.1 Derivation of the MLE X는 training set의 example 수(N) x feature 수(D) 의 행렬 w는 feature 수(D) 크기의 벡터 y는 example 수(N) 크기의 벡터  그러므로 Xw는 y의 예측치가 된다. 위의 노테이션으로 수식 (7.8)을 표현하면(minus된, w와 상관없는 term은 없앰, 미분을 쉽게 하기 위해 모양을 바꾼다)         (7.11) w에 대해서 미분하여 gradient g를 구하면 gradient가 0이 되는 지점이 NLL이 최소가 되는 지점이고 w에 대해서 정리하면         
  4. 4. 즉 w는 X의 psuedo-inverse에 y를 곱한 것 7.3.2 Geometric interpretation N = 3, D=2 의 예제  (7.17) 그림 설명      X의 첫번째 column x1 = (1,1,1), x2 = (2,-2,2)=(1,-1,1)이 초록색 점선으로 그려져 있다      X의 column은 N차원 안의 D차원의 linear subspace를 정의한다.(초록색 점선을 포함하는 평면)      y도 마찬가지로 파란색 실선으로 그려져 있다.       X의 column 벡터의 선형결합으로 만들 수 있는 y와 최대한 가까운 hat {y}를 구하는 것이 linear regression의 목적이다.                   (7.18)                   (7.19)            X의 column 벡터의 선형 결합으로 만들 수 있는 hat{y}는 x1와 x2를 포함하는 평면 위에 있고 y와 가장 가까운 hat{y}은 y의 초록 평면위로의 projection이다 즉          // hat{y} - y 벡터가 모든 X column벡터에 수직
  5. 5. 7.3.3 Convexity 모든 set θ, θ'∈S에 대해서 다음을 만족하면 S는 convex하다고 한다       (7.22)        즉 위의 그림의 (a)처럼 빨간색 선 안 S의 점 두 개  θ , θ'를 골라서 이은 직선이 S안에 존재하면 convex 함수 f(θ)의 모든 set 경우,  θ , θ' ∈S에 대해서, 다음을 만족하면 convex한 함수라고 한다.        아래 그래프에서 x축 위에서 x와 y사이의 값 x'의 f(x')값이 f(x)와 f(y)를 이은 직선보다 항상 작으면 함수 f는 convex
  6. 6. 7.5 Ridge regression MAP 추정으로 overfiting을 개선하기 7.5.1 Basic idea 14 degree polynomial로 regression을 하면 다음과 같이 구불구불한 overfiting이 일어난다 fitting된 곡선의 w의 값을 살펴보면, 8542, -12640 같이 절대적인 값이 큰 수치들이 보인다 이러한 큰 |w|값들은 fitting된 곡선을 구불거리게 하는 원인이다. 그러므로, w에 Gaussian prior를 적용함으로써 w값들의 차이가 크지 않게 만들 수 있으며, 나아가 overfiting을 방지할 수 잇다. (7.30) //τ는 prior의 강도를 조절하는 역할 이제 이 prior를 적용한 MAP 추정은 다음과 같다
  7. 7. =  (7.31) 위의 식을 다시 정리하면 다음과 같은 objectice function을 minimize하는 것이다. (7.32) where  즉, 첫번째 항은 linear regression과 같지만, 두번째 항이 추가됨으로써 w가 커지면 objective function이 커지기 때문에 w가 커지는 것을 방지한다 linear regression에서 했던 것처럼, gradient가 0이 되는 지점을 찾아서 정리하면 해는 다음과 같이 된다 이 테크닉을 능선 회귀(ridge regression) 또는 penalized least squares 이라고 한다. 이렇게 w에 Gaussion prior를 적용하는 방식을 l2-regularization 또는 weight decay라고 부른다. 이 능선 회귀로 앞의 예제의 w를 구해보면 큰 절대값을 가진 w의 원소가 없다. fitting curve를 그려보면 앞선 linear regression에 비해서 곡선이 많이 부드러워 진 것을 알 수 있다.
  8. 8. 7.5.4 Regularization effects of big data overfiting을 피하는 다른 방법은 당연하지만 training 데이터를 많이 쓰는 것이다. 그림 설명       (d) degree 25의 경우, 작은 데이터셋의 경우 test 에러가 train 에러보다 현저히 커서 overfiting이 일어나지만, 데이터 사이즈가 커질수록 보정됨      (a) model degree가 너무 작을 경우, 충분한 데이터를 보여줘도 error가 큼 7.6 Bayesian linear regression w의 점추정이 아니라 posterior  자체를 구하고 싶다.p(w|D,σ2 )  7.6.1 Computing the posterior ----------------------------------------------------------------------------------------------- digression. 유용한 정리들.  x의 분포가 정규 분포이고, y|x 도 Ax+b를 평균으로 하는 정규분포를 따르면(A는 x를 y의 차원으로 선형이동)
  9. 9. (4.124) 또한, x|y도 역시 다음과 같은 정규 분포를 따름 (4.125)  y도 역시 다음과 같은 정규 분포를 따름 (4.126) ----------------------------------------------------------------------------------------------------  likelihood는 다음과 같이 표현할 수 있다.() =     // digression에서 p(y|x) Gaussian likelihood의 conjugate prior는 역시 Gaussian이다  // digression에서 p(x) Digression의 공식에 의해서 posterior를 다음과 같이 구할 수 있다  // digression에서 p(x|y)                                       (7.57) // Gaussian prior의 분산 V0과 training examples X를 알면 구할 수 있다.
  10. 10.  (7.56) // 추가로 Gaussian prior의 평균 w0와 위에서 구한 VN과 training의 답 y를 알면 구함 즉 w이 posterior는 w_N을 평균으로 하고 V_N을 분산으로 하는 정규분포를 따른다. 그림 설명 w0, w1 이차원 파라메터에 대한 시각화      열은 그림에 설명되어 있음. 하얀색 십자가가 true w이다, 맨 오른쪽의 빨간색 직선들은 posterior로 w를 샘플링 한 것      (0번째 행) 데이터를 하나도 안 보여줬을 때, posterior는 prior와 같고 그러한 posterior 상에서 w ~ N(w|wN,VN) 추출 시, 중구 난방의 직선들이 만들어진다      (1번째 행) 데이터를 하나 보여줌,       (2번째 행) 데이터를 두 개 보여줌,       (3번째 행) 데이터 20개 보여줌, posterior가 true w 근처로 많이 수렴했음,  추출된 w ~ N(w|wN,VN) 들의 fitting된 직선들도 수렴함    7.6.2 Computing the posterior predictive 이제 새로운 데이터 x가 주어졌을 때의 y를 예측해 보자 --------------------------------------------------------------------------------------------------------------------------------------- 복습
  11. 11. 복습  // posterior predictive distribution 가설 h와 테스트 feature vector x가 주어졌을 때 class의 확률을 가설의 posterior로 가중치 합한 것 --------------------------------------------------------------------------------------------------------------------------------------- 복습란에 있는 수식의 연속 버전 트레이닝 셋D와 테스트 feature vector x가 주어졌을 때, x의 답에 대한 예측은 //전확률 법칙에 의해서 w를 분리해 내고                                    (7.60) // 모든 파라메터 가설에 대해서 예측치에 대한 posterior 가중치 합                                     (7.61)  (7.62) //예측의 variance(식(7.62))은 관찰치(training set에서 y)의 분산과 posterior p(w|D)의 분산 VN의 영향을 받는다 즉, y에 대한 예측치는 w의 posterior의 평균으로 계산한 w'x을 평균으로 하는 정규분포를 따른다. 위의 수식 보충 설명 그림 설명 (a) MLE로 나온 hat{w} 로 plugin-approximation한 것, δw함수는 w의 MLE 추정치에서 커짐 , MLE fitting한 예측치에 정규분포 적용 (7.63)
  12. 12. (7.63) (b) Posterior predictive density(식 (7.61) )로 생성한 y 예측치의 그림, ,where  검은 색은 평균이고, error bar는 표준편차, training example에 멀어질수록 분산이 커지는 것을 볼 수 있는데 이것은 식(7.57) 을 보면 VN에 X^TX가 feature간의 weight로 작용해서 x가 training examples과 비슷한 feature 구조를 갖게 되면 값이 커진다. 그래서 training example들에서 먼 예측치일 수록 분산이 커지는 것을 볼 수 있다 (c) p(w|D)의 MAP으로 plugin approximation한 것, MLE를 (a)와 비슷 (d) p(w|D)로 만든 10개의 fiting 곡선

×