Mindmap-Galerie 앙상블 학습
여기에는 배깅과 부스팅이라는 두 가지 주요 알고리즘이 포함되어 있습니다. 자세히 소개되고 포괄적으로 설명되어 있어 관심 있는 친구들에게 도움이 되기를 바랍니다.
패턴 인식
기계 학습 알고리즘 엔지니어 스킬 트리
머신러닝 알고리즘 엔지니어
분류 수행 기술 마인드 맵을 개선하기 위한 AdaBoost 메타 알고리즘
기계 학습을 위한 기본 회귀 알고리즘
신경망 모델의 일반적인 유형 및 응용
신경망 및 딥러닝 순환 신경망
신경망과 딥러닝 컨볼루셔널 신경망
신경망과 딥러닝의 기초
컴퓨터 데이터 마이닝 코스
앙상블 학습(1부)
소개
아이디어, 여러 약한 학습자를 구축하고 결합하여 학습 과제를 완료합니다.
삽화:
통합학습에서 주의해야 할 두 가지 문제
단일한 약한 학습자를 훈련하는 방법은 무엇입니까?
방법 1: 훈련 데이터 세트의 가중치 변경
방법 2: 훈련 데이터 세트의 확률 분포 변경
약한 학습자를 강한 학습자로 결합하는 방법은 무엇입니까?
방법 1: 병렬 투표 방식
방법 2: 직렬 가중치 방법
앙상블 학습의 두 가지 주요 범주
배깅: 기본 학습자와 동시에 생성할 수 있는 병렬화 방법 간에 강한 종속성이 없습니다.
대표적인 알고리즘
랜덤 포레스트
알고리즘 아이디어: 의사결정 트리를 약한 학습자로 사용하고 약한 학습자를 배깅 방법에 통합
랜덤 포레스트는 어떻게 랜덤인가요? (데이터 세트의 확률 분포를 변경하여)
방법 1: 포레스트-RI
훈련 세트를 구축할 때마다 데이터 세트 D에서 k개의 샘플을 무작위로 선택하고, M개의 특징 중에서 n개의 특징을 무작위로 선택해야 합니다.
방법 2: 숲-RC
훈련 세트가 구성될 때마다 데이터 세트 D의 M개의 특징 중에서 n개의 특징을 무작위로 선택하고 선형 가중치를 부여하여 F개의 새로운 특징을 포함하는 데이터 세트를 형성해야 합니다. (무게 계수가 [-1,1]인 난수)
알고리즘 단계
1단계: 약한 학습기 선택(의사결정 트리, KNN, 로지스틱 회귀 등)
2단계: 무작위성을 기반으로 훈련 세트 구성
포레스트-RI
포레스트-RC
3단계: 현재 약한 학습자 훈련
4단계: 투표 메커니즘을 기반으로 강력한 학습자의 자격 여부를 결정합니다.
투표 메커니즘: 모든 약한 학습자 결과의 모드
장점과 단점
이점
훈련하는 동안 나무는 서로 독립적이며 훈련 속도가 빠릅니다.
일반화 오류는 편향되지 않은 추정을 사용하며 모델은 강력한 일반화 능력을 가지고 있습니다.
자체 배깅된 데이터 세트가 있으므로 교차 검증 세트를 분리할 필요가 없습니다.
불균형하고 누락된 데이터 세트에도 불구하고 모델 정확도는 여전히 높습니다.
결점
랜덤 포레스트는 일부 시끄러운 분류 또는 회귀 문제에 과적합될 수 있습니다.
랜덤 포레스트에는 매개변수가 많아 조정이 어렵습니다.
최적화
매개변수가 너무 많아 매개변수 조정이 어려운 문제를 목표로 함
먼저 매개변수를 숙지한 후 그리드 검색을 기반으로 조정하세요.
모델에 대한 매개변수의 영향을 보여주는 그림:
부스팅: 기본 학습자와 직렬로 생성되어야 하는 직렬화 방법 간에는 강한 종속성이 있습니다.
에이다부스트
알고리즘 아이디어: 각 라운드에서 약한 학습자를 훈련합니다. 이전 라운드의 훈련 샘플의 가중치가 변경되어 다음 라운드의 약한 학습자에 대한 훈련 데이터로 사용됩니다. 선형 가중치.
2단계: 샘플 가중치 초기화 또는 업데이트
샘플 가중치를 초기화합니다. 즉, 각 샘플의 가중치가 동일합니다.
샘플 가중치를 업데이트합니다. 즉, 올바르게 분류된 샘플의 가중치를 줄이고 잘못 분류된 샘플의 가중치를 늘립니다.
4단계: 현재 약한 학습자의 가중치 계산
1단계: 현재 약한 학습기의 오류율 계산(전체 샘플 수에 대한 잘못 분류된 샘플 수의 비율)
2단계: 오류율을 기반으로 현재 약한 학습기의 가중치 계산
5단계: 현재 약한 학습자를 선형 모델에 추가하고 자격이 있는지 확인
선형 모델
어떻게 판단하나요?
강한 학습자의 정확성
강한 학습자 중 약한 학습자의 수
AdaBoost는 정확도가 높습니다.
AdaBoost는 다양한 분류 알고리즘을 약한 분류자로 사용할 수 있으며 의사결정 트리에만 국한되지 않습니다.
매개변수 훈련에는 시간이 많이 걸립니다
데이터 불균형으로 인해 정확성이 쉽게 저하될 수 있음
약한 분류기의 수를 결정하기가 쉽지 않습니다.
학습 시간 소모 목표: 순방향 분포 알고리즘을 사용하여 매개변수 최적화 속도 향상
분류기의 수를 결정하기 어려운 경우: 교차 검증을 사용하여 결정을 지원합니다.
GBDT(그라디언트 부스팅 트리)
부스트 트리
회귀 부스팅 트리: 여러 약한 회귀 분석기의 간단한 추가
분류 부스팅 트리: 여러 개의 약한 분류기를 추가하기만 하면 됩니다.
그라디언트 부스팅 트리: 통합 분류, 회귀 부스팅 트리
알고리즘 아이디어: CART 회귀 트리를 약한 학습자로 사용하고, 약한 학습자의 손실을 기반으로 새로운 약한 학습자 라운드를 구성하고, 마지막으로 모든 약한 학습자를 선형적으로 추가합니다.
2단계: 현재 약한 학습기(피팅 잔차)의 손실 함수에 대한 음의 기울기를 계산하고 데이터 세트 D의 특징과 샘플을 무작위로 샘플링하여 훈련 세트(무작위성)를 구성합니다.
4단계: 현재 약한 학습자를 선형 모델에 추가하고 자격이 있는지 확인
저차원 데이터에 적합하며 비선형 데이터 처리 가능
일부 강력한 손실 함수를 사용하면 이상값에 매우 강력합니다.
배깅과 부스팅의 장점으로 인해 랜덤 포레스트나 아다부스트보다 이론적인 수준이 더 높습니다.
약한 학습자 간의 종속성으로 인해 데이터를 병렬로 훈련하기 어려움
데이터 차원이 높을수록 알고리즘의 계산 복잡성이 증가합니다.
약한 학습기는 회귀변수이므로 분류에 직접 사용할 수 없습니다.
자체 샘플링 SGBT를 통해 부분 병렬성 달성
XGboost: 새로운 정규화 용어와 손실 함수의 2차 테일러 확장 피팅을 사용하여 GBDT를 효율적으로 구현합니다.
LightGBM: 연속 부동 소수점 특성을 k개의 이산 값으로 이산화하고 너비가 k인 히스토그램을 구성하여 계산 속도를 높이고 공간 리소스를 절약하는 XGBoost의 효율적인 구현입니다.