Weka에서 Ensemble 기계 학습 알고리즘 사용

Ensemble 알고리즘 여러 모델의 예측을 결합하는 강력한 기계 학습 알고리즘입니다. 기계 학습에 Weka를 사용하면 얻을 수있는 이점은 다양한 앙상블 기계 학습 알고리즘을 사용할 수 있다는 것입니다.

앙상블 알고리즘 개요

상위 5 개 항목을 살펴 보겠습니다. Weka의 앙상블 기계 학습 알고리즘. 다루게 될 각 알고리즘은 작동 방식과 관련하여 간략하게 설명되며 주요 알고리즘 매개 변수와 알고리즘 자체가 Weka Explorer 인터페이스에서 시연 될 것입니다.

5 가지 알고리즘 살펴 보겠습니다.

  1. 배깅
  2. 랜덤 포레스트
  3. AdaBoost
  4. 투표
  5. 스태킹

표준 기계 학습 분류 문제를 사용하여 각 알고리즘을 시연합니다. 특히 Ionosphere 바이너리 분류 문제입니다. 이것은 입력 변수가 숫자이고 모두 같은 척도를 가지고 있기 때문에 분류 알고리즘을 보여주기에 좋은 데이터 세트입니다. 문제는 구별 할 클래스가 두 개뿐입니다.

각 인스턴스는 대기로부터의 레이더 반사 특성을 설명합니다. 작업은 전리층에 구조가 있는지 여부를 예측하는 것입니다. 일반적으로 동일한 척도의 34 개의 숫자 입력 변수가 있습니다. UCI Machine Learning Repository 에서이 데이터 세트에 대해 자세히 알아볼 수 있습니다. 최상위 결과는 98 % 정확도입니다.

Weka 탐색기 시작 :

  1. Weka GUI 선택기를 엽니 다.
  2. 탐색기를 클릭합니다. ”버튼을 눌러 Weka Explorer를 엽니 다.
  3. data / ionosphere.arff 파일에서 Ionosphere 데이터 세트를로드합니다.
  4. 분류를 클릭하여 분류 탭을 엽니 다. .

1. Bagging

Bootstrap Aggregation 또는 줄여서 Bagging은 분류 또는 회귀에 사용할 수있는 앙상블 알고리즘입니다. 부트 스트랩은 데이터의 여러 무작위 샘플 (대체 포함)에서 평균과 같은 통계량을 추정하는 통계 추정 기술입니다. 데이터 양이 제한되어 있고 통계적 수량에 대한보다 강력한 추정치에 관심이있을 때 유용한 기술입니다.

이 샘플 원리는 머신 러닝 모델과 함께 사용할 수 있습니다. 훈련 데이터의 여러 무작위 샘플이 대체로 그려지고 여러 다른 기계 학습 모델을 훈련하는 데 사용됩니다. 그런 다음 각 모델을 사용하여 예측하고 결과를 평균하여 더 강력한 예측을 제공합니다.

편향이 낮고 분산이 높은 모델에 가장 적합합니다. 즉, 예측이 수행된다는 의미입니다. 훈련 된 특정 데이터에 크게 의존합니다. 이러한 높은 분산 요구 사항에 맞는 배깅에 가장 많이 사용되는 알고리즘은 의사 결정 트리입니다.

배깅 알고리즘 선택 :

  1. 선택버튼을 클릭하고 배깅을 선택합니다. “meta”그룹 아래에 있습니다.
  2. 알고리즘 구성을 검토하려면 알고리즘 이름을 클릭합니다.
배깅 알고리즘을위한 Weka 구성

배깅의 주요 구성 매개 변수는 배깅되는 모델의 유형입니다. . 기본값은 분류 및 회귀 트리 또는 줄여서 CART라고도하는 표준 의사 결정 트리의 Weka 구현 인 REPTree입니다. 이는 분류 자 ​​매개 변수에 지정됩니다.

각 무작위 샘플의 크기는 원시 학습 데이터 세트의 백분율 크기 인 “bagSizePercent”에 지정됩니다. 기본값은 100 %이며 학습 데이터 세트와 동일한 크기의 새로운 무작위 샘플을 생성하지만 구성이 다릅니다.

이것은 무작위 샘플이 대체로 그려지기 때문입니다. 즉, 매번 인스턴스는 학습 데이터 세트에서 무작위로 추출되어 샘플에 추가됩니다. 또한 학습 데이터 세트에 다시 추가되어 다시 선택하여 샘플에 두 번 이상 추가 할 수 있습니다.

마지막으로, 백 수 (및 분류 자 ​​수)는 “numIterations”매개 변수에 지정 될 수 있습니다. 수백 또는 수천 개의 값을 사용하는 것이 일반적이지만 기본값은 10입니다. 모델이 더 이상 개선되지 않거나 메모리가 부족해질 때까지 “numIterations”값을 계속 늘립니다.

  1. 알고리즘 구성을 닫으려면 “확인”을 클릭합니다.
  2. 시작버튼을 클릭하여 Ionosphere 데이터 세트에서 알고리즘을 실행합니다.

배깅이 91 %의 정확도를 달성하는 기본 구성을 확인할 수 있습니다.

배깅 알고리즘에 대한 Weka 분류 결과

2.Random Forest

Random Forest는 분류 또는 회귀에 사용할 수있는 의사 결정 트리에 대한 배깅의 확장입니다. 배깅 된 의사 결정 트리의 단점은 의사 결정 트리가 트리 구축 프로세스의 각 단계에서 최상의 분할 지점을 선택하는 탐욕스러운 알고리즘을 사용하여 구성된다는 것입니다. 따라서 결과 트리는 결과적으로 모든 백에서 예측의 분산이 감소하여 결과적으로 생성 된 예측의 견고성을 저하시키는 매우 유사하게 보입니다.

Random Forest는 백화 된 의사 결정 트리를 개선 한 것입니다. 는 트리 생성 중에 탐욕스러운 분할 알고리즘을 방해하므로 분할 지점은 입력 속성의 임의 하위 집합에서만 선택할 수 있습니다. 이 간단한 변경은 배깅 된 트리 간의 유사성을 감소시키고 결과 예측을 줄이는 데 큰 영향을 미칠 수 있습니다.

무작위 포리스트 알고리즘을 선택합니다.

  1. 선택을 클릭합니다. 버튼을 클릭하고 “trees”그룹에서 “RandomForest”를 선택합니다.
  2. 알고리즘 구성을 검토하려면 알고리즘 이름을 클릭합니다.
랜덤 포레스트 알고리즘을위한 Weka 구성

나열된 매개 변수 외에 위의 배깅에 대해 랜덤 포레스트의 주요 매개 변수는 각 분할 지점에서 고려할 속성의 수입니다. Weka에서는 “numFeatures”속성으로 제어 할 수 있습니다.이 속성은 기본적으로 0으로 설정되어 있으며 경험에 따라 자동으로 값을 선택합니다.

  1. 닫기 위해 “확인”을 클릭합니다. 알고리즘 구성.
  2. 시작버튼을 클릭하여 Ionosphere 데이터 세트에서 알고리즘을 실행합니다.

기본 구성을 사용하면 임의의 포리스트가 정확도를 달성한다는 것을 알 수 있습니다. 92 % 중 :

무작위 포리스트 알고리즘에 대한 Weka 분류 결과

3. AdaBoost

AdaBoost는 분류 문제를위한 앙상블 기계 학습 알고리즘입니다. 부스팅이라고하는 앙상블 방법 그룹의 일부로, 후속 모델이 이전 모델에서 만든 예측 오류를 수정하려고 시도하는 시리즈에 새로운 기계 학습 모델을 추가합니다. AdaBoost는 이러한 유형의 모델을 처음으로 성공적으로 구현했습니다.

Adaboost는 각각 단일 의사 결정 지점이있는 짧은 의사 결정 트리 모델을 사용하도록 설계되었습니다. 이러한 짧은 트리를 종종 결정 스텀프라고합니다.

첫 번째 모델은 정상에 따라 구성됩니다. 훈련 데이터 세트의 각 인스턴스에 가중치가 부여되고 가중치는 모델의 전체 정확도와 인스턴스가 올바르게 분류되었는지 여부에 따라 업데이트됩니다. 후속 모델은 최소 정확도에 도달하거나 더 이상 개선이 불가능할 때까지 훈련되고 추가됩니다. 각 모델은 기술에 따라 가중치가 부여되며 이러한 가중치는 새 데이터에 대한 모든 모델의 예측을 결합 할 때 사용됩니다.

AdaBoost 알고리즘 선택 :

  1. “선택”버튼을 누르고 “메타”그룹에서 “AdaBoostM1″을 선택합니다.
  2. 알고리즘 구성을 검토하려면 알고리즘 이름을 클릭합니다.
AdaBoost 알고리즘을위한 Weka 구성

AdaBoost 모델은 분류 자 ​​매개 변수로 지정할 수 있습니다. 기본값은 결정 스텀프 알고리즘이지만 다른 알고리즘을 사용할 수 있습니다. 약한 학습자에 추가되는 핵심 매개 변수는 시리즈를 만들고 추가 할 모델의 수입니다. “numIterations”매개 변수에 지정할 수 있으며 기본값은 10입니다.

  1. 알고리즘 구성을 닫으려면 “확인”을 클릭합니다.
  2. 실행하려면 “시작”버튼을 클릭합니다. Ionosphere 데이터 세트의 알고리즘입니다.

기본 구성에서 AdaBoost가 90 %의 정확도를 달성하는 것을 볼 수 있습니다.

AdaBoost 알고리즘에 대한 Weka 분류 결과

4. 투표

투표는 아마도 가장 간단한 앙상블 알고리즘이며 종종 매우 효과적입니다. 분류 또는 회귀 문제에 사용할 수 있습니다. 투표는 두 개 이상의 하위 모델을 생성하여 작동합니다. 각 하위 모델은 예측의 평균 또는 모드를 취하는 것과 같은 방식으로 결합 된 예측을 수행하여 각 하위 모델이 결과가 무엇인지에 대해 투표 할 수 있도록합니다.

투표 선택 알고리즘 :

  1. 선택버튼을 클릭하고 메타그룹에서 투표를 선택합니다.
  2. 알고리즘 구성을 검토하려면 알고리즘 이름을 클릭합니다.
투표 앙상블 알고리즘을위한 Weka 구성

투표 앙상블의 핵심 매개 변수는 하위 모델을 선택하는 것입니다. 모델은 “classifiers”매개 변수의 Weka에서 지정할 수 있습니다.이 매개 변수를 클릭하면 여러 분류 기준을 추가 할 수 있습니다.

투표 앙상블 알고리즘을위한 Weka 알고리즘 선택

분류 기준을 선택한 상태에서 수정버튼을 클릭하면 해당 분류 기준의 세부 정보를 구성 할 수 있습니다. 하위 모델을 선택하는 목적은 매우 다른 예측 (비 상관 예측)을 수행하는 모델을 선택하는 것입니다. 따라서 트리, 인스턴스 기반 방법, 함수 등과 같이 매우 다른 모델 유형을 선택하는 것은 경험상 좋은 규칙입니다.

투표를 위해 구성 할 또 다른 주요 매개 변수는 예측 방법입니다. 하위 모델이 결합됩니다. 이것은 기본적으로 확률의 평균을 취하도록 설정된 “combinationRule”매개 변수에 의해 제어됩니다.

  1. 알고리즘 구성을 닫으려면 “확인”을 클릭하십시오.
  2. 클릭 Ionosphere 데이터 세트에서 알고리즘을 실행하려면 시작버튼을 클릭하세요.

기본 구성에서 Vote가 64 %의 정확도를 달성한다는 것을 알 수 있습니다. 이 기술은 ZeroR 하위 모델 만 선택했기 때문에 결과가 좋지 않았습니다.

5. 스태킹

스택 일반화 또는 간단히 스태킹은 분류 및 회귀 문제에 사용할 수있는 투표 앙상블의 간단한 확장입니다.

여러 하위 모델을 선택하는 것 외에도 스태킹을 사용하면 다른 모델을 지정하여 하위 모델의 예측을 가장 잘 결합하는 방법을 학습합니다. 메타 모델은 하위 모델의 예측을 가장 잘 결합하는 데 사용되기 때문에이 기술은 예측을 함께 혼합하는 것처럼 혼합이라고도합니다.

스택 알고리즘 선택 :

  1. Choose버튼을 클릭하고 meta그룹에서 Stacking을 선택합니다.
  2. 알고리즘 구성을 검토하려면 알고리즘 이름을 클릭합니다.
스태킹 앙상블 알고리즘을위한 Weka 구성

Vote 분류기와 마찬가지로 classifiers 매개 변수에 하위 모델을 지정할 수 있습니다. 하위 모델의 예측을 가장 잘 결합하는 방법을 학습하도록 학습 될 모델은 기본적으로 ZeroR로 설정되는 “metaClassifier”매개 변수에 지정할 수 있습니다. 회귀 및 분류 유형 문제에 대해 각각 선형 회귀 또는 로지스틱 회귀와 같은 선형 알고리즘을 사용하는 것이 일반적입니다. 이는 하위 모델 예측의 단순한 선형 조합 인 출력을 얻기위한 것입니다.

  1. 알고리즘 구성을 닫으려면 확인을 클릭하세요.
  2. Ionosphere 데이터 세트에서 알고리즘을 실행하려면 시작버튼을 클릭하세요.

기본 구성에서 Stacking이 64 %의 정확도를 달성한다는 것을 알 수 있습니다.

스태킹 앙상블 알고리즘에 대한 Weka 분류 결과

다시 , 투표와 마찬가지로 Stacking은 ZeroR 하위 모델 만 선택 되었기 때문에 좋지 않은 결과를 얻었습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다