지도학습(Supervised Learning)
머신러닝의 한 종류로, 입력 데이터(특징)와 정답(레이블)이 주어진 상태에서 학습을 진행하는 방식으로 목표는 입력 데이터와 정답 간의 관계를 학습하여 새로운 입력에 대해 정확한 예측을 하는 것
지도학습 과정
- 데이터 수집
- 지도학습에서는 각 데이터에 레이블이 포함된 데이터를 사용.
- 각 입력 데이터에 대응하는 정답이 필요
- 모델 학습
- 주어진 입력 데이터와 정답(레이블)을 바탕으로 모델이 학습을 진행.
- 학습 과정에서는 주어진 데이터를 바탕으로 패턴을 찾고, 입력 데이터와 출력 데이터 간의 관계를 최적화하는 모델을 생성
- 모델 평가
- 학습이 완료된 모델을 평가하기 위해, 데이터의 일부를 테스트 데이터로 사용하여 모델의 예측 성능을 측정
- 일반적으로 정확도(Accuracy), 정밀도(Precision), 재현율(Recall) 등의 성능 지표를 사용
- 모델 개선
- 모델의 성능이 만족스럽지 않으면, 학습 데이터 양을 늘리거나 모델의 하이퍼파라미터를 조정하는 방식으로 성능을 개선
지도학습 주요 알고리즘
지도학습에서는 데이터의 특성에 따라 다양한 알고리즘을 사용할 수 있으며, 이를 크게 회귀(Regression)와 분류(Classification)로 구분
1. 회귀(Regression) : 연속적인 값을 예측하는 문제에서 사용
1) 선형 회귀(Linear Regression)
- 선형 회귀는 가장 기본적인 회귀 알고리즘으로, 입력 데이터와 출력 데이터 간의 선형 관계를 가정하고 학습
- 주어진 데이터에 가장 적합한 직선을 찾는 방식입니다.
- 간단하고 해석이 용이하지만 데이터가 선형 관계를 따르지 않으면 성능이 떨어짐
- ex) 주택 가격 예측, 광고 비용에 따른 매출 예측 등.
2) 다항 회귀(Polynomial Regression)
- 선형 회귀의 확장으로, 데이터를 비선형 형태로 모델링할 수 있도록 다항식 항을 추가한 회귀 모델
- 비선형 데이터를 처리할 수 있지만, 모델이 복잡해질 수 있으며 과적합(overfitting)의 위험이 있음
- ex) 곡선 형태의 데이터를 예측
3) 릿지 회귀(Ridge Regression), 라쏘 회귀(Lasso Regression)
- 선형 회귀 모델에서 과적합을 방지하기 위한 규제(Regularization)를 도입한 방법
- 릿지 회귀는 모든 계수에 작은 값을 부여하여 과적합을 방지하며, 라쏘 회귀는 불필요한 변수를 자동으로 제거하는 특징
- ex) 다중 회귀 분석, 다차원 데이터 처리.
2. 분류(Classification) : 데이터가 여러 카테고리 중 어느 하나에 속하는지 예측하는 문제에서 사용
1) 로지스틱 회귀(Logistic Regression)
- 이름은 회귀지만, 실제로는 이진 분류 문제에서 주로 사용되는 알고리즘
- 입력 데이터를 바탕으로 두 개의 범주 중 하나로 분류
- 출력은 시그모이드 함수를 통해 0에서 1 사이의 값을 가지며, 이 값을 바탕으로 분류가 이루어짐
- 해석이 용이하고 빠른 계산이 가능하지만 데이터가 선형적으로 분리되지 않으면 성능이 저하
- ex) 이메일 스팸 필터링, 의료 진단(질병 유무).
2) 의사결정 나무(Decision Tree)
- 데이터를 트리 구조로 나누어 분류하는 알고리즘
- 각 노드는 특정 특징을 기준으로 데이터를 분류하며, 마지막에는 결정된 분류 결과를 제공
- 직관적이고 해석이 용이하지만 과적합의 위험이 있으며, 가지치기(pruning)를 통해 이를 방지할 수 있음
- ex) 고객 세분화, 질병 진단.
3) K-최근접 이웃(K-Nearest Neighbors, K-NN)
- 새로운 데이터 포인트가 주어졌을 때, 기존 데이터 중 가장 가까운 K개의 데이터 포인트를 찾아 그 중 가장 많이 속하는 범주로 분류
- 간단하고 직관적인 방법이지만 데이터 양이 많아질수록 계산 비용이 증가하며, 고차원 데이터에서 성능이 저하
- ex) 추천 시스템, 패턴 인식.
4) 서포트 벡터 머신(Support Vector Machine, SVM)
- 데이터를 선형 또는 비선형으로 분리할 수 있는 초평면을 찾는 알고리즘.
- 최대 마진을 유지하는 선형 분류기를 학습
- 고차원에서도 잘 작동하며, 분류 경계가 명확한 문제에서 성능이 우수하지만 대규모 데이터셋에서 학습 속도가 느릴 수 있음
- ex) 이미지 분류, 텍스트 분류.
5) 랜덤 포레스트(Random Forest)
- 여러 개의 결정 트리를 학습하고, 각 트리의 예측 결과를 종합하여 최종 예측을 도출하는 방법
- 여러 트리를 앙상블로 사용하여 예측의 정확성을 높임
- 과적합을 방지하고 높은 예측 성능을 제공하지만 해석이 어려울 수 있으며, 학습 속도가 느릴 수 있음
- ex) 의료 진단, 금융 사기 탐지.
6) 나이브 베이즈(Naive Bayes)
- 베이즈 정리를 기반으로 하는 알고리즘으로, 각 특징이 독립적이라는 가정하에 확률을 계산하여 분류하는 방법
- 계산 속도가 빠르고 적은 데이터로도 성능이 우수하지만 특징 간 독립 가정이 현실적으로 맞지 않는 경우 성능이 떨어질 수 있음
- ex) 텍스트 분류(스팸 필터링), 문서 분류.