Priceless
[ML] 혼자 공부하는 머신러닝+딥러닝 Ch.5 본문
Ch.5 트리 알고리즘
5-1. 결정 트리
결정 트리
결정 트리: 데이터를 잘 나눌 수 있는 질문을 통해 분류 정확도를 높인 자료 구조
각 질문은 특성을 이분할 수 있는 질문이다
불순도:
지니 불순도:
결정 트리 모델은 부모 노드와 자식 노드의 불순도 차이가 가능한 크도록 트리를 성장시킨다
정보 이득: 부모 노드와 자식 노드의 불순도 차이
클래스의 표준을 criterion = 'entropy'를 지정하여 엔트로피 불순도를 사용할 수 있다
가지치기를 통해 최대 깊이를 지정하여 루트 노드 아래로 성장할 수 있는 노드를 제한한다
max_depth =
매개 변수를 설정하여 제한할 수 있다
특성 중요도: 어떤 특성이 가장 유용한지 나타내는 정도
결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정도를 나타내는 값
각 노드의 정보 이득과 전체 샘플에 대한 비율을 곱한 후 특성별로 더하여 계산
5-2. 교차 검증과 그리드 서치
검증 세트
검증 세트: 훈련 세트와 테스트 세트 중에서 훈련 세트의 일부를 사용하여 검증하기 위한 세트로 분리된 세트
교차 검증: 검증 세트를 떼어 내어 평가하는 과정을 여러 번 반복한다
반복하는 횟수 만큼 검증 세트를 등분하여 검증한다
하이퍼 파라미터 튜닝
하이퍼 파라미터: 머신러닝 모델이 학습하는 파라미터 외의 사용자가 지정해야만 하는 파라미터
그리드 서치: 가장 좋은 성능의 하이퍼 파라미터 조합을 찾는 도구
랜덤 서치: 매개 변수를 샘플링할 수 있는 확률 분포 객체를 전달하여 임의의 수를 통한 학습
학습 수행 시간이 오래 걸리는 경우
5-3. 트리의 앙상블
정형 데이터와 비정형 데이터
정형 데이터: 가지런히 정리되어 있는 데이터
비정형 데이터: 정리하여 표현하기 어려운 데이터, 사진, 음악, 글 등
앙상블 학습: 더 좋은 예측 결과를 만들기 위해 여러 개의 모델을 훈련하는 알고리즘
정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘이다
랜덤 포레스트
랜덤 포레스트: 결정 트리 기반의 데이터셋에서 랜덤으로 추출하는 앙상블 기법
뽑은 값을 다시 넣을 수 있기 때문에 중복된 샘플이 나타날 수 있다
랜덤 포레스트는 랜덤한 샘플과 특성을 사용하기 때문에 과대 적합을 막을 수 있다
부트스트랩 샘플: 중복을 허용하여 추출된 샘플
보통 훈련 세트의 크기와 같게 만든다
추출되지 못한 샘플인 oob(out of bag) 샘플을 검증 세트로 사용할 수 있다
엑스트라 트리
엑스트라 트리: 기본적으로 100개의 결정 트리를 훈련
랜덤하게 노드를 분할하여 과대적합을 방지
많은 트리를 앙상블한다
그레이디언트 부스팅
그레이디언트 부스팅: 깊이가 얕은 결정 트리를 사용하여 이전 트리의 오차를 보완하는 앙상블 기법
기본적으로 깊이가 3인 결정 트리를 100개 사용
깊이가 얕은 결정 트리를 사용하기 때문에 과대적합에 강하고, 높은 일반화 성능이 나타난다
경사 하강법을 사용하여 연속적으로 트리를 앙상블에 추가한다
분류에서는 로지스틱 손실 함수, 회귀에서는 평균 제곱 오차 함수를 사용한다
깊이가 낮은 이유: 계속 결정 트리를 추가하면서 손실 함수가 가장 낮도록 찾는 방법이다
히스토그램 기반 그레이디언트 부스팅
히스토그램 기반 그레이디언트 부스팅:
입력 특성을 256개의 구간으로 나누어 최적의 노드 분할이 가능하다
하나의 구간을 떼어 놓고 누락된 값을 위해 사용한다
'AI > ML' 카테고리의 다른 글
[ML]Image Classification과 Pytorch 실습 (1) | 2024.01.07 |
---|---|
[ML] 혼자 공부하는 머신러닝+딥러닝 Ch.6 (0) | 2023.08.29 |
[ML] 혼자 공부하는 머신러닝+딥러닝 Ch.4 (0) | 2023.08.15 |
[ML] 혼자 공부하는 머신러닝+딥러닝 Ch.3 (0) | 2023.08.08 |
[ML] 혼자 공부하는 머신러닝+딥러닝 Ch.1 & 2 (0) | 2023.08.01 |