4. markov model
욕설을 분류한다고 했을 때,
상태 : 형용사, bj명, 욕(물론 실제 데이터에서는 상태는 더 많음. 다 할 수 없어 가정)
1차 마코프 모델로 했을 때, 생성될 수 있는 관측 데이터는 3^2 개
욕이 나왔는데 그전에 앞에 나온 상태가 bj-명사-bj 일 확률은 얼마인가?
P(O|A) = P(O1=bj, O2=명사, O3=bj | A)
= P(bj,명사,bj) =
= P(욕)
5. markov model (2)
2차, 3차? 로 갈 경우 관측데이터의 증가
많은 파라미터 값 추정이 필요하고, 그로 인한 계산 복잡도가 증가
주어진 데이터에 의해서 몇차까지 사용할 것인지에 대한 판단이 필요
6. Hidden markov model
1. 앞의 markov model에서 상태를 볼 수 없게 만듬.
2. 이것을 상태에 대한 은닉이라고 하여 은닉마코프모델이라고 한다.
3. 관측 데이터의 크기에 대한 문제(0차: m-1개, 1차: m(m-1), 2차 m^2(m-1)개)
4. 차수를 늘릴 수록 정확하겠지만, 기하급수적으로 늘어나게 됨
7. 1. 모든 상태에서 각 상태를 관측 가능하다
2. 모든 상태에 대한 각 상태의
조건부확률 값을 갖고 있음.
Hidden markov model
8. 무엇이 상태라는 것일가?
상태는 몇개인가?
확률 분포는 어떻게?
실제상태정보의 알 수 없음.
관측데이터(실제 학습 데이터)를 가지고 위 그림처럼(HMM) 만들어야 한다.
Hidden markov model in real world
9. What we find in data
세가지 파라미터가 우리가 찾아야 하는 것. 이것을 “학습”하는 것이다.
10. Build HMM
MLE가 안되..왜? 상태를 나타내는 변수를 확정지을 수 없다.(욕,bj명,명사)
latent variable model 이라고 부름 (이 latent variable 을 추정하는 단계가 필요)
EM(기대값 최대화) 알고리즘의 적용
p(욕| O,세타) 를 이용하여, p욕(O|세타) 이것을 찾아내야한다.
P(O|세타^new) > P(O|세타) 로
11. 1)t 라는 순서(시간)에 Si 를 지나갈 확률
2)t 라는 시간에 Si, t+1에 Sj에 있을 확률
17. after
1. 데이터에 맞춘 러닝 알고리즘인가?
2. 갖고 있는 데이터에 대한 이해 먼저, 무엇을 찾아낼것인가.
3. 모델에 대한 이해가 더 나은 결과를 가져온다. 어떤 데이터를 넣어야하나? 이
런걸 생각해볼 수 있고, 피쳐선택등에 이롭다. 왜 이런 결과가 나오는지에 대한
가늠? 파악이 가능하다.
4. 결국엔 통계모델