목차
안녕하세요. 오션라이트에이아이 백승기연구원입니다.
머리글
이번 글은 분류 알고리즘의 종류에 대해서 좀 더 알아보도록 하겠습니다.
K-Nearest Neighbor(KNN)
K-NN 알고리즘은 판별하고 싶은 데이터와 인접한 K개수의 데이터를 찾아, 해당 데이터의 라벨이 다수인 범주로 데이터를 분류하는 방식입니다.
K값에 따라서 주어진 데이터의 라벨이 달라질 수 있기 때문에 K를 적절하게 조정하는것이 필요합니다.
또한 K가 짝수일 경우 범주 내의 데이터가 같아져서 분류가 불가능한 상황이 올 수 있기 때문에 K는 홀수로 정하는것이 좋습니다.
그림 2.와 같이 K가 1일 경우에는 학습데이터에서만 높은 정답률을 보이지만 새로운 데이터에 대한 예측이 어려운 Overfitting 현상이 발생하게 됩니다.
반대로 K가 100이 될 경우에는 모델이 너무나 일반화되어서 학습오류가 줄어들지 않는 Underfitting 현상이 발생하게 됩니다.
따라서 K의 수를 적절하게 조정하고 알맞은 K를 찾는것이 K-NN에서 중요하다고 할 수 있습니다.
Decision Tree
Decision Tree는 데이터에 있는 규칙을 통해 데이터셋을 분류하거나 예측하는 모델입니다.
그림 3.을 통해 Decision Tree의 기본적인 구조를 알아보도록 하겠습니다.
Root Node는 깊이가 0인 꼭대기 Node를 말합니다.
Leaf Node는 자식노드가 없는 마지막 Node입니다.
Intermediate Node는 Root Node와 Leaf Node 사이에 있는 Node입니다.
Root Node의 질문을 시작으로 Intermediate Node를 통하여 Leaf Node까지의 의사결정을 마친 후 그 결과에 통해 예측을 하는 모델입니다.
Decision Tree 모델은 이해와 해석이 용이하여 알아보기가 쉽고 예측속도와 성능이 좋습니다.
하지만 주어진 데이터의 특성에만 치중하면 Overfitting이 발생하기 쉽기 때문에 그에 대한 대처가 필요합니다.
Random Forest
Random Forest는 Decision Tree가 가지고 있는 Overfitting 문제를 해결하기 위해 고안한 방법입니다.
Random Forest는 기본적으로 여러개의 Decision Tree가 모인 모델입니다.
다수의 Decision Tree 중에서 임의의 특징(Random Features)에 대한 결과를 모아 그 결과들 중 가장 많이 나온 결과값을 최종 결과값으로 정하는 구조로 되어있습니다.
Random Forest의 장점
1. 여러개의 Decision Tree에서 서로 다른 특징들을 토대로 결과값을 산출하기 때문에 Overfitting의 문제점을 해결 할 수 있습니다.
2. 데이터셋의 크기가 크더라도 결과예측의 정확도가 높습니다.
3. Decision Tree의 모든 Node를 이용하는 것이 아니기 때문에 데이터의 유실이 있더라도 예측률을 유지할 수 있습니다.
Naive Bayes
Naive Bayes는 데이터가 각 클래스에 속할 특징 확률을 계산하는 조건부 확률을 기반으로한 분류 방법입니다.
Naive는 예측한 특징이 상호 독립적이라는 가정 하에 확률계산을 단순화한 것이며, 모든 변수들의 특징의 가중치가 동등하다고 가정합니다.
Bayes는 입력 특징이 클래스 전체의 확률 분포대비 특정 클래스에 속할 확률을 'Bayes 정리'를 기반으로 계산한 것을 말합니다.
Naive Bayes를 그림 5.의 Bayes정리에 맞추어 변수들을 정의하면,
H는 분류하고자 하는 Class라고 할 수 있고(종속변수),
E는 Input의 특징벡터가 됩니다(독립변수).
Support Vector Machine(SVM)
Support Vector Machine은 주어진 데이터들을 분류하는 최적의 결정경계(Decision Boundary)를 찾는것입니다.
그림 6.를 예시로 설명하자면 Support Vector는 결정경계와 가장 가까이에 있는 데이터를 말하며 각각의 Support Vector간이의 거리를 Margin이라고 합니다.
따라서 Margin이 최대화 되는 결정경계를 찾는것이 Support Vector Machine의 목적입니다.
그림 7.을 예시로 보자면 초록색 선이 다른선들 보다 각 집단의 Support Vector와의 Margin이 크기 때문에 최적의 Decision Boundary라고 할 수 있습니다.
마치며
지금까지 머신러닝의 지도학습에 관련된 내용에 대해서 정리해 보았습니다.
다음에는 비지도 학습에 대해서 알아보도록 하겠습니다.
'바삭한 인공지능' 카테고리의 다른 글
바삭한 인공지능(딥러닝) (0) | 2023.01.27 |
---|---|
바삭한 인공지능(비지도 학습 / 강화학습) (0) | 2023.01.17 |
바삭한 인공지능(ML 이란? / 회귀와 분류) (0) | 2023.01.11 |
바삭한 인공지능(분산처리기술) (0) | 2023.01.11 |
바삭한 인공지능(빅데이터의 종류) (0) | 2023.01.11 |
댓글