[지도학습] - 알고리즘 분류

joonsooan·2023년 7월 17일
1

데이터 분석

목록 보기
1/2

지도학습의 알고리즘에는 크게 3가지의 형태가 존재한다.

1. 의사결정나무(Decision Tree)
2. SVM
3. KNN

🌳 의사결정나무

의사결정나무는 분류와 예측에서 자주 사용되는 도구이고, 분류 결과를 인간이 쉽게 이해할 수 있는 규칙으로 표현해주는 강점이 있다.

의사결정나무의 첫 번째 질문을 뿌리노드(Root Node), 질문에 대한 대답을 가지(Link), 중간 질문을 내부노드(Internal Node), 결정 결과를 잎(Leaf)이라고 한다.

모든 의사결정나무의 알고리즘들은 목표변수(target) 측면에서 부모노드보다 순수도(purity)가 높은 자식노드들이 되도록 데이터를 반복적으로 더 작은 집단으로 나누는 과정을 거친다.

파이썬 라이브러리 중 Scikit-Learn은 의사결정나무를 사용할 때 엔트로피를 순수도의 척도로 이용한다. 이때 엔트로피가 높을수록 분류의 성능이 낮고, 낮을수록 의미 있는 분류가 된다.

정보이득(Information gain)은 엔트로피가 분류에 적용되었을 때 특정 feature를 통해 얻을 수 있는 정보량이다. 쉽게 말해 우리가 알고자 하는 타겟이 있을 때 특정 feature가 얼마나 많은 정보를 제공할 수 있는 지 확인하는 과정이다.

의사결정나무를 이용해 분류를 진행하는 과정에서 Terminal Node가 많아질수록 모형이 train data에 최적화된다. 이로 인해 과대적합(Overfitting) 이슈가 발생하거나 연산량이 많아져 연산비용이 증가하게 되고, 이를 방지하기 위해 가지치기(Pruning)를 사용한다.

➡️ SVM(서포트 벡터 머신)

SVM(서포트 벡터 머신)은 분류의 기준, 즉 결정 경계(decision boundary)를 정의하고 그 기준에 맞게 데이터를 분류하는 모델이다.

결정 경계에 영향을 미치는 샘플들은 서포트 벡터(support vector)라고 부른다. 결정 경계를 정의하기 위해 최적의 hyperplane을 찾아야 하는데, 데이터로부터 가장 멀리 떨어진 결정 경계가 가장 최적이다.

결정 경계에서 서포트 벡터까지의 거리를 마진(margin)이라고 한다. 마진의 길이가 짧은 경우 hard margin, 긴 경우 soft margin이라고 칭한다. 마진은 모델의 하이퍼파라미터 C로 인해 조절이 가능하다.

C가 커질수록 마진의 폭이 줄어들고(hard margin), 적은 샘플로 결정경계를 결정하기 때문에 Overfitting의 우려가 있다. 반대로 C가 작아질수록 마진의 폭이 커지고(soft margin), 거의 모든 샘플이 서포트 벡터가 되므로 Underfitting의 우려가 있다.

만약 선형으로 분류하기 까다로운 데이터 분포를 만났을 때, Kernel Trick을 사용하여 고차원으로 데이터를 mapping한 후 변환된 데이터의 내적을 구해 결정 경계의 식을 도출할 수도 있다.

🛣️ KNN(K-Nearest Neighbors)

KNN은 거리 기반 분류 모델로, 새로운 데이터로부터 거리가 가까운 K개의 다른 데이터를 참고하여 가장 빈도 수가 높게 나온 데이터의 레이블로 분류하는 알고리즘이다.

데이터 학습이 따로 필요하지 않기 때문에 속도가 가장 빠른 모델이다.

KNN의 거리측정방법으로 유클리드 거리(Euclidean Distance), 맨해튼 거리(Manhattan Distance), Hyperparameter K를 주로 사용한다.

KNN은 거리 기반 분류 모델이기 때문에, 데이터 간의 범위를 맞춰줘야 한다. 이를 위해 정규화와 표준화 두 가지의 방법을 사용할 수 있다.

본 포스트는 OUTTA AI 부트캠프 2023 자료를 참고하여 작성된 글입니다

0개의 댓글