>기술 주변기기 >일체 포함 >기계 학습의 앙상블 방법 개요

기계 학습의 앙상블 방법 개요

WBOY
WBOY앞으로
2023-04-15 13:52:071012검색

온라인 쇼핑을 하고 있는데 동일한 평가로 동일한 제품을 판매하는 두 매장을 발견했다고 상상해 보세요. 그러나 첫 번째는 단 한 사람의 평가를 받았고 두 번째는 100명의 평가를 받았습니다. 어떤 평가를 더 신뢰하시겠습니까? 결국 어떤 제품을 구매하시겠어요? 대부분의 사람들의 대답은 간단합니다. 100명의 의견은 단 한 사람의 의견보다 확실히 더 신뢰할 만합니다. 이것이 "군중의 지혜"라고 불리며 앙상블 접근 방식이 작동하는 이유입니다.

기계 학습의 앙상블 방법 개요

앙상블 방법

보통 우리는 훈련 데이터로부터 오직 학습자(학습자 = 훈련 모델)만을 생성합니다(즉, 훈련 데이터에 대해서만 기계 학습 모델을 훈련시킵니다). 앙상블 방식은 여러 학습자가 동일한 문제를 해결한 후 함께 결합하는 방식입니다. 이러한 학습자를 기본 학습자라고 하며 신경망, 지원 벡터 머신, 의사결정 트리 등과 같은 기본 알고리즘을 가질 수 있습니다. 이러한 기본 학습기가 모두 동일한 알고리즘으로 구성되면 동종 기본 학습기라고 하고, 서로 다른 알고리즘으로 구성되면 이종 기본 학습기라고 합니다. 단일 기본 학습기에 비해 앙상블은 일반화 기능이 더 뛰어나므로 더 나은 결과를 얻을 수 있습니다.

앙상블 방식이 약한 학습자로 구성된 경우. 따라서 기본 학습자를 약한 학습자라고도 합니다. 앙상블 모델이나 강한 학습기(약한 학습기의 조합)는 편향/분산이 더 낮고 더 나은 성능을 달성합니다. 약한 학습자를 강한 학습자로 변환하는 이러한 통합 접근 방식의 능력은 실제로 약한 학습자를 더 쉽게 사용할 수 있기 때문에 대중화되었습니다.

최근 몇 년 동안 통합 방법은 다양한 온라인 대회에서 지속적으로 우승을 차지했습니다. 앙상블 방식은 온라인 대회 외에도 객체 탐지, 인식, 추적 등 컴퓨터 비전 기술 등 실생활 응용 분야에도 적용된다.

앙상블 방법의 주요 유형

약한 학습자는 어떻게 생성되나요?

기본 학습자가 생성되는 방식에 따라 통합 방법은 크게 순차 통합 방법과 병렬 통합 방법의 두 가지 범주로 나눌 수 있습니다. 이름에서 알 수 있듯이 Sequential ensemble 방법에서는 AdaBoost와 같은 Boosting 알고리즘과 같이 기본 학습기를 순차적으로 생성한 후 결합하여 예측을 합니다. 병렬 앙상블 방식에서는 기본 학습기를 병렬로 생성한 후 이를 결합하여 랜덤 포레스트, 스태킹 등의 배깅 알고리즘 등 예측을 수행합니다. 다음 그림은 병렬 및 순차 접근 방식을 설명하는 간단한 아키텍처를 보여줍니다.

기본 학습자의 다양한 생성 방법에 따라 통합 방법은 크게 순차 통합 방법과 병렬 통합 방법의 두 가지 범주로 나눌 수 있습니다. 이름에서 알 수 있듯이 순차 앙상블 방법에서는 AdaBoost와 같은 Boosting 알고리즘과 같이 기본 학습기를 순서대로 생성한 후 결합하여 예측을 합니다. 병렬 앙상블 방법에서는 기본 학습기가 병렬로 생성된 다음 Random Forest 및 Stacking과 같은 배깅 알고리즘과 같은 예측을 위해 함께 결합됩니다. 아래 그림은 병렬 및 순차 접근 방식을 모두 설명하는 간단한 아키텍처를 보여줍니다.

기계 학습의 앙상블 방법 개요

병렬 및 순차 통합 방법

순차적 학습 방법은 약한 학습자 간의 종속성을 활용하여 잔여 감소 방식으로 전체 성능을 향상시켜 나중에 학습자가 이전 학습자의 오류에 더 많은 관심을 기울일 수 있도록 합니다. 대략적으로 말하면(회귀 문제의 경우) 부스팅 방법으로 얻은 앙상블 모델 오류의 감소는 주로 약한 학습기의 높은 편향을 줄임으로써 달성되지만 분산의 감소는 때때로 관찰됩니다. 반면, 병렬 앙상블 방법은 독립적인 약한 학습기를 결합하여 오류를 줄입니다. 즉, 약한 학습기 간의 독립성을 활용합니다. 이러한 오류 감소는 기계 학습 모델의 분산이 감소했기 때문입니다. 따라서 부스팅은 주로 머신러닝 모델의 편향을 줄여 오류를 줄이는 반면, 배깅은 머신러닝 모델의 분산을 줄여 오류를 줄이는 것으로 요약할 수 있습니다. 어떤 앙상블 방법을 선택하느냐는 약한 학습기의 분산이 높은지 아니면 높은 편향을 갖는지에 따라 달라지기 때문에 이는 중요합니다.

약한 학습자를 어떻게 합칠 수 있나요?

이러한 소위 기본 학습자를 생성한 후 우리는 이러한 학습자 중 가장 좋은 것을 선택하지 않고 더 나은 일반화를 위해 함께 결합합니다. 이를 수행하는 방식은 앙상블 접근 방식에서 중요한 역할을 합니다.

평균화: 출력이 숫자인 경우 기본 학습자를 결합하는 가장 일반적인 방법은 평균화입니다. 평균은 단순 평균 또는 가중 평균일 수 있습니다. 회귀 문제의 경우 단순 평균은 모든 기본 모델의 오류 합계를 총 학습자 수로 나눈 값입니다. 가중 평균 결합 출력은 각 기본 학습자에게 서로 다른 가중치를 부여하여 달성됩니다. 회귀 문제의 경우 각 기본 학습기의 오류에 주어진 가중치를 곱한 다음 합산합니다.

투표: 명목 출력의 경우 투표는 기본 학습자를 결합하는 가장 일반적인 방법입니다. 투표에는 다수결, 다수결, 가중투표, 소프트투표 등 다양한 유형이 있습니다. 분류 문제의 경우 절대다수 투표는 각 학습자에게 한 표를 주고 클래스 레이블에 투표합니다. 어떤 클래스 레이블이 50% 이상의 표를 얻었는지가 앙상블의 예측 결과입니다. 그러나 클래스 레이블이 50% 이상의 표를 얻지 못하면 거부 옵션이 제공됩니다. 이는 결합된 앙상블이 어떤 예측도 할 수 없음을 의미합니다. 상대적 다수 투표에서는 가장 많은 표를 얻은 클래스 레이블이 예측 결과이며, 클래스 레이블에는 50% 이상의 표가 필요하지 않습니다. 즉, 3개의 출력 레이블이 있고 3개 모두 40% 30% 30%와 같이 50% 미만의 결과를 얻는 경우 클래스 레이블의 40%를 얻는 것이 앙상블 모델의 예측 결과입니다. . 가중 평균과 마찬가지로 가중 투표는 중요도와 특정 학습자의 강점을 기준으로 분류자에 가중치를 할당합니다. 소프트 투표는 레이블(이진 또는 기타)이 아닌 확률(0과 1 사이의 값)이 있는 클래스 출력에 사용됩니다. 소프트 투표는 다시 단순 소프트 투표(확률의 단순 평균)와 가중치 소프트 투표(학습자에게 가중치를 부여하고 확률에 이 가중치를 곱하여 더함)로 세분화됩니다.

학습: 결합하는 또 다른 방법은 스태킹 앙상블 방법이 사용하는 학습을 통해서입니다. 이 접근 방식에서는 메타 학습자라고 하는 별도의 학습자가 원래 기계 학습 데이터 세트에서 생성된 다른 기본/약한 학습자를 결합하기 위해 새로운 데이터 세트에 대해 훈련됩니다.

부스팅, 배깅 또는 스태킹 여부에 관계없이 세 가지 앙상블 방법 모두 동종 또는 이종 약한 학습기를 사용하여 생성될 수 있습니다. 가장 일반적인 접근 방식은 배깅 및 부스팅에는 동종 약한 학습기를 사용하고, 스태킹에는 이종 약한 학습기를 사용하는 것입니다. 아래 그림은 세 가지 주요 앙상블 방법을 잘 분류한 것입니다.

기계 학습의 앙상블 방법 개요

앙상블 방법의 주요 유형 분류

앙상블 다양성

앙상블 다양성은 기본 학습자가 얼마나 다른지를 나타내며, 이는 좋은 앙상블 모델을 생성하는 데 큰 의미가 있습니다. 서로 다른 조합 방법을 통해 완전히 독립적인(다양한) 기본 학습자는 오류를 최소화할 수 있는 반면, 완전히(고도로) 관련된 학습자는 아무런 개선도 가져오지 않는다는 것이 이론적으로 입증되었습니다. 이는 실제 생활에서 어려운 문제입니다. 동일한 데이터 세트를 사용하여 동일한 문제를 해결하도록 모든 약한 학습자를 교육하고 있어 높은 상관 관계가 발생하기 때문입니다. 게다가 약한 학습자가 실제로 나쁜 모델이 아닌지 확인해야 합니다. 이로 인해 앙상블 성능이 저하될 수도 있기 때문입니다. 반면에 강력하고 정확한 기본 학습자를 결합하는 것은 일부 약한 학습자와 일부 강한 학습자를 결합하는 것만큼 효과적이지 않을 수 있습니다. 따라서 기본 학습기의 정확도와 기본 학습기 간의 차이점 사이에 균형을 맞춰야 합니다.

통합된 다양성을 달성하는 방법은 무엇입니까?

1. 데이터 처리

기본 학습자를 위해 데이터 세트를 하위 세트로 나눌 수 있습니다. 기계 학습 데이터 세트가 큰 경우 데이터 세트를 동일한 부분으로 분할하여 기계 학습 모델에 공급할 수 있습니다. 데이터 세트가 작은 경우 무작위 추출을 복원하여 원래 데이터 세트에서 새 데이터 세트를 생성할 수 있습니다. 배깅 방법은 부트스트래핑 기술을 사용하여 기본적으로 교체를 통한 무작위 샘플링인 새로운 데이터 세트를 생성합니다. 부트스트래핑을 사용하면 생성된 모든 데이터 세트가 서로 다른 값을 가져야 하므로 어느 정도 임의성을 생성할 수 있습니다. 그러나 대부분의 값(이론에 따르면 약 67%)은 여전히 ​​반복되므로 데이터 세트가 완전히 독립적이지는 않습니다.

2. 입력 기능

모든 데이터세트에는 데이터에 대한 정보를 제공하는 기능이 포함되어 있습니다. 하나의 모델에서 모든 기능을 사용하는 대신 기능의 하위 집합을 만들고 다양한 데이터 세트를 생성하여 모델에 제공할 수 있습니다. 이 방법은 랜덤 포레스트(Random Forest) 기법에 의해 채택되었으며, 데이터에 중복된 특징이 많을 때 효과적입니다. 데이터 세트에 특성이 거의 없으면 효율성이 감소합니다.

3. 학습 매개변수

이 기술은 기본 학습 알고리즘에 다양한 매개변수 설정을 적용하여 기본 학습기에서 임의성을 생성합니다. 즉, 하이퍼 매개변수 조정입니다. 예를 들어 정규화 용어를 변경하면 개별 신경망에 서로 다른 초기 가중치를 할당할 수 있습니다.

통합 가지치기

마지막으로 통합 가지치기 기술은 경우에 따라 더 나은 통합 성능을 달성하는 데 도움이 될 수 있습니다. 앙상블 프루닝(Ensemble Pruning)은 모든 약한 학습자를 결합하는 대신 학습자의 하위 집합만 결합하는 것을 의미합니다. 이 외에도 소규모 통합으로 스토리지 및 컴퓨팅 리소스를 절약하여 효율성을 높일 수 있습니다.

마지막으로

이 글은 머신러닝 앙상블 방법에 대한 개요입니다. 모두가 좀 더 깊이 있는 연구를 하고, 더 중요한 것은 연구를 실생활에 적용할 수 있기를 바랍니다.


위 내용은 기계 학습의 앙상블 방법 개요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제