독학/[책] 머신러닝+딥러닝

[혼공학습단 13기 혼공머신🤖] 혼자 공부하는 머신러닝 + 딥러닝 week4

최연재 2025. 2. 6. 01:23

📜기본 숙제 : 교차 검증을 그림으로 설명하기

 

 

📜 추가 숙제 : Ch.05(05-3) 앙상블 모델 손코딩 코랩 화면 인증하기

아래 내용 정리에서 확인하실 수 있습니다. 

 

 


🔖  Chap05. 트리 알고리즘

5.1 결정 트리

1) 로지스틱 회귀로 와인 분류하기

 

- 설명하기 쉬운 모델과 어려운 모델

학습결과를 이해하기 어려움

 

2) 결정 트리

 

- 트리의 높이를 제한하고, 어떤 특성으로 나뉘는지 정보 추가

- 불순도

  • 결정 트리 모델은 부모 노드와 자식 노드의 불순도 차이가 최대한 크도록 트리를 성장시킴
  • 지니 불순도 = 1 - (음성 클래스 비율2 + 양성 클래스 비율2)
  • 정보 이득 :  부모와 자식 노드 사이의 불순도 차이
  • 엔트로피 불순도 : -음성 클래스 비율 * log2(음성 클래스 비율) - 양성 클래스 비율 * log2(양성 클래스 비율)

- 가지치기

  • 결정 트리 알고리즘의 경우 표준화 전처리를 할 필요가 없음.

 

 

5.2 교차 검증과 그리드 서치

1) 검증 세트

- 테스트 세트를 사용하지 않을 경우 모델의 과소/과대 적합 여부를 판단하기 어려움

- 훈련 세트에서 모델을 훈련하고, 검증 세트로 모델을 평가함.

 

2) 교차 검증

-  검증 세트를 떼어 내어 평가하는 과정을 여러 번 반복한다.

- 위에서 얻은 점수들을 평균하여 최종 검증 점수를 획득한다.

- 하이퍼파라미터 튜닝

  • 유저가 지정해야만 하는 하이퍼파라미터를 튜닝하는 작업
  • 그리드 서치
    1. 먼저 탐색할 매개변수를 지정
    2. 그 다음 훈련 세트에서 그리드 서치를 수행하여 최상의 평균 검증 점수가 나오는 매개변수 조합을 찾는다. 이 조합은 그리드 서치 객체에 저장된다.
    3. 그리드 서치는 최상의 매개변수에서 전체 훈련 세트를 사용해 최종 모델을 훈련한다. 해당 모델도 그리드 서치 객체에 저장된다. 

argmax 함수를 사용해 가장 큰 값의 인덱스 추출 가능

- 복잡한 매개변수 조합 탐색

  • 불순도 감소 최소량 지정
  • max_depth로 트리의 높이 제한
  • min_sample_split으로 노드를 나누기 위한 최소 샘플 수 지정

 

- 랜덤 서치

  • 매개변수 값의 목록을 전달하는 것이 아니라 매개변수를 샘플링할 수 있는 확률 분포 객체를 전달함.

 

5.3 트리의 앙상블

1) 정형 데이터와 비정형 데이터

- 정형 데이터 : 특정한 구조로 되어 있는 데이터(데이터베이스나 엑셀로 표현 가능)

- 비정형 데이터 : 정형 데이터가 아닌 것

- 앙상블 학습 : 정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘

 

2) 랜덤 포레스트

- 결정 트리를 랜덤하게 만들어 결정 트리의 숲을 만든다.

- 각 결정 트리의 예측을 사용해 최종 예측을 만든다.

- 각 트리를 훈련하기 위한 데이터를 랜덤하게 만든다. 이때 한 샘플이 중복되어 추출될 수 있다.

- 부트스트랩 샘플 : 위에서 만들어진 샘플

- 랜덤하게 선택된 샘플과 특성을 사용하기 때문에 훈련 세트에 과대적합되는 것을 막아주고 검증 세트와 테스트 세트에서 안정적인 성능을 얻을 수 있다. 

3) 엑스트라 트리

- 랜덤 포레스트와 매우 비슷하게 동작

- 랜덤 포레스트를 전체 훈련 세트를 사용한다.

- 노드를 분할 때 무작위로 분할한다.

4) 그래디언트 부스팅

- 깊이가 얕은 결정 트리를 사용해 이전 트리와 오차를 보완하는 방식

 

5) 히스토그램 기반 그레이디언트 부스팅

- 정형 데이터를 다루는 머신러닝 알고리즘 중 가장 인기가 많은 알고리즘

- 먼저 입력 특성을 256개의 구간으로 나눈다.

  • 노드를 분할할 때 최적의 분할을 매우 빠르게 찾을 수 있다.
  • 입력에 누락된 특성이 있어도 전처리할 필요가 없다. 

- 회귀에서 사용하는 XGboost

⚠️ XGBoost 이용 시 오류

❗사이킷런을 다운그레이드하여 해결

- LightGBM2

 

💭 느낀 점

전공에서 배운 내용을 복습할 뿐만 아니라 새로운 내용도 있어 배워가는 한 주였습니다.