1. Random Forest
- Bagging을 활용하여 여러 개의 Decision Trees를 결합한 Ensemble Learning 기법
(1) 부트스트랩 샘플링(Bootstrap Sampling) : 원본 데이터셋에서 랜덤하게 샘플을 여러 번 추출, 샘플은 중복 추출이 가능
(2) 특성 무작위 선택 : 각 의사결정나무를 학습시킬 때, 모든 특성을 사용하는 것이 아니라 일부 특성만 무작위로 선택하여 학습
→ 나무들 사이의 상관관계를 줄이고, 다양성을 증가
(3) 나무 생성 : 각각의 부트스트랩 샘플과 무작위로 선택된 특성을 사용하여 의사결정나무를 학습
(4) 결과 취합 : 모든 의사결정나무의 예측을 취합하여, 가장 많이 등장하는 클래스(분류) 또는 평균(회귀)을 최종 예측 결과로 사용
1) 장점
- 높은 정확도
- 과적합(Overfitting) 방지에 효과적
- 병렬 처리 가능
2) 단점
- 모델 복잡도 상승 → 모델의 크기가 커져 훈련 속도가 느리거나 해석이 어려워질 수 있음
2. Boosted Tree
- 여러 weak learners(보통 의사결정 나무) 를 결합하여 강력한 예측 모델을 만드는 Ensemble Learning 기법(Boosting 기법)
(1) 기본 모델 학습 : 첫 번째 weak learner를 데이터에 맞추어 학습
(2) 오류 계산 및 가중치 부여 : 첫 번째 모델이 잘못 예측한 데이터 포인트에 더 큰 가중치 부여
(3) 반복 학습 : 다음 모델이 이전 모델의 오류를 보완하도록 학습, 여러 번 반복
(4) 최종 예측 : 모든 모델의 예측 결과를 가중 평균하여 최종 예측을 도출
* 알고리즘 종류
AdaBoost: 잘못 분류된 데이터에 더 큰 가중치를 주어 학습
Gradient Boosting: 이전 모델의 예측 오류를 줄이는 방향으로 새로운 모델을 학습
XGBoost: 고성능과 효율성을 높인 Gradient Boosting 구현
3. Decision Tree
- 독립 변수의 조건에 따라 종속 변수의 값을 예측하는 데 사용
- 각 분기점(node)에서 특정 기준에 따라 데이터를 나누고, 각 leaf node로 데이터 분류
- 불순도(impurity)를 최소화하는 방향으로 데이터를 분할
→ 불순도 측정 : 지니 계수(Gini Index), 엔트로피(Entropy), 정보 이득(Information Gain) 등 사용
* 불순도 : 각 node에서 클래스의 혼합 정도 측정 → 불순도가 낮을수록 해당 node는 한 클래스의 데이터로 잘 분류된 상태
- 지니 계수 : 0에서 1사이의 값을 가짐, 0은 완벽하게 분류된 상태(하나의 클래스만 존재), 1은 모든 클래스가 동등하게 분포된 상태를 의미
- 엔트로프 : 정보의 불확실성 측정, 엔트로피가 높을수록 정보의 불확실성이 높아짐
- 정보 이득 : 부모 노드와 자식노드의 불순도 차이, 어떤 특성을 선택했을 때 얻는 정보의 양
4. Support Vector Machine
- 두 개의 그룹(데이터)을 분리하는 방법으로 데이터들과 거리가 가장 먼 초평면(hyperplane)을 선택하여 분리하는 방법
- hyperplane은 pointer 간의 최대 margine을 가지도록 설정
(1) hyperplane 찾기 : 두 클래스 간 가장 큰 마진을 가지는 초평면 찾기
(2) 서포트 벡터 : 초평면에 가장 가까운 데이터 포인트들이 서포트 벡터로 선택
→ 초평면을 정의하는 데 중요한 역할
(3) 커널 트릭 : 선형 분리가 불가능한 데이터를 처리하기 위해 커널 함수를 사용하여 데이터를 고차원 공간으로 변환
* 커널 함수 : 선형 커널, 다항 커널, RBF(방사 기저 함수) 커널 등
* 라그랑주 승수법(Lagrange Multiplier Method) : 제약 조건이 있는 최적화 문제를 푸는 방법 → SVM에서 최적의 초평면을 찾기 위한 문제에 주로 쓰임
1) 장점
- 높은 분류 성능과 견고한 이론적 배경을 지님
- 고차원 공간에서도 효과적으로 작동 가능
- 다양한 커널 함수를 통해 비선형 문제도 처리 가능
2) 단점
- 큰 데이터셋에서는 속도가 느릴 수 있음
- 최적의 커널 함수와 파라미터를 선택하는 것이 어렵고, 시간이 많이 걸림
5. Logistic Regression
- 이진 분류 문제에서 사용되는 선형 모델
- 특정 클래스에 속할 확률을 예측
(1) 선형 결합 : features와 각 feature에 대응하는 가중치들을 곱한 값을 모두 합하여 선형 결합(Linear Combination)을 구함
(w: 기울기, x: feature value, b: bias)
(2) Logit을 확률로 변환 : (1)의 선형 결합 값을 Logit 함수의 역함수인 Sigmoid 함수에 통과시켜서, 0과 1 사이의 확률값 얻기
(p: 양성 클래스(1)로 분류할 확률)
(3) 분류 결정 : 얻어진 확률값 를 기준으로 분류 결정. (일반적으로) 가 0.5 이상이면 양성 클래스(1)로, 그렇지 않으면 음성 클래스(0)로 분류
ML의 기초 개념(feat. 생활코딩) (0) | 2024.08.11 |
---|---|
Classification, Regression, Clustering (0) | 2024.07.07 |
댓글 영역