머신러닝과 빅데이터 분석/Machine Learning(지도학습)

분류 분석 2

Zoo_10th 2024. 3. 15.

1. 앙상블 모델

여러 개의 분류기를 생성하고 그 예측을 결합하여 보다 정확한 최종 예측을 도출하는 기법을 앙상블(Ensemble) 모델이라고 한다. 이미지, 영상, 음성, 자연어 등 비정형 데이터의 분류는 딥러닝 모델이 뛰어난 성적을 얻고 있지만, 대부분의 정형 데이터 분류에는 앙상블 모델이 뛰어난 성능을 나타내고 있다. 대표적으로 랜덤 포레스트, 그레디언트 부스팅(GBM) 등이 있으며, 사용하기 쉬울 뿐만 아니라 성능 역시 뛰어난다.

1-1. 앙상블의 유형

1) 배깅(Bagging)

배깅(Bagging)은 부트스트랩 집계(Bootstrap Aggregating)의 줄임말로, 여러 개의 부트스트랩을 집계하는 알고리즘이다. 배깅의 가장 큰 특징은 복원 추출을 활용한다는 점이다. 원본 데이터로부터 복원 추출을 진행하기 때문에, 알 수 없던 모집단의 특성을 더 잘 반영하므로 분산이 작아지고 예측력을 향상시키는데 기여할 수 있다.

배깅은 샘플을 복원 추출한 부트스트랩을 여러 개 생성하고, 같은 알고리즘의 모델로 결과를 만든다. 그리고 각 알고리즘에서 추출한 결과값을 다수의 결과로 합쳐서 최종 결과를 투표 형식으로 추출한다.

2) 보팅(Voting)

보팅은 하나의 데이터셋에 다양한 모델을 활용하여 예측한 값을 투표 형식으로 결정하는 것을 의미한다. 이를 통해 여러 모델의 예측 결과를 종합하여 보다 정확한 예측을 할 수 있다. 보팅은 분산이 작고 예측력을 향상시킬 수 있기 때문에, 대규모 데이터 분류에서 흔히 사용되는 기법 중 하나이다.

 - Hard voting: 다수의 분류모델의 예측 결과값을 다수결로 최종 class를 결정한다.

 - Soft voting: 다수의 분류모델의 예측 결과값간 확률을 평균하여 최종 class를 결정한다.

3) 부스팅(Boosting)

여러 개의 약한 학습기(깊이가 얕은 트리)를 순차적으로 학습-예측하면서, 잘못 예측한 데이터에 대해 오차를 보완하는 방식으로 앙상블하는 방법이다.

Boosting은 앙상블 모델의 유형 중 하나로, 여러 개의 약한 학습기를 사용하여 예측을 수행한다. 각 학습기는 이전 학습기가 예측을 잘못한 데이터에 대해 가중치를 부여받아 학습된다. 이렇게 학습된 다수의 약한 학습기들의 예측 결과를 결합하여 보다 정확한 최종 예측을 수행한다.

Boosting은 높은 예측력을 가지고 있으나, 이전 학습기들이 예측을 잘못한 데이터에 대해 오차를 보정하는 과정에서 학습 속도가 느리고, 과적합(overfitting)의 위험이 있다. 따라서 Boosting 모델을 사용할 때는 하이퍼파라미터를 조정하여 과적합을 방지하고, 학습 속도를 개선해야 한다.

Boosting의 대표적인 알고리즘으로는 그레디언트 부스팅(Gradient Boosting)과 XGBoost(Extreme Gradient Boosting)가 있다. 그레디언트 부스팅은 이전 학습기들이 만든 잔여 오차(residual error)에 대해 새로운 학습기를 학습시키는 방법이다. XGBoost는 그레디언트 부스팅의 단점을 보완하여 학습 속도와 예측력을 개선한 알고리즘이다.

4) 랜덤 포레스트(Random Forest)

랜덤 포레스트는 대표적인 앙상블 모델 중 하나로, 여러 개의 결정트리를 생성하고 이들의 예측 결과를 종합하여 최종 예측 결과를 도출하는 기법이다. 랜덤 포레스트는 배깅(Bagging) 방식의 앙상블 모델 중 하나로, 각 트리 모델마다 데이터의 일부를 랜덤하게 선택하여 학습하고, 이를 결합하여 보다 정확한 예측 결과를 도출한다.

랜덤 포레스트는 대규모 데이터 셋에서 높은 예측력과 안정성을 보이며, 특히 데이터의 특성을 고려하지 않아도 자연스럽게 피쳐의 중요도를 판단할 수 있다는 장점이 있다. 이러한 이유로 랜덤 포레스트는 데이터 분석 분야에서 가장 널리 사용되는 알고리즘 중 하나이다.

랜덤 포레스트의 구성요소는 결정트리와 배깅이다. 결정트리는 트리 구조로 이루어진 모델로서, 각 노드에서의 분기 조건에 따라 데이터를 분할하여 예측 결과를 도출한다. 배깅은 데이터를 무작위로 선택하여 결정트리를 생성하는 알고리즘으로, 다수의 결정트리를 생성하고 이들의 예측 결과를 종합하여 최종 예측 결과를 도출한다.

랜덤 포레스트는 다양한 분야에서 활용되고 있다. 예를 들어, 의료 분야에서는 환자의 질병 발생 여부를 예측하고, 금융 분야에서는 주식 가격 변동을 예측하는 데에 활용된다. 이처럼 랜덤 포레스트는 다양한 분야에서 예측 모델로 활용되며, 높은 예측력과 안정성을 보이기 때문에 매우 유용한 알고리즘 중 하나이다.

2. 서포트 벡터 머신

서포트 벡터 머신(Support Vector Machine, SVM)은 분류, 회귀 모두에 사용 가능한 지도 학습 알고리즘있다. SVM은 결정 경계(Decision Boundary)를 찾는 알고리즘으로, 클래스와 클래스 사이의 간격(margin)을 최대화하는 결정 경계를 찾는다. 이러한 결정 경계를 찾기 위해 SVM은 데이터의 특성 공간에서 서포트 벡터(Support Vector)를 찾아내어 결정 경계를 만든다.

SVM은 다른 분류 알고리즘에 비해 과적합(Overfitting)이 잘 일어나지 않고, 높은 예측 성능을 보이기 때문에 인공지능 분야에서 널리 사용되고 있다. 하지만 SVM은 데이터의 크기가 커질수록 학습 시간이 오래 걸리기 때문에 대규모 데이터에 적용하기에는 제한이 있다.

SVM은 다양한 커널(Kernel) 함수를 통해 비선형 결정 경계를 찾을 수 있다. 대표적인 커널 함수로는 선형 커널, 다항 커널, 가우시안 커널 등이 있다. 이러한 커널 함수를 이용해 SVM은 다양한 분류 문제를 해결할 수 있다.

728x90

'머신러닝과 빅데이터 분석 > Machine Learning(지도학습)' 카테고리의 다른 글

분류 분석(분류 모델)  (0) 2024.03.12
회귀분석  (0) 2024.03.12
머신러닝  (0) 2024.03.11

댓글