Book Title : Hands-On Machine Learning with Scikit-Learn, Keras & TF
지은이 : 오렐리앙 제롱
옮긴이 : 박해선
출판사 : 한빛미디어
코드 출처
https://github.com/rickiepark/handson-ml2
3. 분류
책에서는 Mnist 데이터셋을 이용한 이중/다중 분류와 성능 평가를 해보지만 포스팅에서는 OvO와 OvR의 차이점을 간단하게 포스팅합니다.
이진 분류 알고리즘을 사용해 다중 분류가 가능한가?
- 가능합니다.
- 데이터 세트르를 여러 이진 분류 데이터 세트로 분할하고 각각에 모델을 맞추는 것인데, 대표적인 접근 방식에는 일대일 전략, 일대다 전략입니다
이진 분류 알고리즘을 통한 다중 분류 전략
1. OvR(One-Vs-Rest) : 일대다 전략
- One-vs-All이라고도 불림
- 말 그대로 한 개의 클래스와 나머지 클래스를 이진 분류기에 학습시키는 것인데 예를 들어 설명하겠습니다.
- 클래스 'a', b', 'c'가 있는 경우 아래와 같이 나눠서 학습합니다.
- 1번 이진 분류 알고리즘 : 'a' vs 'b' , 'c'
- 2번 이진 분류 알고리즘 : 'b' vs 'a', 'c'
- 3번 이진 분류 알고리즘 : 'c' vs 'a', 'b'
- 각각의 이진 알고리즘이 클래스 예측을 확률로 하게 되어서 가장 높은 확률을 갖는 클래스를 최종 예측으로 선정합니다
- 클래스의 개수만큼 분류기를 생성해야 합니다.
2. OvO(One-vs-One) : 일대일 전략
- 말 그대로 한 개의 클래스와 다른 한개의 클래스를 이진 분류기에 학습시키는 것인데 예를 들어 설명하겠습니다.
- 클래스 'a', b', 'c' , 'd'가 있는 경우 아래와 같이 나눠서 학습합니다.
- 1번 이진 분류 알고리즘 : 'a' vs 'b'
- 2번 이진 분류 알고리즘 : 'a' vs 'c'
- 3번 이진 분류 알고리즘 : 'a' vs 'd'
- 4번 이진 분류 알고리즘 : 'b' vs 'c'
- 5번 이진 분류 알고리즘 : 'b' vs 'd'
- 6번 이진 분류 알고리즘 : 'c' vs 'd'
- 이것도 OvO전략과 마찬가지로 각 분류기는 확률로 예측을 하게 됩니다. 모든 분류기의 확률을 다 더해서 확률이 가장 높은 클래스를 최종 예측으로 선정합니다.
- 모델이 많이 만들어지는 단점이 있습니다. (모델 수 : (classes * (classes - 1)) / 2)
'Study > Hands-On Machine Learning' 카테고리의 다른 글
[Book] 6. 결정 트리 (0) | 2022.04.23 |
---|---|
[Book] 5. 서포트 벡터 머신 (0) | 2022.04.21 |
[Book] 4. 모델 훈련 (0) | 2022.04.20 |
[Book] 2. 머신러닝 프로젝트 처음부터 끝까지 (0) | 2022.04.03 |
[Book]1. 한눈에 보는 머신러닝 (0) | 2022.04.02 |