Stanford CS229 강의 요약 Machine Learning Course, Lecture 1 - Andrew Ng (Autumn 2018)
Week 3 Topic & Week 2 Recap
1. Linear Regression (Recap)
2. Locally weighted Regression
3. Probabilistic interpretation
+ Why we use the qudratic loss function?
4. logistic regression (3-2 다음 포스팅에서)
5. Newton's method (in losgistic regression) (3-2 다음 포스팅에서)
Linear Regression (Recap)
- (x(i), y(i))를 i번째 sample이라고 합니다. x(i)는 input, input feature, y(i)는 target, output입니다.
- x(i) ∈ ℝ^{k+1}, y(i) ∈ ℝ , 여기서 k+1은 feature의 수. +1은 0으로 들어가는 bias때문
- m: number of samples, n: number of features
- 우리가 만들고자 하는 모델은 h는 → hθ(x) = Σ_{j=0}^{n} θj⋅x = θT⋅x (Recap의 4번째 줄)
- 모델 h를 만들기 위해 최적의 θ를 가지는 방법은? Cost/Loss function J(θ)를 5번째 줄과 같이 정의한다.
++ 우리는 Cost function으로 Qudratic function을 사용했는데 이에 대한 근본적인 이유를 알려준다.
- 지난주에 활용한 Boston 집값 예측을 한다고 할 때, 파란색 선 같이 직선을 긋는 것보다, 보라색으로 곡선을 긋는 것이 훨씬 더 성능이 좋다. 하지만 그럼에도 예측을 잘 했냐? 라고 물어봤을 때 X라고 답하게 된다. 예측을 잘 했다고 볼 수도 있지만, 그렇다면 아래의 우측의 있는 그림의 경우에도 똑같이 잘 맞출 수 있을까? 따라서 우리는 θ를 더 추가하여
조금 더 복잡한 hθ(x)를 정의하고자 한다. 그렇다면 우리는 이것을 어떻게 최적화하고, 어떻게 업데이트를 할까?
Parametric learning method
- fit fixed set of parameters(θi) to data. 즉 고정된 크기의 θ를 사용하여 모델을 만드는 과정이다.
- 우리가 일반적으로 아는 Linear Regression, Rogistic Regression, Deep Nerual Network
Non- Parametric learning method
- 많은 양의 데이터를 활용하여 θ를 점점 키워나가는 방식.
- ex) SVM, Decision Tree, KNN
- 위의 설명을 보면 알 수 있듯이 우리는 Parametric learning method를 통해 h를 학습하는 과정을 배웠다. 이번엔 Non-parametric method인 Locally weighted Regression을 배워보자.
Locally weighted Regression(LWR)
- 본격적으로 들어가기 전에 우리는 Parametric learning method와 non-parametric learning method를 비교하고자 한다.
- 왼쪽은 위에서 우리가 늘 보던 수식 h를 정의하는 방법에 대해 나타낸 것이고, 더 나아가 위와 같은 데이터 셋에서 더 정확한 모델 h를 만들고자 할 때, 그 특정한 부분의 기울기를 활용하여 예측하고자 하는 값의 위치를 근사하는 방법이다. (LWR)
- 주황색 X 값을 구하고자 할 때, 파란색 위치의 값들을 활용하여 초록색형광펜과 같이 기울기를 구해 주황색 값을 정한다
- 마찬가지로 핑크색 X를 구하고자 할 때, 그 위치의 파란색 X들의 기울기를 구하고, 그 값에 맞는 핑크색 X를 구한다.
- 수식은 왼쪽의 FiT θ to minimize부분이다.
- weight function w(i)가 추가가 되었는데, w(i)는 exp(- (x(i) - x)**2 / 2) 이다.
- 만약 |x(i) - x|의 값이 0과 유사하다면 e0 = 1이므로 해당 weight를 반영한다는 뜻이 되며, |x(i) - x|가 크다면 -에 의해 0과 가깝게 된다. 따라서 해당 weight에 대한 정보를 거의 반영하지 않게된다.
- 즉 가까우면 반영하고, 가깝지 않으면 반영하지 않는 함수 w(i)가 되는 것이다.
- 그렇다면 얼마나 반영하는지는 어떻게알까? 이걸 반영하기 위해 τ라는 band-width parameter를 넣어준다.
- 이 τ의 조절을 통해 over-fitting과 underfitting을 방지할 수 있다.
- 따라서 이 Local Weighted Regression (LWR)은 적은 데이터 셋, 적은 demension을 가지는 모델에 사용하기 좋다.
Probabilistic interpretation
- 이번 시간에는 왜 Cost function J(θ)를 least-squares cost function을 사용하는게 좋은지에 대해 알아보자.
- y(i) = θT⋅x(i) + ϵ(i)가 있다고 가정하자. ϵ(i)는 Boston집값 예측에서 부동산 업자의 기분, 그 날의 날씨 등과 같이 모델의 학습에는 영향을 주지 않는 Random noise/Error이다.
- 이 ϵ(i)는 ϵ(i) ~(d) N(0, σ**2), 즉 평균 0이며, 표준편차가 σ인 Gaussian 분포를 가진다. 왜 평균이 0이고 표준편차만 σ냐 라고 물으면 Central limited theorem 때문이다. 데이터가 많아지면 평균 0, 표준편차가 σ에 수렴한다는 이론이다.
- 그럼 이 ϵ(i)를 가지고 뭘 할 수 있는데?
- p(ϵ(i))의 확률 분포를 구한다. 정규 분포 수식에 평균 0 표준편차 σ를 넣으면 아래와 같은 수식 유도가 가능하다.
++ ϵ(i)를 통해 다른 요인을 정의함으로써 Robustness를 늘릴 수 있으며, Uncertainty estimation이 가능하다.
- 여기서 y(i) = θT⋅x(i) + ϵ(i)를 ϵ(i)에 대해 정리한 후, 수식에 대입하면 최종 수식은 아래와 같다.
- 그리고 그 과정에서 x(i)가 주어졌을 때 parameterized 된 θ에 의해 y(i)가 나오므로 좌변항도 p(y(i)|x(i); θ)가 된다.
- ;는 parameterized, ","는 conditioning이라는 뜻을 가지고 있다. θ는 학습에 의해 결정되는 값이지 Random variable이 아니므로 ;가 된다.
- 따라서 p(y(i)|x(i); θ) ~ N(θT⋅x(i), σ**2) 로 재정의가 가능하다.
Maximum Likelihood
- 위의 내용을 바탕으로 이제 i번째 샘플에 대한 확률분포가 아닌, 전체 데이터에 대한 확률을 다음과 같이 정의한다.
- p(y→|X; θ) (y→ = Σ_{i=1}^{m} yi.) 입력 값 X와 θ에 대한 전체 y의 분포.
- likelihood란? Probability of the data이다. 위에서의 L(θ)를 Likelihood로 만든다.
- 우리가 고정된 training data를 사용하고, 다양한 θ값 중에서 하나를 고르는 것이 likelihood이다.
- 반대로, 고정된 theta를 사용하며, 다양한 data를 가지고 p(y→|x(i); θ)를 찾을 경우, 이걸 Probabilistic라고 한다.
- likelihood는 위의 수식과 같이 정의할 수 있으며, 위에서 ϵ(i)을 가지고 열심히 정의한 수식으로 치환 가능하다.
- 위의 수식과 같은 확률 모델로 바꾸었을 때, θ값을 잘 골라서 L(θ)를 가장 크게 만드는 것이 Maximum likelihood이다.
Log Likelihood
- 위의 L(θ)에 Log를 씌워간단하게 만들 수 있다. Maximize라는 개념은 동일하므로 Log를 씌워도 상관이 없다
- 곱하기 수식을 Log를 씌워서 덧셈으로 바꾸기에 Sigma로 바뀐다.
- 자세하게 유도하면 우측을 참고하면 된다. log e는 밑이 e라고 생각하고 그냥 없애줬다.
- 파란색 박스는 상수로 취급하면 빨간색 밑줄의 수식만 Minimize를 한다면 Maximum log likelihood를 구할 수 있다.
- 그리고 이 수식은 J(θ) (least-squares cost function)과 동일하다. 즉 우리가 Cost function으로 Qudratic function을 쓰는 이유는 Maximim Log Likelihood 때문이다
Why is Linear Regression not the ideal solution?
- 새로운 입력 샘플 핑크색 X에 대해 선이 쉽게 움직인다. 즉 이상치에 민감하지 못하다. 따라서 분류 문제에서의 효과적인 문제 해결방법이 아니다.
- 따라서 이를 해결하기 위해 Logistic Regression이 등장한다.
- logistic 부터는 3-2로 해서 다시 이어나가야겠다.