스터디
스터디 범위
Chapter 05 트리 알고리즘
- 05-1 결정 트리 ▶️결정 트리 알고리즘을 사용해 새로운 분류 문제 다루기
- 05-2 교차 검증과 그리드 서치 ▶️검증 세트가 필요한 이유를 이해하고 교차 검증해 보기
- 05-3 트리의 앙상블 ▶️ 앙상블 학습을 알고 실습해 보기
스터디 내용
05-1 결정 트리 ▶️결정 트리 알고리즘을 사용해 새로운 분류 문제 다루기
결정 트리(Decision Tree): 예 / 아니오 에 대한 질문으로 정답을 찾아 학습하는 알고리즘. 예측 과정을 이해하기 쉽고 성능도 좋음.
불순도(Impurity): 결정 트리가 최적의 질문을 찾기 위한 기준이며, 사이킷런은 지니 불순도와 엔트로피 불순도를 제공
지니(Gini) 불순도: 각 클래스의 비율을 제곱해서 더한 다음 1에서 뺌
$$ 1 - \left ( ratio class1 \right ) ^{2} - \left ( ratio class2 \right ) ^{2} $$
엔트로피(Entropy) 불순도: 밑이 2인 로그를 사용하여 다음과 같이 계산함
$$ -\left ( ratio class1 \right ) * log_{2}\left ( ratio class1 \right ) - \left ( ratio class2 \right ) * log_{2}\left ( ratio class2 \right ) ... $$
정보 이득: 부모 노드와 자식 노드의 불순도 차이. 결정트리 알고리즘은 정보 이득이 최대화되도록 학습함.
결정 트리: 제한 없이 성장 하면 훈련 세트에 과대 적합(overfitting)되기 쉽기에, 가지치기(prunning)를 통해 결정 트리의 성장을 제한해야 함. 일반적으로 깊이를 제한함(max_depth).
특성 중요도: 결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정도를 나타내는 값. 사이킷런은 dt.feature_importances를 활용하여 특성 중요도를 도출함.
05-2 교차 검증과 그리드 서치 ▶️검증 세트가 필요한 이유를 이해하고 교차 검증해 보기
검증 세트(Validation Set): 하이퍼 파라미터 튜닝을 위해 모델을 평가할 때, 테스트 세트를 사용하지 않기 위해 훈련 세트에서 다시 떼어낸 데이터 세트. 일반적으로 train:valid:test = 3:1:1의 비율을 갖음.
교차 검증: 훈련 세트를 여러 폴드로 나눈 다음, 한 폴드가 검증 세트의 역할을 하고 나머지 폴드에서는 모델을 훈련함. 교차 검증은 이런식으로 모든폴드에 대해 검증 점수를 얻어 평균하여 산출함.
그리드 서치: 하이퍼 파라미터 탐색을 자동화해주는 도구. 탐색할 매개변수를 직접 나열하면 교차 검증을 수행하여 가장 좋은 검증 점수의 매개 변수 조합을 선택함. 마지막으로 이 매개 변수 조합으로 최종 모델을 훈련함. 여기서, 사람의 개입 없이 하이퍼파라미터 튜닝을 자동으로 하는 기술을 'AutoML'이라고 함.
랜덤 서치: 연속된 매개 변수 값을 탐색할 때 유용함. 탐색할 값을 직접 나열하는 것이 아니고 탐색 값을 샘플링 할 수 있는 확률 분포 객체를 전달함. 지정된 횟수만큼 샘플링하여 교차 검증을 수행 하기 때문에 시스템 자원이 허락하는 만큼 탐색량을 조절가능함.
05-3 트리의 앙상블 ▶️ 앙상블 학습을 알고 실습해 보기
앙상블 학습: 더 좋은 예측 결과를 만들기 위해 여러 개의 모델을 훈련하는 머신러닝 알고리즘을 말함.
랜덤 포레스트: 대표적인 결정 트리 기반의 앙상블 학습 방법. 부트스트랩 샘플을 사용하여 랜덤하게 일부 특성을 선택하여 트리를 만드는 것. 여기서 부트스트랩이란? 데이터 세트에서 중복을 허용하여 데이터를 샘플링하는 기법이며, 이때 샘플만큼 학습을 시키는데 중복을 허용하기에 사용하지 않은 데이터로 모델 검증을 수행함. 이는 과대적합을 줄이고 일반화 성능을 높이는 역할.
엑스트라 트리: 랜덤 포레스트와 비슷하게 결정 트리를 사용하여 앙상블 모델을 만들지만 부 트스트랩 샘플을 사용하지 않습니다. 대신 랜덤하게 노드를 분할해 과대적합을 감소시킵니다.
그레이디언트 부스팅: 랜덤 포레스트나 엑스트라 트리와 달리 결정 트리를 연속적으로 추가 하여 손실 함수를 최소화하는 앙상블 방법입니다. 이런 이유로 훈련 속도가 조금 느리지만 더 좋은 성능을 기대할 수 있습니다. 그레이디언트 부스팅의 속도를 개선한 것이 히스토그램 기반 그레이디언트 부스팅이며 안정적인 결과와 높은 성능으로 매우 인기가 높습니다.
미션
기본 미션
교차 검증을 그림으로 설명하기
선택 미션
Ch.05(05-3) 앙상블 모델 손코딩 코랩화면 인증하기
참고
- [Github] 예제 소스: https://github.com/rickiepark/hg-mldl
- [Google Colab] 예제 소스: https://colab.research.google.com/github/rickiepark/hg-mldl
- Q&A: 박해선 저자님의 github: https://groups.google.com/g/ml-dl-book-qna?pli=
- 유튜브 강의: 👉전체 강의 목록: https://www.youtube.com/playlist?list=PLVsNizTWUw7HpqmdphX9hgyWl15nobgQX
'Project Process > Study Report' 카테고리의 다른 글
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(8월 1주차) (0) | 2023.08.07 |
---|---|
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 4주차) (0) | 2023.07.30 |
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 3주차) (0) | 2023.07.25 |
[Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 04 다양한 분류 알고리즘(3주차) (0) | 2023.07.20 |
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 2주차) (0) | 2023.07.16 |