HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
기계학습개론
기계학습개론
/
#18. Sequential Learning

#18. Sequential Learning

선택
fin
참고 자료
https://haesummy.tistory.com/entry/NLP%ED%9E%88%EB%93%A0-%EB%A7%88%EC%BD%94%ED%94%84-%EB%AA%A8%EB%8D%B8-HMMHidden-Markov-Model
텍스트
May 7, 2024
보편적으로 사용되는 분야 (정해진 것은 아님,classification model이 regression할 수 있도록 할 수 있다)
Classification
차수 (일주일 단위)
11-1.
📌
NB를 기반으로 한 Sequential Learning이다(따라서 train이라는 개념이 없다). → Unsupervised, Supervised랑 다른 개념으로 생각하자! 애매하다!
 

[NER]

What
Sequential Learning의 문제들 중 하나이다.
entity의 name을 인식하는 문제이다.
notion image
밑과 같이 feature를 추출해서 label을 매긴다.
notion image
notion image
feature만 가지고 하면 틀린게 존재할 수도 있다. 예를 들어 지원은 사람 이름일 수도, 동사일 수도 있다. 그래서 각 단어 간의 dependency를 고려해서 모델을 설계해 주기도 한다. 이가 HMM이다.
 

[MM]

First Order Markov Model
날씨로 예제를 들어서 설명해 볼 것이다.
First order markov 모델에서는 ‘전 날’의 날씨 만을 신경 쓴다.
P(x1)을 곱해준 이유는 첫째 날의 날씨를 default로 해준 것이다. 수식은 밑의 예제를 통해서 더 잘 이해해 볼 수 있다.
notion image
Example
다음과 같은 table이 주어졌다고 가정해 보자.
notion image
이 때, 첫째 날이 S일 때 다음 7일이 SSRRSCS일 확률을 구해보자.
Solution of First order markov model
우리는 다음과 같이 구할 수 있다.
notion image
만약 first order 모델을 바탕으로 next three day를 예측하면 어떻게 될까?
3^3개의 확률이 나오게 된다.. 계산량이 복잡해 진다는 단점이 있다.. 이를 다이나믹 프로그래밍으로 해결하기도 한다..
notion image
Second Order Markov Model
First order일 때와 비슷하다. 단 이 때는 전전 날, 전 날 모두 default로 가지고 있어야 한다.
notion image
 

[HMM]

HMM
Observation만 남기고, 나머지를 숨기는 모델이다. (= 그냥 관찰을 이용해서 state 구하는 모델이라고 이해하는 것이 더 편하다)
Markov에서 뽑은 observation만 활용한다.
ex. 비가 오면
notion image
📌
예를 들어서 이렇게 생각해 보자!
MM에서는 SCSSC.. 이렇게 state 시퀀스가 주어졌을 때 다음 state의 확률을 구했다면,
HMM에서는
notion image
이런식으로 각 state에 대한 ‘관찰’이 주어졌을 때 다음 state의 확률을 구하는 것이다.
우리는 먼저 State(숨겨진 것)를 구해야 한다. 위에서는 State가 주어지면 그 확률을 구해 보았다. 여기서는 State가 주어지지 않는다. 우리가 DB를 바탕으로 State를 정의하고, 이를 바탕으로 확률을 구해야 한다.
우리는
  • Estimate transition: State이동할 확률
  • Emission Probability: State일 때 Observe할 확률
을 정의해야 한다.
notion image
우리가 정의한 것들을 바탕으로 최종적으로 이런 걸 구하고(state만들고, 확률 mapping하는 것), 이를 바탕으로 밑과 같은 확률을 구한다. (이거 만드는 것이 train 과정이다)
(AACA일 때 1244가 될 확률 예시)
notion image
Viterbi Algorithm
비터비 알고리즘을 활용하면 순차적으로 확률을 매겨줄 수 있다. → sequence 결정
다음과 같이 sequence를 결정할 수 있다.
notion image
notion image
Forward-Backward Algorithm
이 알고리즘을 이용하면 앞의 데이터와 뒤의 데이터를 참고해서 중간 데이터의 state를 결정해 줄 수 있다. →label state 결정
다음과 같이 Sequence를 결정해 줄 수 있다.
Forward, Backward하고 최대값을 Pick한다. (주의: 비터비 알고리즘에서는 가장 높은 걸 Pick 했지만, 여기서는 합한 값을 노드에 넣어준다. 무슨 말인지는 밑 예시를 통해서 이해해 보자)
  • Forward
notion image
notion image
  • Backward
notion image
  • Pick
notion image
Baum-Welch Algorithm
Unspervised로 HMM을 푸는 방법이다.
마찬가지로 Random으로 정의 → 모델 업데이트 → 정의 → .. 의 EM 알고리즘을 통해서 문제를 해결한다.