시작하며
우리가 저번 포스팅에서 배운 Logistic Regression 은 결과값이 0 혹은 1 두가지의 클래스(종류)로만 나오는 Binary Classification 이었습니다.
하지만 우리는 Email 폴더를 구분할 때 직장, 가족, 친구, 취미 등으로 분류할 수도 있고, 날씨만 하더라도 밝음, 흐림, 비, 눈 등 두가지 이상으로 분류할 수 있는 것들이 많습니다.
이렇게 분류에 따른 결과값이 2가지 이상의 클래스로 나올 수 있는 것을 'Multi-Classification' 이라고 합니다. 이제부터 이를 어떻게 하는지 알아보겠습니다.
이번 포스팅은 Logistic Regression을 이해하고 보시면 훨씬 효과적입니다.
[머신러닝] Logistic Regression 이해하기 1
https://box-world.tistory.com/13?category=397062
[머신러닝] Logistic Regression 이해하기 2
https://box-world.tistory.com/14?category=397062
One vs All
위는 세모, 네모, 엑스 세가지로 결과가 분류되는 dataset을 그래프로 나타낸 것입니다.
기존 Binarry Classification에서는 두개의 결과값을 분류해주는 최적의 Decision Boundary 를 찾는 것이 핵심이었습니다.
하지만 Multi-Class의 경우에, 이것을 분류하는 위해서는 One vs All 즉 하나의 실제값에 대해
- (실제값이) 세모 vs 나머지(네모, 엑스)
- (실제값이)네모 vs 나머지(세모, 엑스)
- (실제값이)엑스 vs 나머지(세모, 네모)
세가지 경우에 대해 각각 Binary Classification을 진행하여 이중 가능성을 의미하는 Logistic Regression의 h(x) 값이 가장 큰 경우가 실제값 x에 따른 예측값 y가 됩니다.
예를 들어 실제값 x가 들어왔을 때
- (실제값이) 세모 vs 나머지(네모, 엑스) -> h(x) = 0.3
- (실제값이)네모 vs 나머지(세모, 엑스)-> h(x) = 0.7
- (실제값이)엑스 vs 나머지(세모, 네모)-> h(x) = 0.4
라면 이 경우 들어온 x는 네모라고 예측하는 것입니다.
요약
i개의 클래스를 분류하는 상황일 때 들어온 실제값 x를 y = i라고 가정하고 총 i개의 케이스를 One vs All로 각각 Binary Classification을 하여 h(x)값을 도출합니다.
Logistic Regression의 h(x)는 가능성을 의미하므로 이중 가장 높은 h(x)를 도출한 경우가 해당 실제값 x에 대한 예측값 y가 됩니다.
'AI > Coursera ( Machine Learning )' 카테고리의 다른 글
[머신러닝] 딥러닝의 시작 Neural Network 정복하기 1 (0) | 2020.04.30 |
---|---|
[머신러닝] 모델의 과적합(Overfitting)을 피하기 위한 방법 (1) | 2020.04.30 |
[머신러닝] Logistic Regression 이해하기 2 (0) | 2020.04.30 |
[머신러닝] Logistic Regression 이해하기 1 (0) | 2020.04.30 |
[머신러닝] Feature 선택과 다항 회귀(Polinomial regression) (0) | 2020.04.30 |