ice rabbit programming

[AI] 분류 - SVM, 나이브 베이즈 분류 본문

Development/Machine Learning

[AI] 분류 - SVM, 나이브 베이즈 분류

판교토끼 2021. 1. 13. 03:11

이전의 두 글에서 회귀에 대해서 다루었었다. 이번에는 지도학습의 다른 종류인 분류(Classification)에 대해서 다룰 것이다.

분류는 X에 따라 Y를 분류하는 것으로, 주어진 입력 값이 어떤 클래스에 속할지에 대한 결과 값을 도출하는 것이다. 즉, 어떠한 기준에 따라 0 또는 1의 값을 보내는 모델이다. 여기서 어떠한 기준을 결정 경계(Decision Boundary)라고 부르는데, 데이터를 분류하는 기준 값으로 0인지 1인지를 결정하는 기준 값이다. 보통은 확률 0.5를 기준으로 나눈다.

회귀의 분류에의 적용

이전에 다루었던 회귀를 분류에 적용할 수 있는 방법이 있는데, Logistic Regression이다. 회귀는 이론적으로 무한대의 값을 가질 수가 있으므로(선은 무한하니까), 분류에 사용하기 어렵다. 그렇기 때문에 분류에 적용하기 위해 출력 값을 0~1로 수정한 회귀 모델이 Logistic Regression이다. 이를 사용하면 이진 분류를 해결할 수 있다.
Sigmoid(logistic) 함수를 이용하여 결과 값을 0~1로 수렴시킨다.

SVM(Support Vector Machine)

SVM은 굉장히 널리 쓰였던 방식이다. 최적의 결정 경계(기준 선)을 정의하는 분류 알고리즘 모델이다. 여기서 최적의 결정 경계란 경계가 각 데이터 군(집합)으로부터 최대한 멀리 떨어지는 것을 의미하는데, 결정 경계와 가장 가까이 있는 데이터를 Support Vector로 삼고, Margin(거리)이 가장 큰 경우를 최종 결정 경계로 택하는 방식이다.

SVM은 선형/비선형 분류 모두에 적용이 가능하고, 고차원 데이터도 가능하다. 예를 들어 3차원이라면 결정 경계가 면이 되는 경우이다.

strict하게 포함/제외 여부에 따라 다음과 같이 나눌 수 있다.

  • Hard Margin : Outlier를 Margin 내에 허용하지 않는다. 즉, 대부분의 데이터가 결정 경계에 의해 최적으로 나누어지더라도, 한 개라도 잘못 분류하는 결정 경계는 채택되지 않는다.
  • Soft Margin : Outlier를 Margin 내에 약간 허용한다. 통계를 낼 때 오차를 줄 수 있는 무의미한 Outlier 값을 제거하는 것과 같은 개념이다.

나이브 베이즈 분류

나이브 베이즈 분류는 각 특징이 독립적이라는 가정을 바탕으로, 베이즈 정리를 활용한 확률 통계학적 분류 알고리즘이다. 이 모델은 각 특징이 독립이라면 다른 분류에 비해 결과가 좋고, 데이터도 적게 필요한 장점이 있지만 반대로 독립이 아니라면 결과의 신뢰성이 하락하며, 학습 데이터의 범주에 없는 데이터라면 예측이 어려운 단점이 있다.

베이즈 정리는 다음과 같다.

예시로는 스팸 메일 분류를 들 수 있다. 스팸 메일 분류 시에 단어를 체크하여 단어들에 대한 확률로 스팸메일을 구분한다면, P(스팸단어|전체단어) > P(정상단어|전체단어) 이면 스팸메일로 분류하는 방식이다.

다음 글에 이어서 KNN과 평가 지표에 관해서 다루도록 하겠다.