MLE(maximum likelihood estimation)
-> 어떤 시행의 결과에 대해서 가장 발생 가능성이 높은 가설 H를 찾는 방법
그림과 같이 A와 B 모델의 결과를 나타내는 데이터가 5개가 있다. 주어진 데이터를 가지고 물어보는 데이터가 어느 데이터 모델인지 예측을 해보자
1. 주어진 모델들의 데이터와 물어보는 데이터가 앞면과 뒷면이 몇 번 나왔는지 구한다.
2. 각 모델을 분류(classification)를 하고 분류한 표에 해당 모델의 데이터 값을 정리한다.
3. 주어진 데이터에서 각 모델에 대한 precision을 구한다.
A모델 : 주어진 데이터 3개에서 실제 앞면이 24번 나온 값에 앞면이 24번, 뒷면이 6번의 합으로 나눠준다.
-> 0.8
B 모델 : 주어진 데이터 2개에서 실제 앞면이 9번 나온 값에 앞면이 9번, 뒷면이 11번의 합으로 나눠준다.
-> 0.45
EM(Expectation-Maximization)
->주어진 데이터에 대한 모델을 모르고, 물어보는 데이터에 대한 모델을 물어볼 때
->숨겨진(hidden)(관측되지 않은(latent, unobserved)) 변수 및 모수를 추정해야 함
->EM은 부분적으로 관측된 데이터로부터 숨겨진 변수를 학습하는 절차다.
X : 관측된 변수(데이터)
Z : 숨겨진 변수(데이터) ->hidden variable (관측할 수 없는 변수)
θ : 모델에 대한 매개변수
<E-step> - 지정된 모형에 따라 숨겨진 변수에 기댓값을 할당한다.
1. 관측된 변수(X) 찾기
1) X(관측된 변수)를 임의로 설정 - X = {x1, x2, x3, x4, x5}
2) 임의로 설정한 X(관측된 변수)의 값을 앞면의 수로 설정한다. - x1 = 5, x2 = 9, x3 = 8, x4 = 4, x5 = 7
2. θ(모델)의 값을 초기화 - 임의로 지정 ( A = 0.6 , B = 0.5)
3. 관측된 변수(X)의 값들이 어느 모델인지(숨겨진 변수(Z)) 판별
<example>
x1의 데이터는 앞면이 5번 나왔다.
1) 만약 x1이 θA일 경우 P(z1 = A | x1) = 0.45
2) 만약 x1이 θB일 경우 P(z1 = B | x1) = 0.55
<M-step> - 확률을 최대화하는 매개변수 업데이트
θ(모델)의 값이 업데이트되었다. 이 과정을 계속 반복시켜 최적화된(optimaied) 값을 찾는다.
<example>
soft clustering EM
soft clustering에서는 숨겨진 데이터(Z)의 값을 어느 한 θ(모델)로 한정하지 않고 관측된 데이터(X)가 각 θ(모델) 일 확률을 모두 고려를 한다.
K-means clustering EM
k clustering은 분리형 군집화 알고리즘으로 각 군집은 하나의 중심을 가진다. 각 개체는 가장 가까운 중심에 할당되며, 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성한다. 해당 알고리즘은 군집 수(k)를 초기화시켜줘야 한다. 즉 k를 가정하여 시행해야 한다.
k-mean는 초기 값을 랜덤 하게 정하는 알고리즘이어서, 초기값에 따라 결과가 달라질 수 있다. 또한 군집의 크기에 다를 경우 제대로 작동하지 않을 수 있다. k-means의 복잡성은 O(n)으로 무겁지 않은 알고리즘이다.
'AI > Machine Learning' 카테고리의 다른 글
[머신 러닝] Agglomerative(bottom-up) , top-down(divisive) - 컴도리돌이 (0) | 2020.10.30 |
---|---|
[머신 러닝] 가우시안 혼합 모델(Gaussian Mixture models) - 컴도리돌이 (0) | 2020.10.23 |
[머신 러닝] performance evaluation(precision,recall) - 컴도리돌이 (0) | 2020.10.22 |
[머신 러닝] Overfiting - 컴도리돌이 (0) | 2020.10.21 |
[머신러닝] Supervised and Unsupervised , MLE - 컴도리돌이 (0) | 2020.10.20 |