기계 학습 기술 강화: 정확도 향상 및 오류 감소
게시 됨: 2025-01-16부스팅은 오류를 줄여 모델 정확도를 향상시키는 기계 학습(ML)의 강력한 앙상블 학습 기술입니다. 이전 단점을 해결하기 위해 순차 모델을 훈련함으로써 부스팅은 강력한 예측 시스템을 생성합니다. 이 가이드에서는 부스팅 작동 방식을 다룹니다. 장점, 과제 및 적용; 그리고 그것이 배깅과 어떻게 비교되는지.
목차
- 부스팅이란 무엇입니까?
- 편향 대 분산
- 부스팅 대 배깅
- 부스팅 작동 방식
- 부스팅 알고리즘의 유형
- 부스팅의 응용
- 부스팅의 장점
- 부스팅의 과제와 한계
부스팅이란 무엇입니까?
부스팅은 앙상블에 있는 이전 모델의 오류를 수정하기 위해 새로운 순차적 모델을 훈련하는 앙상블 학습 기술입니다. 앙상블 학습 기술은 여러 유사한 모델을 사용하여 성능과 정확성을 향상시키는 방법입니다. 부스팅에서 새 모델은 앙상블의 이전 오류에만 학습됩니다. 그런 다음 새 모델이 앙상블에 합류하여 보다 정확한 예측을 제공합니다. 모든 새로운 입력은 모델을 통해 전달되고 집계되어 모든 모델의 오류를 줄입니다.
정확도는 광범위한 개념입니다. 부스팅은 특히 모델 편향(그리고 그 정도는 덜하지만 분산)을 줄여 모델 성능을 향상시킵니다. 분산과 편향은 다음 섹션에서 다룰 두 가지 중요한 ML 개념입니다.
편향 대 분산
편향과 분산은 전체적으로 기계 학습의 두 가지 기본 속성입니다. 모든 ML 알고리즘의 목표는 모델의 분산과 편향을 줄이는 것입니다. 중요성을 고려하여 각각에 대해 더 자세히 설명하고 일반적으로 서로 상충되는 이유를 설명하겠습니다.
각 개념을 설명하기 위해 주택의 특징(예: 면적, 침실 수 등)에 대한 데이터를 바탕으로 주택 판매 가격을 예측하는 예를 들어보겠습니다.
편견
편향은 모델이 평균적으로 얼마나 잘못되었는지를 나타내는 척도입니다. 주택이 실제로 $400,000에 팔렸고 모델이 $300,000를 예측한 경우 해당 데이터 포인트에 대한 편향은 -$100,000입니다. 전체 훈련 데이터 세트에 대한 편향을 평균화하면 모델의 편향이 생깁니다.
편향은 일반적으로 모델이 너무 단순하여 기능과 출력 간의 복잡한 관계를 포착할 수 없기 때문에 발생합니다. 너무 단순한 모델은 면적만 보는 방법을 학습할 수 있으며 훈련 데이터에서도 일관되게 오류가 발생할 수 있습니다. ML 용어로 이를 과소적합이라고 합니다.
변화
분산은 유사한 입력이 주어졌을 때 모델의 출력이 얼마나 다른지 측정합니다. 대부분의 경우 비슷한 동네에 있고 비슷한 면적, 침실 수, 욕실 수를 갖춘 주택의 가격은 비슷합니다. 그러나 분산이 높은 모델은 가격이 크게 다를 수 있습니다. 왜?
모델은 훈련 데이터로부터 가짜 관계를 학습했을 수 있습니다(예: 집 번호가 가격에 영향을 미친다고 생각). 이러한 가짜 관계로 인해 데이터에서 유용한 관계가 사라질 수 있습니다. 일반적으로 복잡한 모델은 이러한 관련 없는 관계를 포착하는데, 이를 과적합이라고 합니다.
편향-분산 트레이드오프
이상적으로는 데이터의 실제 관계를 포착하지만 그 이상은 포착하지 않는 편향이 낮고 분산이 낮은 ML 모델이 필요합니다. 그러나 실제로는 이것이 어렵습니다.
모델의 정교함이나 복잡성을 높이면 데이터에서 더 깊은 패턴을 찾을 수 있는 능력이 제공되어 편향을 줄일 수 있습니다. 그러나 이 동일한 힘은 관련 없는 패턴을 찾는 데 도움이 될 수 있으며 그 반대의 경우도 마찬가지이므로 편향-분산 균형을 해결하기 어렵게 만듭니다.
부스팅은 편향과 분산을 개선합니다.
부스팅은 편향과 분산을 모두 줄일 수 있기 때문에 매우 인기 있는 앙상블 학습 기술입니다(분산 감소는 흔하지는 않지만).
부스팅은 이전 오류를 수정함으로써 모델 앙상블의 평균 오류율과 크기를 줄여 편향을 낮춥니다.
여러 모델을 사용하면 개별 모델의 오류가 취소되어 잠재적으로 분산이 낮아질 수 있습니다.
부스팅 대 배깅
앙상블 학습에서 가장 일반적인 두 가지 기술은 부스팅과 배깅입니다. 배깅은 교육 데이터 세트를 가져와서 무작위 하위 세트를 만들고 각 하위 세트에 대해 서로 다른 모델을 교육합니다. 그런 다음 모델을 함께 사용하여 예측을 수행합니다. 이로 인해 배깅과 부스팅 사이에 상당한 차이가 발생하며 이에 대해 아래에서 자세히 설명합니다.
배깅 | 부스팅 | |
모델 훈련 | 모델은 다양한 데이터 하위 집합에 대해 병렬로 학습됩니다. | 모델은 순차적으로 학습되며 각 모델은 이전 모델의 오류에 중점을 둡니다. |
오류 감소 초점 | 분산 감소 | 편견 감소 |
일반적인 알고리즘 | 랜덤 포레스트, 배깅된 의사결정 트리 | AdaBoost, 그래디언트 부스팅, XGBoost |
과적합 위험 | 무작위 샘플링으로 인한 과적합 위험 감소 | 과적합 위험이 더 높음 |
계산 복잡성 | 낮추다 | 더 높은 |
두 기술 모두 일반적이지만 편향과 분산을 줄일 수 있기 때문에 부스팅이 더 널리 사용되는 선택입니다.
부스팅 작동 방식
부스팅이 어떻게 작동하는지 알아봅시다. 기본적으로 부스팅은 이전 모델이 잘못한 데이터 포인트에 대해 각각의 새 모델을 교육하는 것으로 구성됩니다. 세 부분이 있습니다:
- 오류를 기준으로 훈련 데이터에 가중치 부여
- 이 가중 오류 데이터세트로 새 모델 학습
- 앙상블에 새 모델 추가
우선 초기 모델(하나의 앙상블)을 훈련했다고 가정해 보겠습니다.
오류를 기준으로 훈련 데이터에 가중치 부여
우리는 기존 앙상블을 통해 훈련 데이터를 실행하고 앙상블 입력이 잘못된 예측을 제공한 것을 기록합니다. 그런 다음 문제가 되는 입력이 더 많이 표현되거나 더 중요한 교육 데이터세트의 수정된 버전을 만듭니다.
새 모델 훈련
우리는 앙상블의 다른 모델과 동일한 유형인 새 모델을 훈련하기 위해 생성한 수정된 데이터 세트를 사용합니다. 그러나 이 새로운 모델은 훈련 데이터의 어려운 예에 더 중점을 두므로 더 나은 성능을 발휘할 가능성이 높습니다. 오류 성능의 이러한 개선은 편향을 줄이는 데 중요한 부분입니다.
새로운 모델 도입
새로 훈련된 모델이 앙상블에 추가되고 정확도에 따라 예측에 가중치가 부여됩니다. 동시에 새로운 입력이 앙상블의 각 모델에 전달되고, 각 모델의 최종 출력에 가중치가 부여되어 앙상블의 출력을 얻습니다.
분류 작업(보통 부스팅 문제에서 두 레이블 중 선택)의 경우 가중치 투표 합계가 가장 높은 클래스가 앙상블의 예측으로 선택됩니다.
회귀 작업의 경우 앙상블 예측은 각 모델 예측의 가중 평균입니다.
이 시점에서 편향이 여전히 너무 높으면 프로세스가 반복될 수 있습니다.
부스팅 알고리즘의 유형
부스팅 알고리즘에는 여러 가지 변형이 있으며, 그들 사이에는 상당한 차이가 있습니다. 가장 널리 사용되는 것은 적응형 부스팅(AdaBoost), 그래디언트 부스팅, 익스트림 그래디언트 부스팅(XGBoost) 및 고양이 부스트입니다. 우리는 각각을 차례로 다룰 것입니다.
에이다부스트
AdaBoost는 앞서 설명한 부스팅 알고리즘과 매우 유사합니다. 이전 앙상블에 문제를 일으키는 훈련 데이터는 다음 모델을 훈련할 때 더 많은 가중치를 갖습니다. AdaBoost는 최초의 부스팅 알고리즘 중 하나였으며 단순성으로 유명합니다.
AdaBoost는 새로운 모델이 훈련 데이터 세트의 다양한 변형(하드 데이터 포인트가 더 일반적임)을 확인하기 때문에 다른 부스팅 알고리즘보다 과적합 가능성이 적습니다. 그러나 다른 부스팅 기술에 비해 이상치 데이터에 더 민감하고 편향을 크게 줄이지 않습니다.
그라데이션 부스팅
그라디언트 부스팅은 부스팅에 대한 독특한 접근 방식입니다. 적응형 부스팅과 달리 새 모델은 훈련 데이터세트의 오류 가중치 버전을 얻지 못합니다. 원본 데이터 세트를 얻습니다. 그러나 데이터 세트의 입력에 대한 출력을 예측하는 대신 각 입력에 대한 이전 앙상블의 음의 기울기를 예측하려고 합니다.
음의 기울기는 본질적으로 앙상블의 모델 가중치와 예측이 오류를 줄여 정답에 더 가까워지기 위해 이동해야 하는 방향입니다. 음의 기울기가 이전 앙상블의 출력 예측에 추가되어(가중치 요소가 적용됨) 올바른 결과에 더 가까워집니다.
Gradient Boosting은 특히 복잡한 데이터에서 AdaBoosting보다 훨씬 더 성능이 좋습니다. 또한 조정해야 할 초매개변수가 더 많아 사람들에게 더 많은 제어권을 제공하지만 실험의 필요성도 증가합니다.
XGBoost
XGBoost(또는 익스트림 그래디언트 부스팅)는 그래디언트 부스팅의 고도로 최적화된 버전입니다. XGBoost는 그래디언트 부스팅 훈련과 추론을 훨씬 더 병렬화합니다. XGBoost는 또한 정규화(즉, 복잡성에 대한 페널티)를 추가하여 과적합을 방지하고 누락된 데이터를 훨씬 더 잘 처리합니다. 마지막으로 XGBoost는 대규모 데이터 세트 또는 워크로드에 대해 훨씬 더 확장성이 뛰어납니다.
XGBoost는 그래디언트 부스팅보다 성능이 훨씬 뛰어나며 2010년대에 가장 인기 있는 ML 알고리즘 중 하나였습니다. 그러나 해석하기가 더 어렵고 실행하는 데 계산 비용이 훨씬 더 많이 듭니다.
캣부스트
CatBoost는 범주형 데이터에 작동하도록 설계된 그래디언트 부스팅의 한 형태입니다. 범주형 데이터는 값이 소수의 제한된 그룹에 속할 수 있는 데이터입니다. 다음은 몇 가지 예입니다.
- 예–아니요 데이터(예: 집에 차고가 있습니까?)
- 색상 카테고리(예: 빨간색, 파란색, 녹색)
- 제품 카테고리(예: 전자제품, 의류, 가구)
Gradient Boosting 모델은 일반적으로 범주형 데이터에서는 잘 작동하지 않는 반면 CatBoost는 작동합니다. CatBoost는 연속 데이터도 처리할 수 있어 또 다른 인기 있는 부스팅 선택이 됩니다. 다른 그래디언트 부스팅 모델과 마찬가지로 CatBoost는 계산 복잡성과 과적합으로 인해 어려움을 겪습니다.
부스팅의 응용
부스팅은 오류와 편향이 우리가 원하는 것보다 높은 경우가 많으므로 거의 모든 ML 문제에 적용될 수 있습니다. 분류와 회귀는 ML의 두 가지 큰 하위 구분이며 부스팅은 두 가지 모두에 적용됩니다. 콘텐츠 추천 및 사기 탐지는 부스팅이 도움이 될 수 있는 기업이 직면한 ML 문제의 두 가지 예입니다.
분류 및 회귀
분류와 회귀는 ML의 핵심 작업 중 두 가지입니다. 사용자는 이미지에 개나 고양이가 포함되어 있는지 예측(분류)하거나 집의 판매 가격(회귀)을 예측하려고 할 수 있습니다. 부스팅은 두 작업 모두에 적합하며, 특히 기본 모델이 약하거나 복잡하지 않은 경우 더욱 그렇습니다.
콘텐츠 추천
Boosting은 사용자 선호도에 대한 예측 정확도를 반복적으로 향상시켜 콘텐츠 추천(예: Netflix가 추천하는 영화)을 향상시킵니다. 추천 모델이 특정 시청 패턴(예: 계절별 선호도 또는 상황에 따른 선택)을 포착하지 못하는 경우 부스팅을 통해 누락된 패턴에 특별히 초점을 맞춘 추가 모델이 생성됩니다. 시퀀스의 각각의 새로운 모델은 이전에 제대로 예측되지 않은 사용자 선호도에 추가 가중치를 부여하여 오류를 줄입니다.
사기 탐지
금융 회사의 일반적인 사용 사례인 사기 탐지에서는 잘못 분류된 거래로부터 점진적으로 학습하여 탁월한 성능을 발휘합니다. 초기 모델이 정교한 사기 패턴을 놓친 경우 최신 강화 모델은 특히 이러한 문제가 있는 사례를 대상으로 합니다. 이 기술은 최근의 잘못된 분류에 더 높은 가중치를 부여하여 시스템이 높은 탐지율을 유지할 수 있도록 하여 변화하는 사기 전술에 특히 잘 적응합니다.
부스팅의 장점
부스팅은 모델 편향과 그 정도는 덜하지만 분산을 줄이는 데 탁월합니다. 다른 앙상블 기법에 비해 데이터가 덜 필요하고 사람들이 과적합을 더 잘 제어할 수 있습니다.
편향 및 분산 감소
편향이 높다는 것은 모델이 종종 잘못된다는 것을 의미합니다. 부스팅은 모델의 편향을 줄이는 훌륭한 기술입니다. 각 모델은 이전 모델의 오류를 수정하는 데 중점을 두기 때문에 앙상블 전체는 오류율을 줄입니다.
분산 감소에는 부작용도 있습니다. 최신 모델에는 훈련 데이터 혼합이 서로 다르기 때문에 서로 다른 모델의 오류가 서로 상쇄될 수 있습니다.
데이터가 덜 필요함
다른 앙상블 기술과 달리 부스팅은 제대로 작동하기 위해 거대한 데이터 세트가 필요하지 않습니다. 각각의 새로운 모델은 주로 이전 모델의 오류에 초점을 맞추기 때문에 목표가 좁고 많은 양의 데이터가 필요하지 않습니다. 새 모델은 기존 훈련 데이터를 사용하고 오류에 대해 반복적으로 훈련할 수 있습니다.
과적합에 대한 더 많은 제어
부스팅에는 각각의 새 모델이 앙상블 예측에 기여하는 정도를 제어하는 몇 가지 하이퍼 매개변수가 있습니다. 이러한 하이퍼파라미터를 수정함으로써 사용자는 새로운 모델의 영향을 줄일 수 있습니다. 이렇게 하면 편향이 증가하지만 잠재적으로 분산이 낮아져 사용자가 편향-분산 절충점을 어디에 배치할지 제어할 수 있습니다.
부스팅의 과제와 한계
부스팅에는 주의사항이 있습니다. 훈련하고 사용하는 데 더 많은 시간이 필요하고 이상치 데이터에 민감하며 더 많은 하이퍼파라미터 조정이 필요합니다.
훈련 시간이 길어짐
부스팅 시 각각의 새 모델은 이전 앙상블의 오류에 따라 달라집니다. 즉, 모델을 한 번에 하나씩 훈련해야 하므로 훈련 시간이 길어집니다. 또 다른 단점은 순차 학습을 사용하면 12개의 모델을 학습할 때까지 부스팅이 효과적인지 알 수 없다는 점입니다.
이상치 민감도
부스팅에서 최신 모델은 이전 모델의 오류에만 중점을 둡니다. 무시해야 하는 훈련 세트의 일부 이상치 데이터는 대신 이후 모델의 유일한 초점이 될 수 있습니다. 이는 앙상블의 전반적인 성능을 저하시키고 훈련 시간을 낭비할 수 있습니다. 특이치의 영향에 대응하려면 신중한 데이터 처리가 필요할 수 있습니다.
추가 초매개변수 조정
사용자에게 과적합에 대한 더 많은 제어권을 제공한다는 이점은 사용자가 편향과 분산 사이의 적절한 균형을 찾기 위해 더 많은 하이퍼 매개변수를 조정해야 함을 의미합니다. 여러 부스팅 실험이 필요한 경우가 많기 때문에 순차 학습이 더욱 지루해집니다. 부스팅에는 많은 계산 리소스가 필요합니다.