Lecture 4

리치·2023년 3월 26일
0

CS229

목록 보기
4/21
post-custom-banner

deep.daiv 동아리에서 진행했으며 팀원과 함께 정리한 내용입니다.

Lecture 4

Part 3 Generalized Linear Models


지금까지 regression 예제 yx;θ N(μ,σ2)y\mid x;\theta ~ N(\mu,\sigma^2)와 classification 예제 yx;θ Bernoulli(ϕ)y\mid x;\theta ~ Bernoulli(\phi) 를 살펴보았다.

이번 강의 에서는 두가지 방법이 모두 GLM(Generalized Linear Models)라는 특정한 방법이라는 것임을 밝히고자 한다.

The Exponential family


  1. GLM 을 배우기 전에, 우리는 exponential family를 정의해야 한다.
p(y;η)=b(y)exp(ηTT(y)a(η))p(y;\eta) = b(y)\exp\big(\eta^TT(y)-a(\eta) \big)

η\eta 는 natural parameter(자연 매개변수) 라고 한다.

a(η)a(\eta)는 log partition function(로그분배함수) 이라고 한다.

T(y)T(y)는 sufficient statistic라고 부른다. 보통 T(y)=yT(y) = y 로 쓴다.

💡 대부분의 exponential family 예제를 살펴보면 $T(y)=y$ 임을 확인 할 수 있다.
  1. 베르누이 확률분포 함수를 exponenatial family 형식으로 변경하는 예제
p(y;ϕ)=ϕy(1ϕ)1y=exp(ylogϕ+(1y)log(1ϕ))=1×exp((log(ϕ1ϕ)) + log(1ϕ)p(y;\phi) = \phi^y(1-\phi)^{1-y}\\ =\exp\big(y\log\phi +(1-y)log(1-\phi)\big)\\ =1 \times \exp\big((\log(\frac{\phi}{1-\phi})\big) \ + \ \log(1-\phi)

위의 식을 exponential family와 대조하면서 살펴보면

b(y)=1b(y) = 1 , η=log(ϕ1ϕ)\eta=\log(\frac{\phi}{1-\phi}), a(η)=log(1ϕ)=log(1+eη)a(\eta) = -\log(1-\phi)=\log(1+e^\eta) , T(y)=yT(y) = y 가 완성된다.

여기서 η\etaϕ\phi에 관한 식으로 써보면, ϕ=11+eη\phi=\frac{1}{1+e^{-\eta}} 라는 식이 나오게 되는데 이것은 로지스틱 회귀에서 나왔던 sigmoid 함수와 닮은 형태이다.

그러므로 베르누이 분포를 적절한 TT , aa, bb 를 쓰면 exponential family 형태로 사용이 가능하다.

  1. 가우스 확률분포 함수를 exponential family 형식으로 변경하는 예제
p(x;μ)=12πexp(12(yμ)2)=12πexp(12y2)exp(μy12μ2)p(x;\mu) = \frac{1}{\sqrt{2\pi}}\exp\big(-\frac{1}{2}(y-\mu)^2\big)\\=\frac{1}{\sqrt{2\pi}}\exp\big(-\frac{1}{2}y^2\big)\cdot\exp\big(\mu y-\frac{1}{2}\mu^2\big)

베르누이 분포와 마찬가지로 exponential family와 대조해보면

η=μ, T(y)=y, a(η)=η2/2=μ2/2, b(y)=(1/2π)exp(y2/2)\eta = \mu, \ T(y) = y, \ a(\eta) = \eta^2/2=\mu^2/2, \ b(y)=(1/\sqrt{2\pi})\exp(-y^2/2) 가 완성된다.

💡 σ2\sigma^2 은 선형회귀에서 θ\thetahθ(x)h_\theta(x)를 도출해내는 과정에서 아무런 영향을 주지 않기 때문에 σ2=1\sigma^2 = 1이라고 가정한 상태에서 진행하였다.

  1. Exponential family 를 쓰는 이유
  • 자연 매개변수로 매개변수화 된 Exponential family에 대해 최대우도법(maximum likelihood method)를 사용하게 되면 최적화 문제는 항상 위로 볼록한 형태를 그리게 된다.
  • E[y;η]=ηa(η)E[y;\eta] = \frac{\partial}{\partial\eta}a(\eta) EE는 자연 매개변수 η\eta에 의해 매개변수화 된 yy의 기대값을 뜻한다.
  • Var[y;η]=2η2a(η)Var[y;\eta] = \frac{\partial^2}{\partial\eta^2}a(\eta) VarVar는 자연 매개변수 η\eta에 의해 매개변수화 된 yy의 분산을 뜻한다.

💡 확률분포의 평균과 분산을 구하기 위해선 무언가를 적분해야 하지만 exponential family에선 로그분배함수 a(η)a(\eta)를 미분하는 것만으로도 기대값과 분산을 구할 수 있다.

  • 위의 3가지 이유의 증명

    분산증명

    기대값 증명

Constructing GLMs


GLM 을 적용하기 위해선 아래의 3가지 가정이 필연적이다.

  1. yx;θy\vert x;\theta ~ Exponential Family(η\eta)

    xx , θ\thetayy의 값을 가지는 분포는 매개변수 η\eta를 가지는 exponential family를 따른다.

  2. η=θTx\eta = \theta^Tx

  3. ouput = E[yx;θ]E[y\vert x;\theta],

    hθ(x)=E[yx;θ]h_\theta(x) = E[y\vert x;\theta]

위의 가정들을 시각화 한 그림

💡 E[T(y);η]E[T(y);\eta]E[y;η]=g(η)E[y;\eta]=g(\eta) 이라는 canonical response function 이라고 불린다.
반대로, g1g^{-1}는 canonical link function 이라고 부른다.

💡 exponential family의 장점 중 하나였던 E[y;η]=ηa(η)E[y;\eta] = \frac{\partial}{\partial\eta}a(\eta) 와 위의 공식을 연결하면
ηa(η)=g(η)\frac{\partial}{\partial\eta}a(\eta) = g(\eta) 가 된다.

매개변수들 간의 관계를 나타낸 그림

GLM - Logistic Regression

  1. classification 에선 output y 가 0과 1의 값을 가지므로, 베르누이 분포를 사용하여 모델링 하는것이 자연스럽다.
hθ(x)=E[yx;θ]=ϕ=1/(1+eη)=1/1(1+eθTx)h_\theta(x) = E[y\vert x;\theta]\\ =\phi\\ =1/(1+e^{-\eta})\\ = 1/1(1+e^{-\theta^Tx})
  1. 첫번째 줄은 GLM의 3번째 가정에서 나오게 된 식이고, 베르누이 분포를 따르기 때문에 E[yx;θ]=ϕE[y\vert x;\theta] =\phi 라는 식이 나오게 된 것이다.
    **이렇게 나온 $h_\theta(x)= 1/1(1+e^{-\theta^Tx})$ 식은 왜 logistic function 이 $1/(1+e^{-z})$인지 알 수 있다.**

GLM - Softmax Regression

Logistic Regression 에서는 ouput y 가 0과1의 값만을 가졌지만, output이 k개라면 어떻게 해야할까?

이산적이고, 여러개의 변수(클래스)를 가지고 있는 경우엔 다항분포(Multinomial distribution)를 사용하는것이 바람직하다. 예제를 통해 softmax regression 이 무엇인지 알아보자.

다음과 같이 ouput의 값이 동그라미, 네모, 세모 3가지 모양이 있는 데이터셋이 있다고 가정해보자.

만약우리가 x에서의 출력값은 어떤 변수(클래스)일지 나타내는 확률분포를 구해보자.

처음 θclassT(x)\theta_{class}^T (x)의 값은 모든 실수값을 가질 수 있다. 따라서 음수의 값을 양수의 값으로 변환하기 위해 모든 결과값에 exp를 취하여 양수로 변환해 준다.

그런다음 각 클래스의 확률값의 합이 1이 되도록 변환해 준다.

이렇게 각 클래스마다 결과값의 확률의 합이1 인 확률분포로 나타낸 것을 softmax regression 이라고 한다. 다음은 softmax regression을 수학적으로 풀어낸 것이다.

  1. 다항분포를 exponential family distribution으로 표현해야한다.

    T(1)=[1000],T(2)=[0100],T(k1)=[0001],T(k)=[0000]T(1)=\begin{bmatrix}1\\0\\0\\ \vdots \\0 \end{bmatrix} , T(2) = \begin{bmatrix}0\\1\\0\\ \vdots \\0 \end{bmatrix} , T(k-1)=\begin{bmatrix}0\\0\\0\\ \vdots \\1 \end{bmatrix} , T(k)=\begin{bmatrix}0\\0\\0\\ \vdots \\0 \end{bmatrix}
앞에서의 다른 예제들과 달리 $T(y)\ne y$ 이고 $T(y)$는 k-1 차원의 벡터이다.

k-1 차원인 이유는 k차원이 될 경우 각각의 ouput의 확률을 나타내는 매개변수 ϕ1,ϕ2,ϕ3,,ϕk\phi_1,\phi_2,\phi_3, \dots , \phi_k 가 1{True}=1, 1{False}=1라는 notation 을 사용하여 (T(y))i=1\big(T(y)\big)_i=1{y=iy=i} 로 표현할 수 있다.

η=[log(ϕ1/ϕk)log(ϕ2/ϕk)log(ϕk1/ϕk)]a(η)=log(ϕk)b(y)=1\eta = \begin{bmatrix} \log(\phi_1/\phi_k)\\ \log(\phi_2/\phi_k)\\ \vdots\\ \log(\phi_{k-1}/\phi_k)\\ \end{bmatrix}\\ a(\eta) = -\log(\phi_k)\\ b(y)=1
  • exponential family 로 표현하는 과정

  1. Softmax function 구하기

    Softmax function이란 각각의 벡터들을 0과1 사이의 값으로 변화하여, 모든 벡터들의 합을 1로 만드는 함수이다.

    multinomial distribution 의 link function은 ηi=logϕiϕk\eta_i = \log\frac{\phi_i}{\phi_k}로 주어진다. 또한 우리는 ηk=log(ϕk/ϕk)\eta_k = \log(\phi_k/\phi_k)라는 것을 알고있다.

    link function을 response function으로 변환하기 위해서는 아래의 과정을 거치면 된다.

    eiη=ϕiϕkϕkeηi=ϕiϕkΣi=1keηi=Σi=1kϕi=1ϕ=eηiΣj=1keηje^\eta_i = \frac{\phi_i}{\phi_k}\\ \phi_ke^{\eta i} = \phi_i\\ \phi_k \Sigma_{i=1}^k e^{\eta i} = \Sigma_{i=1}^k\phi_i=1\\ \phi = \frac{e^{\eta i}}{\Sigma_{j=1}^k e^{\eta j}}\\

    이렇게 η\eta로 부터 ϕ\phi를 이끌어내는 함수를 softmax 함수라고 한다.

    GLM의 2번째 가정인 ηi=θiTx\eta_i = \theta_i^Tx를 사용하면 다음과 같다.

    p(y=ix;θ)=ϕi=eηiΣj=1keηj=eθiTxΣj=1keθiTxp(y=i\vert x;\theta) = \phi_i\\ =\frac{e^{\eta i}}{\Sigma_{j=1}^k e^{\eta j}}\\ =\frac{e^{\theta_i^Tx}}{\Sigma_{j=1}^k e^{\theta_i^Tx}}
  1. hθ(x)**h_\theta(x) 구하기**

profile
이것저것
post-custom-banner

0개의 댓글