Stanford CS229 강의 요약 Machine Learning - Course Introduce | Lecture 1 - Andrew Ng (Autumn 2018)
이번 주차 목표
1. Perceptron Algorithm (완)
2. Exponential Family (완)
3. Generalized Linear Model
4. Softmax Regression. (Multi class Regression)
- 지난 주에는 Perceptron Algorithm과 Exponential Family를 다뤘기에, 이번에는 Generalized Linear Model (GLM)에 대해 알아보려고 한다.
*Poisson 분포: 단위 시간안에 어떤 사건이 몇 번 발생할 것인지를 표현하는 이산 확률 분포.
3. Generalized Linear Model
- 만약 손님이 매장에 몇명이나 올지를 예측하고 싶다면, 우리의 store promotion, recent advertising과 같은 주어진 feature x를 통해 손님 수 y를 예측해야한다. 이 때 Poisson 분포가 이를 예측하기에 효과적인데, Poisson 분포 또한 Exponential Family에 속하기 때문에, 우리는 GLM을 사용하여 간단하게 문제를 해결할 수 있다. 그렇다면, GLM을 Classification 혹은 Regression문제에 적용하는게 과연 도움이 될까?
→ 정답은 O이다. GLM은 그냥 model의 data를 일반화(Generalized) 시키는데 아주 효과적이다. Classification이든, Regression이든, random variable y를 함수 x를 가지고 예측할 것이며, 그러기 위해서 아래와 같은 가정을 할 것이다.
- GLM을 Design Choice라고 생각하고 가정을 한다면
1. y|𝜒;θ ~ Exponential Family(η)
→ 우리가 예측하는 y의 분포는 무조건 Exponential Family에 속한다고 가정한다.
++ Exponential family란, h(y) exp[ η^T ⋅ T(y) - A(η) ]의 꼴로 나타낼 수 있는 분포를 의미한다.
++ 앞선 Question에 적어두었는데 Exponential Family를 사용할 경우, 우리의 Maximum Likelihood를 Convex하게 만들 수 있기 때문이다.
2. η = θT⋅𝜒, θ ∈ℝ^n, 𝜒∈ℝ^n
→ 자연 파라미터 η를 θT⋅𝜒로 정의함으로써, Exponential family가 Canonical form으로 언제든지 변환될 수 있다는 것이다.
3. Test time에서는 output은 𝔼[y|𝜒; θ]
→ 우리의 목표는 중요한 정보를 가지고 있는 T(y)를 예측하는 것이다. 앞서 4-1 요약에서 T(y) = y인 경우만 고려한다고 하였으므로, h(x) = 𝔼[y|x] 를 만족시키는 h(x)를 잘 학습하는 것이다. 왜 하필 𝔼[y|x] 냐고 하면 𝔼() 기호는 Canonical Parameter와 동일하다는 점을 기억하자. 그렇다면 아래와 같이 변환 시킬 수 있다.
+ 위의 우측 그림을 바탕으로 Linear Model의 경우 𝔼[y; θ] = μ = η = hθ(x)가 된다.
++ Logistic Model의 경우 𝔼[y|x; θ] = ϕ = 1/(1 + e^{-η}) = 1/(1 + e^{-θT⋅x})
Benefits of the GLM
- 깊게 들어가기에 앞서, 질의응답에서 왜 GLM의 장점에 대한 내용이 있었던걸로 기억한다. 이를 짚고 넘어가보자.
1. Learning Update Rule.
→ 2주차에서 언급되었던 Linear Model을 update할 때 사용했던 수식이다. GLM을 사용할 경우, 아래와 같이 간단한 Update 방식을 사용할 수 있다. 중요한 점은 x가 어떻게 생겼던 간에, 이 update 방식을 이용할 수 있다는 점이 매력적이다
2. Terminology
→ 위의 GLM을 가정하는 단계에서 우리는 마지막에 𝔼[y|x] 를 예측한다고 하였는데, 이는 Exponential Family의 특징에 의해 자연 파라미터(η)와 Canonical 파라미터가 Linked function 관계, 혹은 interchangeable하기 때문에, Linear Model과 Logistic Model로 바꿀 수 있다는 것을 보여주었다. 이러한 용어를 깔끔하게 사용할 수 있기 때문이다.
3. Parameters
→ 이러한 Exponential Family의 특성에 의해 모델의 파라미터, 자연 파라미터, Canonical 파라미터의 변환이 자유로우며, Exponential Family의 분포에 속하는 분포는 전체적으로 GLM으로 묶어서 처리할 수 있음을 보여준다.
Assumptions of Regression Model
- 위의 수식을 바탕으로 아래와 같은 Regression Model을 가정할 때, 가능한 입력값 x에 대해 모델이 출력할 수 있는 데이터의 분포가 Gaussian (σ**1=1) 과 같은 왼쪽 그림을 그릴 수 있다.
- 따라서 임의의 x에 대해 Gaussian을 고려한 위치에 sampling을 진행했을 때, 주황색 점이 찍힌다고 하면, Gaussian을 고려하여 θ를 고르게 된다. 즉 평균을 고려한 θ를 찾는 과정은 자연파라미터에서 θ를 찾는 것과 동일하다.
Assumptions of Logistic Regression or Classification
- Logistic의 경우에도 매우 유사하다. Logistic의 경우 Bernoulli 분포를 따르게 된다.
- θT⋅𝜒를 찾기 위해, 오른쪽의 데이터 분포를 바탕으로 왼쪽의 모델이 나타내는 분포를 그린 것인데,
이러한 과정에서는 Probability와 자연 파라미터가 sigmoid와 유사한 수식을 가지는 점을 바탕으로, 이와 비슷한 모양을 가지는 θ를 찾게/그리게 된다.
Assumptions of Softmax Classification
- 아래 그림과 같이 세모, 네모, 원 총 3개의 클래스가 있을 때 어떻게 이들을 분류하는지에 대한 내용이다.
- 각 클래스에 대해 왼쪽과 같이 선과 그림을 그린 후, 새로운 입력 왼쪽의 초록색 작은 별이(x) 들어왔을 때, 우측과 같이 x에 대한 점수를 logit으로 나타낸 후 Normalized 시킨다.
- 그 후, 원래의 정답 P(y)와 Softmax를 한 결과를 비교하며 모델의 업데이트를 진행한다.