[AI] 알아두면 좋은 머신러닝 모델 초간단 정리
요즘 AI가 뜨거운 이슈가 되면서 머신러닝과 딥러닝에 대한 관심도 함께 높아지고 있습니다.
그중에서도 머신러닝은 딥러닝에 비해 비교적 구조가 단순하고, 적은 데이터로도 학습이 가능해 입문자들이 먼저 접하게 되는 분야죠.
하지만 처음 접하다 보면 어떤 모델이 어떤 특징을 갖고 있는지 헷갈릴 수 있어요.
그래서 오늘은 알아두면 좋은 머신러닝 모델을 정리해드릴게요.
머신러닝을 처음 시작하는 분들이라면 각 모델이 어떤 상황에 적합한지 감을 잡는 것이 중요합니다.
1. 선형 회귀 (Linear Regression)
가장 기본적인 회귀 모델입니다.
연속적인 숫자 데이터를 예측할 때 사용하며, 독립 변수와 종속 변수 사이의 선형 관계를 가정합니다.
독립 변수와 종속 변수 사이의 선형 관계를 기반으로 예측하는 가장 기본적인 모델입니다.
예시: 아파트 평수가 커질수록 가격도 올라간다는 선형 관계를 가정하고, 평수가 25평일 때 가격을 예측합니다.
2. 로지스틱 회귀 (Logistic Regression)
이름에 회귀가 붙지만 실제로는 분류에 사용됩니다.
이진 분류 문제에서 매우 자주 쓰이며, 결과는 확률 형태로 출력됩니다.
분류 문제를 해결하는 데 사용하는 회귀 방식입니다. 확률을 출력하고, 그 확률로 범주를 분류합니다.
예시: 평수가 30평 이상이면 '고급 아파트'로 분류하고, 미만이면 '보통 아파트'로 분류합니다.
3. 의사결정트리 (Decision Tree)
사람이 ‘조건을 따라가며 판단하는 방식’을 닮은 모델입니다.
데이터를 분할해가며 의사결정을 하기에 직관적이고 해석이 쉬운 것이 장점입니다.
데이터를 기준에 따라 분기하면서 결과를 예측합니다. 이해와 시각화가 쉽습니다.
예시: "평수가 20평 이상인가요?" → "25평 이상인가요?" → 이런 식으로 질문을 나누며 가격 범위를 예측합니다.
4. 서포트 벡터 머신 (SVM)
고차원의 데이터를 잘 처리하고, 경계선을 최대한 넓게 잡아 분류하는 강력한 모델입니다.
비선형 데이터도 커널 기법을 통해 잘 다룰 수 있습니다.
데이터 간 경계를 가장 잘 나눌 수 있는 초평면을 찾는 분류 모델입니다. 회귀에도 사용할 수 있습니다.
예시: 아파트 가격이 고가인지 중저가인지 경계선을 정해 분류합니다. 평수가 많은 아파트가 고가에 분류될 가능성이 높습니다.
5. K-최근접 이웃 (K-Nearest Neighbors, KNN)
특정 데이터를 주변의 데이터들과 비교하여 가장 많은 카테고리에 속하게 예측하는 방식입니다.
단순하지만 성능도 괜찮고, 구현이 쉬워 자주 사용됩니다.
예측하려는 데이터와 가장 가까운 K개의 데이터를 기준으로 예측값을 결정합니다.
예시: 28평 아파트의 가격을 예측할 때, 평수가 비슷한 5개 아파트 가격을 참고해서 평균 가격을 내줍니다.
6. 나이브 베이즈 (Naive Bayes)
확률 기반의 모델로, 특히 문서 분류(스팸 필터링, 감성 분석 등)에서 성능이 뛰어납니다.
속성들 간 독립성을 가정한다는 점에서 “Naive(순진한)” 베이즈라는 이름이 붙었습니다.
확률과 통계를 기반으로 조건부 확률을 계산하여 예측합니다. 간단하지만 빠르고 강력합니다.
예시: "이 지역에서 평수가 30평이고, 엘리베이터가 있으면 평균적으로 고가일 확률이 높다"는 식으로 예측합니다.
7. 신경망 (Neural Network)
사람의 뇌 구조를 모방한 모델로, 입력 → 은닉층 → 출력 구조를 가집니다.
딥러닝의 핵심 모델이지만, 얕은 구조의 신경망(Shallow Neural Network)은
머신러닝에서도 함께 다루어져서 초보자들이 접하는 경우가 많습니다.
사람의 뇌 구조를 모방한 다층 퍼셉트론으로 복잡한 문제를 해결합니다. 딥러닝의 기초입니다.
- 신경망은 머신러닝 모델일까?
구분 | 설명 |
신경망 자체 | 딥러닝 모델이 맞음 |
간단한 신경망 | 머신러닝과 딥러닝의 경계에서 소개되기도 함 |
기초 신경망 모델은 딥러닝의 시작점이지만 머신러닝 맥락에서도 다뤄집니다.
예시: 평수, 층수, 위치, 연식 등 복잡한 요소를 조합하여 아파트 가격을 예측합니다.
8. 앙상블 모델 (Ensemble Models)
하나의 모델보다는 여러 개의 모델을 결합해 더 높은 예측 정확도를 추구하는 방식입니다.
랜덤 포레스트, 그래디언트 부스팅, 배깅(Bagging), 스태킹(Stacking) 등이 대표적입니다.
- 배깅 (Bagging: Bootstrap Aggregating)
- 동일한 알고리즘을 여러 번 훈련시키되, 각각 다른 데이터를 사용합니다.
- 주로 고변동성(High Variance) 모델에 효과적입니다.
- 여러 결과를 평균(회귀)하거나 다수결(분류)로 결합합니다.
대표 모델: 랜덤 포레스트(Random Forest)
의사결정트리를 여러 개 만들고 평균/다수결로 결과를 내는 모델로, 과적합을 방지하고 안정성이 높아요.
- 부스팅 (Boosting)
- 약한 모델(Weak Learner)을 순차적으로 연결하여 점점 더 나은 모델을 만드는 방식입니다.
- 이전 모델이 틀린 데이터를 다음 모델이 집중해서 학습합니다.
- 성능이 매우 뛰어나지만, 과적합이 발생할 수 있어 하이퍼파라미터 튜닝이 중요합니다.
대표 모델들:
AdaBoost: 간단한 부스팅 방식으로, 가중치를 조정해 잘못 예측한 데이터에 집중
- Gradient Boosting: 오차를 최소화하는 방식으로 각 모델을 순차적으로 보완
- XGBoost / LightGBM / CatBoost: 고성능 부스팅 모델로 Kaggle 대회에서 자주 사용됨
- 스태킹 (Stacking)
- 여러 모델의 예측 결과를 다시 하나의 메타 모델(Meta Learner)로 결합하는 방식입니다.
- 다양한 종류의 모델을 조합하여 복합적인 성능 향상을 노릴 수 있습니다.
- 실험과 조합에 따라 성능 차이가 큽니다.
예시
로지스틱 회귀, SVM, 결정 트리 등 여러 모델을 1차 학습기로 사용하고
그 예측 결과를 기반으로 최종 결과를 내는 로지스틱 회귀 모델을 2차로 사용
구분 | 배깅(Bagging) | 부스팅(Boosting) | 스태킹(Stacking) |
기본 개념 | 여러 개의 모델을 병렬로 학습시키고 결과를 합침 | 여러 모델을 순차적으로 학습시켜 오차를 보정 | 서로 다른 모델의 예측 결과를 결합하여 더 좋은 예측을 만듦 |
모델 간 관계 | 각 모델이 독립적으로 학습하고 병렬로 예측 | 이전 모델의 오차를 보정하는 방식으로 순차적으로 학습 | 서로 다른 모델을 조합하여 최종 예측값을 도출 |
학습 방식 | 병렬 학습 | 순차적 학습 | 여러 모델을 학습시킨 후, 메타 모델이 최종 예측 |
예시 모델 | 랜덤 포레스트 (Random Forest) | XGBoost, LightGBM | 로지스틱 회귀, 결정 트리 등을 메타 모델로 사용 |
오버피팅 방지 | 과적합을 방지하기 위해 모델 간 다양성을 증대 | 모델이 순차적으로 개선되므로 과적합을 방지할 수 있음 | 여러 모델의 결과를 결합하여 과적합을 방지 |
성능 | 단일 모델보다는 성능이 높지만, 비교적 단순 | 성능이 뛰어나지만 학습 시간이 더 오래 걸림 | 다양한 모델을 조합하므로 매우 강력한 성능을 낼 수 있음 |
예시 | 여러 결정 트리를 병렬로 학습시키는 랜덤 포레스트 | AdaBoost, Gradient Boosting Machine(XGBoost) | 로지스틱 회귀 + KNN + SVM 등 다양한 모델을 결합 |
언제 앙상블을 써야 할까?
- 단일 모델의 성능이 부족할 때
- 과적합을 줄이고 싶을 때
- 정확도가 중요한 프로젝트를 할 때
- 서로 다른 특성을 가진 모델을 잘 조합하면 시너지 효과가 발생함
"앙상블은 머신러닝의 '협업'입니다. 혼자보단 같이 하면 더 강해집니다."
마무리하며
머신러닝은 단순히 한두 개의 모델로 끝나는 게 아니라
문제에 따라 적합한 알고리즘을 선택하고 튜닝하는 과정이 핵심이에요.
오늘 소개한 모델을 알고 있다면 다양한 상황에 잘 대응할 수 있고,
나중에 딥러닝으로 넘어갈 때도 훨씬 수월하게 적응할 수 있습니다.
여러분의 AI 지식/정보에 도움이 되길 바랍니다.