(사전에 필요한 것)
training set
문서들마다 어떤 클래스에 속하는지 라벨링을 해준다.
🔍 Vector space classification
새로운 문서가 어떤 클래스(vector space)에 속하는지 분류하는 것
구분선을 찾아야한다!
✔ 방법 1. Rocchio 알고리즘
- Relevance feedback을 이용한다.
- ※ text-classification과 relavance feedback 차이
- text-classification은 training set이 먼저 주어진다.
- relavance feedback은 결과에 대해 사용자가 다시 체크한다.
- 기본 아이디어 : 각 클래스의 centroid를 구한다. 그리고 제일 가까운 centroid의 클래스로 분류한다.
- centroid : 클래스의 모든 vector 값을 더하고 클래스의 전체 문서 갯수로 나눈다.
- seperator : 서로 다른 클래스의 centroid에서 같은 거리인 부분을 선으로 긋기
- ※ Rocchio과 Naive Bayes 차이
- Rocchio는 거리 기반이고, Naive Bayes는 확률 기반이다.
- Rocchio는 multimodal(군집이 여러개)일 때는 잘 작동하지 못한다.
- 이유 : multimodal 일 경우, centroid가 의미 없는 곳에 생기기 때문에 문서 분류의 정확도가 떨어질 수 있다.
✔ 방법 2. kNN 알고리즘 (k nearest neighbors)
- 가장 가까운 k개의 이웃의 class를 보고 classification을 결정
- k개에서 가장 많이 나온 class로 결정한다.
- Rocchio와 Naive Bayes보다 정확도가 좋다. 하지만 분류시 시간이 오래걸려서 잘 안쓰인다.
- Probabilistic kNN : 확률로 표현
'검색 모델' 카테고리의 다른 글
Neural 신경망 검색 알고리즘 (0) | 2024.08.09 |
---|---|
Hierarchical Clustering (0) | 2024.08.09 |
Flat Clustering (0) | 2024.08.09 |
언어 모델 (0) | 2024.08.09 |
확률 모델 (0) | 2024.08.09 |