Logistic Regression
- Multi class classification -
아래 내용은 Andrew Ng 교수님의 강의와 자료를 기반으로 학습한 내용을 정리하여 작성하였습니다.
개인의 학습 내용이기에 잘못 해석 및 이해하고 있는 부분도 있을 수 있으니, 다양한 자료를 기반으로 참고하시는 걸 추천드립니다.
지금까지 2개의 class를 분류하는 과정을 살펴보았습니다. 그럼 이번 글에서는 2개 이상의 Multi class classification하는 방법에 대해서 알아보도록 하겠습니다. 아래 예시를 보죠, Email을 그 전에는 Spam이냐 아니냐 2가지로 분류를 했다면 이번엔 Work, Fiends, Family 등 여러가지 class로 분류합니다. 또 다른 예시로 날씨가 있겟죠, 맑음, 흐림, 비, 눈( 맑으면서 비가 올수도 있으나 여기서는 각각 독립적인 class로 보도록 하죠) 등으로 나뉠 수 있죠.
class가 2개가 아닌 3, 4개.. 그 이상의 class로 분류한다고 하더라도 앞에서 다룬 2개의 class로 나뉜 큰 맥락이 바뀌진 않습니다. 그러한 이유는 각 class를 나눌 때 해당 class를 제외한 나머지를 그 외 class로 하나로 묶음으로서 2개의 class로 분류하는 과정과 동일하기 때문입니다.
즉, one vs all, one vs rest 로 표현이 가능하지요.
좌측의 graph는 2개의 class로 나뉘는 과정입니다. 우측의 graph는 3개 이상의 class로 표현한 graph이구요.
Binary classification은 이 전에서 자주 봐왔듯이 Linear boundary로 표현할 수 있었죠. 그렇다면 Multi-class classification은 어떻게 Boundary를 표현할까요? 위에서 말씀드린 one vs all, one vs rest 을 잘 생각하고 아래 그림을 보시죠.
이제 좀 이해가 되시나요? class1에 대해서 분류할 때는 class2,3 을 하나의 class, 즉 rest class로 묶어 분류합니다. class1이 아니라면 신경쓰지 않는다는 의미지요, 다시 말해서 class1이거나 아닌(class2 or 3) 확률이 되는거죠.
위 과정을 생각하면 Logistic regression 분류는 각 class i에 대해 y = i일 확률을 예측하도록 학습을 시키는 것입니다. 새로운 input x에 대해서 예측하기 위해서 각 i에 대한 h(x)가 최대가 되는 것을 선택하여 분류합니다.
중간에 학습에 필요한 Cost function과 Gradient Descent는 동일하구요. 이해 되시나요?
그럼 이상으로 Logistic regression에서 multi class classification에 대해서 글을 마무리 하겠습니다.
감사합니다.
'AI > Machine Learning' 카테고리의 다른 글
Non-linear hypotheses (0) | 2018.01.30 |
---|---|
Solving the problem of overfitting (2) | 2018.01.25 |
Logistic Regression - Cost function / Gradient descent (0) | 2018.01.22 |
Logistic Regression - Model representation / Decision boundary (0) | 2018.01.22 |
Linear Regression - Gradient Descent (0) | 2018.01.17 |