MLE
or Maximum Likelihood Estimation, 최대 우도법 Create : 2024년 10월 14일 24:00 Update : 2025년 8월 22일 23:31
Posterior를 찾아내는데 있어 Prior을 아는 것을 힘드므로, Prior를 균일하게 두고 이에 따라 Likelihood를 최대가 되게 하여 Posterior를 커지게 하는 방법이다. 이는 MAP 에서 Prior를 균등 분포로 두느냐에 차이라고도 할 수 있다.
P ( θ ∣ D ) = P ( D ) P ( D ∣ θ ) P ( θ )
Likelihood : P ( D ∣ θ ) = P ( x 1 , x 2 , ⋯ , x N ∣ θ ) = ∏ t P ( x t ∣ θ )
⇒ IID samples D 에 대하여 likehood를 추정하는 것으로, 독립에 의해 Multiplication Rule이 적용 가능하다.
이 중, arg θ max 를 구하는 것이므로, log를 씌워도 동일하다. 따라서 곱이 합으로 나타난다.
arg θ max log P ( D ∣ θ ) = arg θ max log t ∑ P ( x t ∣ θ )
보통 θ 에 대해 미분해 극점을 찾지만, 항상 극대점이라는 보장이 없으므로 분포에 따라 이계도함수까지 확인을 하거나, 다른 최적화 기법을 활용해야 할 수도 있다.
성공의 확률이 θ 가 parameter이므로, P ( x = 1 ) = θ , P ( x = 0 ) = 1 − θ
P ( x ∣ θ ) = θ x ( 1 − θ ) 1 − x
와 같이 Parametric Methods 방법을 따라 분포를 정해놓고 전개된다.
arg θ max log P ( D ∣ θ ) = arg θ max t ∑ [ x t log θ + ( 1 − x t ) l o g ( 1 − θ )]
이 때, Lagrange function: L = t ∑ [ x t log θ + ( 1 − x t ) l o g ( 1 − θ )]
이를 최소화하기 위한 convex를 찾으면,
∂ θ ∂ L = t ∑ [ x t θ 1 − ( 1 − x t ) 1 − θ 1 ] = 0
t ∑ [ x t − θ ] = 0 → θ = N t ∑ x t
⇒ N 은 총 데이터의 개수.
P ( x = v i ) = θ i , ∑ i θ i = 1
P ( x ∣ θ ) = i ∏ θ i 1 ( x = v i )
arg θ , i ∑ θ i = 1 max P ( D ∣ θ ) = arg θ max t ∑ i ∑ [ 1 ( x t = v i ) log θ i − λ ( i ∑ θ i − 1 )]
: Lagrange Multiplier 를 이용해, θ i 의 합이 1임을 constraints로 하는 convex optimizaiton을 해결한다.
∂ θ i ∂ L = t ∑ 1 ( x t = v i ) θ i 1 − λ = 0
∂ λ ∂ L = − i ∑ θ i + 1 = 0
∴ θ i = N t ∑ 1 ( x t = v i ) , λ = N
for Supervised Learning
D = { x t , r t } t = 1 N : r t 는 one-hot vector이다.
P ( D ∣ θ ) = t ∏ P ( x t , r t ∣ θ ) = t ∏ P ( r t ∣ θ ) P ( x t ∣ r t , θ ) = t ∏ P ( r t ∣ θ ) i ∏ P ( x i t ∣ r t , θ )
: x i 들 끼리는 IID함을 가정한다.
θ = { θ ˙ , θ ¨ } 라 할 때,
θ ˙ : r 에 대한 parameter set.
θ ¨ : x 에 대한 paratmeter set.
log P ( D ∣ θ ) = t ∑ log P ( r t ∣ θ ) + t ∑ i ∑ log P ( x i t ∣ r t , θ )
= t ∑ log k ∏ P ( c k ∣ θ ˙ ) r k t + i ∑ k ∑ t ∑ r k t log P ( x i t ∣ c k , θ ¨ )
arg θ max P ( D ∣ θ ) = ⎩ ⎨ ⎧ arg max θ ˙ , ∣ θ ˙ ∣ = 1 t ∑ log ∏ k P ( c k ∣ θ ˙ ) r k t arg max θ k , i ¨ , ∣ θ k , i ¨ ∣ = 1 t , r k t = 1 ∑ log P ( x i t ∣ c k , θ k , i ¨ ) for all k and i
: r k t 에 대해서, 0인 경우는 의미가 없으므로 1인 경우에만 대해 합산한다.
이에 대한 convec optimization을 구하면
P ( c k ) = N t ∑ r k t : θ k ˙
P ( x i = v j ∣ c k ) = t ∑ r k t t ∑ r k t 1 ( x i t = v j ) : θ ¨ k , i , j
θ = μ , σ 2
P ( x ∣ θ ) = 2 π σ 1 exp ( − 2 1 σ 2 ( x − u ) 2 )
arg θ max t ∑ log P ( x t ∣ θ ) = arg μ , σ 2 max t ∑ [ − 2 1 log 2 π − 2 1 log σ 2 − 2 1 σ 2 ( x t − μ ) 2 ]
위에서 2 1 log 2 π 는 최적화 대상이 아니므로, 제외하고 생각한다.
이에 대한 convec optimization을 구하면
∂ μ ∂ L = t ∑ [ σ 2 x t − μ ] = 0
∂ σ 2 ∂ L = t ∑ [ 2 σ 4 − σ 2 + ( x t − μ ) 2 ] = 0
μ = N t ∑ x t ; sample mean
σ 2 = N t ∑ ( x t − μ ) 2 = N t ∑ ( x t ) 2 − μ 2 ; sample variance
for Supervised learning
log P ( x i t ∣ c k , θ k , i ¨ ) for all k and i = 2 π σ k , i 1 exp ( − 2 1 σ k , i 2 ( x i t − u k , i ) 2 )
μ k , i = t ∑ r k t t ∑ r k t x i t
σ k , i 2 = t ∑ r k t t ∑ r k t ( x i t − μ k , i ) 2 = t ∑ r k t t ∑ r k t ( x i t ) 2 − μ k , i 2
k class에 대해서, i 번째 feature에 대한 paramter들이 된다.
MLE for MVN
θ = { μ , Σ }
P ( x ∣ θ ) = ( 2 π ) d /2 ∣Σ ∣ 1/2 1 exp ( − 2 1 ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) ≡ N ( x ; μ , Σ )
arg θ max t ∑ log P ( x t ∣ θ ) = arg μ , Σ max t ∑ [ − 2 d log 2 π − 2 1 log ∣Σ∣ − 2 1 ( x − μ ) ⊤ Σ − 1 ( x − μ ) )]
이에 대한 convex optimization을 구하면
∂ μ ∂ L = t ∑ 2 1 ( Σ − 1 + Σ − ⊤ ) ( x t − μ ) = 0
∂ Σ − 1 ∂ L = t ∑ 2 1 [ Σ ⊤ − (( x t − μ ) ⊤ ( x t − μ ) ) ⊤ ] = 0 I
μ = N t ∑ x t
Σ = N t ∑ ( x t − μ ) ( x t − μ ) ⊤
for Supervised Learning
log P ( x i t ∣ c k , θ k , i ¨ ) for all k and i = ( 2 π ) d /2 ∣ Σ k ∣ 1/2 1 exp ( − 2 1 ( x − μ k ) ⊤ Σ k − 1 ( x − μ k ) ) ≡ N ( x ; μ , Σ )
Σ k = t ∑ r k t t ∑ r k t ( x t − μ k ) ( x t − μ k ) ⊤ = t ∑ r k t t ∑ r k t x t ( x t ) ⊤ − μ k μ k ⊤ : k class의 Covariance
μ k = t ∑ r k t t ∑ r k t x t : k classs의 Expectation