[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 4주차
글 작성자: _rian
Chapter 5. 트리 알고리즘
5-1. 결정 트리
- 결정 트리 (Decision Tree)
- 예/아니오에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘
- 비교적 예측 과정을 이해하기 쉽고 성능도 뛰어남.
- 불순도 (Gini impurity)
- 결정트리가 최적의 질문을 찾기 위한 기준
- $$\text{지니 불순도} = 1 - (\text{음성 클래스의 비율}^2 + \text{양성 클래스 비율}^2 )$$
- 정보이득 (information gain)
- 부모 노드와 자식 노드의 불순도 차이.
- 결정트리는 제한없이 성장하면 과대적합 되기가 쉬움. 따라서 가지치기를 함으로써 결정트리의 성장을 제한하는 것도 한 방법
5-2. 교차 검증과 그리드 서치
- 검증 세트 (validation set)
- 모델의 과대적합을 막기 위해 테스트 세트를 사용하지 않고 측정하는 방법
- 교차 검증 (cross validation)
- 검증세트를 떼어내는 과정을 여러번 반복한 후 이 점수를 평균하여 최종 검증 점수를 얻는 방법
- 데이터의 80~90%를 훈련에 사용할 수 있게 됨.
- 하이퍼파라미터 튜닝
- 모델이 학습할 수 없어서 사용자가 지정해야만 하는 파라미터를 하이퍼파라미터라고 함.
- 그리드 서치 (GridSearch)
- 하이퍼파라미터의 탐색을 자동화해주는 도구. 탐색할 매개변수를 나열하면 교차검증을 수행하여 가장 좋은 점수의 매개변수 조합을 선택함.
- 하이퍼파라미터의 탐색과 교차검증을 한번에 수행하는 사이킷런의 클래스
- 랜덤 서치 (RandomSearch)
- 탐색할 값을 직접 나열하는 것이 아니라 탐색 값을 샘플링할 수 있는 확률 분포 객체를 전달함. 지정한 횟수만큼 샘플링하여 교차 검증을 수행하기 때문에 탐색량을 조절할 수 있다.
5-3. 트리의 앙상블
- 정형데이터와 비정형데이터
- 정형 데이터 (structured data) : 어떤 구조로 되어있다는 뜻. csv, excel 등에 저장하기가 쉬움
- 비정형 데이터 (unstructred data) : 텍스트데이터, 사진, 음악 등이 있음
- 앙상블 학습 (ensemble learning)
- 정형 데이터를 학습할 때 가장 뛰어난 성과를 내는 알고리즘. 대부분 결정트리 기반으로 만들어져 있다.
- 랜덤 포레스트 (random forest)
- 결정 트리를 랜덤하게 만들어 결정 트리 (나무)의 숲을 만듦. 그리고 각 결정트리의 예측을 사용해 최종 예측을 만드는 방법.
- 부트스트랩 샘플 방식을 사용
- 전체 데이터셋에서 일부만을 사용하여 계속 샘플링하는 방법. 기본적으로 부트스트랩 샘플은 훈련 세트와 크기가 같게 만든다.
- 엑스트라 트리 (extra tree)
- 랜덤 포레스트와 비슷하게 동작.
- 랜덤 포레스트와의 차이점은 부트스트랩 샘플을 사용하지 않는다는 점. 즉, 각 결정 트리를 만들 때 전체 훈련 세트를 사용함. 대신 노드 분할할 때 가장 좋은 분할을 찾는 것이 아니라 무작위로 분할함.
- 그래디언트 부스팅 (gradient boosting)
- 깊이가 얕은 결정 트리를 사용하여 이전 트리의 오차를 보완하는 방식으로 앙상블 하는 방식
- 결정 트리를 연속적으로 추가하여 손실함수를 최소화 하는 방법이기 때문에 훈련 속도는 조금 느리지만 더 좋은 성능을 기대할 수 있다.
- 히스토그램 기반 그래디언트 부스팅
- 그래디언트 부스팅의 속도를 개선한 방법. XGBoost 모델이 가장 유명하다.
미션
기본 미션 : 교차검증을 그림으로 설명하기
- 검증세트를 떼어내는 과정을 여러번 반복한 후 이 점수를 평균하여 최종 검증 점수를 얻는 방법
선택미션 : 05-3 앙상블 모델 손코딩 코랩 화면 인증하기
'머신러닝 꿈나무' 카테고리의 다른 글
Ray와 Ray를 이용한 ML모델 학습 예시 (0) | 2024.02.15 |
---|---|
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차 (1) | 2024.02.05 |
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차 (1) | 2024.01.21 |
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차 (1) | 2024.01.14 |
강화학습이란? 심층 강화학습에 대한 정의와 종류 (1) | 2024.01.05 |
댓글
이 글 공유하기
다른 글
-
Ray와 Ray를 이용한 ML모델 학습 예시
Ray와 Ray를 이용한 ML모델 학습 예시
2024.02.15 -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차
2024.02.05 -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차
2024.01.21 -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차
2024.01.14