[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 4주차
글 작성자: _rian

Chapter 5. 트리 알고리즘
5-1. 결정 트리
- 결정 트리 (Decision Tree)
- 예/아니오에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘
- 비교적 예측 과정을 이해하기 쉽고 성능도 뛰어남.
- 불순도 (Gini impurity)
- 결정트리가 최적의 질문을 찾기 위한 기준
- 지니 불순도=1−(음성 클래스의 비율2+양성 클래스 비율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.15https://www.ray.io/ Productionizing and scaling Python ML workloads simply | Ray Scale your compute-intensive Python workloads. From reinforcement learning to large-scale model serving, Ray makes the power of distributed compute easy and accessible to every engineer. www.ray.io Ray란? 오픈소스 분산 컴퓨팅 프레임워크. Python 기반으로 간단하면서도 강력한 API를 제공하고 있다. (한마디로, 편하다!) 기계학습, 강화학습 등의 컴퓨팅 작업도 수월하게 처리 가능함. 핵심 기능 간편한… -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차
2024.02.05Chapter 6. 비지도학습 6-1. 군집 알고리즘 비지도학습 (unsupervised learning) 타깃 (label)이 없을때 사용하는 알고리즘. 군집화 (clustering) 비슷한 샘플끼리 그룹으로 모으는 작업 클러스터 (clusert) : 군집 알고리즘으로 만든 그룹 6-2. k-평균 k-평균 (k-means) : 평균값을 자동으로 찾아주는 대표적인 군집 알고리즘 평균값이 클러스터의 중심에 위치하기 때문에 클러스터 중심 (cluser cener) 또는 센트로이드 (centroid) 라고 불림. 알고리즘 동작 방법 1. 무작위로 k개의 클러스터 중심을 정함 2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정 3. 클러스터에 속한 샘플의 평균 값으로 클러스터의 중심… -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차
2024.01.21Chapter 4. 다양한 분류 알고리즘 4-1. 로지스틱 회귀 Logistic regression 이름은 회귀지만 사실은 분류 모델. 선형 방정식을 사용한 분류 알고리즘. 선형 회귀와 달리 시그모이드 함수나 소프트맥스 함수를 사용하여 클래스의 확률을 출력할 수 있다. 시그모이드 함수 : 선형 방정식의 출력을 0과 1 사이의 값으로 압축. 소프트맥스 함수 : 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만듦 4-2. 확률적 경사하강법 점진적 학습 훈련한 모델을 버리지 않고 새로운 데이터에 대해서만 조금씩 훈련하는 학습법. 대표적으로 확률적 경사하강법이 있다. 확률적 경사하강법이란? 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 가파른 길을 찾… -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차
2024.01.14Chapter 3. 회귀 알고리즘과 모델 규제 3-1. k-최근접 이웃 회귀 K-최근접 이웃 회귀 예측하려는 샘플에 가장 가까운 샘플 k개를 선택 분류 문제의 경우, 이 샘플들의 클래스를 확인하여 다수의 클래스를 새로운 클래스로 예측함 회귀 문제의 경우, 분류 문제와 마찬가지로 예측하려는 샘플에 가장 가까운 샘플 k개를 선택하여 이를 평균매긴 값으로 선택. 결정 계수 ($R^2$) 회귀 모델에서 모델을 평가하는 방식 $R^2 = 1 - \frac{\sum(target - pred)^2}{\sum(target - mean)^2}$ 각 샘플의 타깃과 예측값의 차리를 제곱하여 더한 후 타깃과 타깃의 평균의 차이를 제곱하여 더한 값으로 나눔. $R^2$는 예측이 타겟에 아주 가까워지면 1에 가까운 값이 되며, …
댓글을 사용할 수 없습니다.