이 영역을 누르면 첫 페이지로 이동
butter_shower 블로그의 첫 페이지로 이동

butter_shower

페이지 맨 위로 올라가기

butter_shower

[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 4주차

  • 2024.01.29 01:47
  • 머신러닝 꿈나무
글 작성자: _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

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Ray와 Ray를 이용한 ML모델 학습 예시

    Ray와 Ray를 이용한 ML모델 학습 예시

    2024.02.15
  • [혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차

    [혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차

    2024.02.05
  • [혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차

    [혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차

    2024.01.21
  • [혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차

    [혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차

    2024.01.14
다른 글 더 둘러보기

정보

butter_shower 블로그의 첫 페이지로 이동

butter_shower

  • butter_shower의 첫 페이지로 이동

검색

메뉴

  • All Categories
  • About Me
  • Guest Book

카테고리

  • 전체보기 (223)
    • 💫 주인장 이야기 (17)
    • 🌱 와글와글뻘글 (27)
    • IT Trends (11)
    • 주인장 일상 (0)
    • 📒 내 마음대로 독서 서평 (12)
    • 머신러닝 꿈나무 (30)
      • 기본 개념 (6)
      • Hands-on! (5)
      • Paper Review (5)
      • 캐린이의 Kaggle (1)
    • 알고리즘 Algorithm (33)
      • PS (8)
    • Computer Engineering (75)
      • Python (8)
      • Cloud Computing (9)
      • C (9)
      • C++ (0)
      • Java (6)
      • Django 장고 (4)
      • 임베디드 시스템 (10)
      • 병렬 처리(Parallel Processing) (9)
      • 데이터 통신 Data communication (4)
      • 유닉스 시스템 (Unix System) (3)
      • GitHub (1)
      • 마이크로 프로세서 (micro processor) (1)
      • 데이터 마이닝 (1)
    • Error Note 🚨 (3)
    • 영어 공부 (6)
      • Live Academy (6)
    • HOBBY (2)
      • Film Log (2)

최근 글

정보

_rian의 butter_shower

butter_shower

_rian

나의 외부 링크

  • Github
  • Facebook
  • Instagram
  • LinkedIn
  • Twitter

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © _rian. Designed by Fraccino.

티스토리툴바