モデルアンサンブルとは?
名前が示すように、アンサンブルはいくつかの機械学習アルゴリズムをまとめたものです。このアプローチは、個々のアルゴリズムの「ポジティブな品質」を向上させるためによく使用されます。これは、それ自体ではうまく機能しない可能性がありますが、グループ - アンサンブルでは、良い結果をもたらします。アンサンブル法を使用する場合、アルゴリズムは同時に学習し、互いの間違いを修正できます。「弱い」生徒を強い生徒のグループにまとめる方法の典型的な例は次のとおりです (図 1)。
かしめ。異なる個々のモデルが考慮される場合があります。基本モデルを入力として受け取るメタモデルがあり、最終的な予測は出力です。
袋詰め。独立して並行してトレーニングされた同種モデルが考慮され、それらの結果は単純に平均化されます。この方法の顕著な代表はランダム フォレストです。
ブースティング。順次トレーニングされる同種モデルを考慮し、後続のモデルは前のモデルのエラーを修正する必要があります。もちろん、ここでは勾配ブースティングが思い浮かびます。
これら 3 つの方法については、以下で詳しく説明します。
ステーキング
. . sklearn.ensemble python AdaBoost, Bagging, GradientBoosting, Stacking ( ).
: . , (SVM), k- (KNN) . . ( ), - .
(. 2):
k ( , -).
, k- , , k-1 . .
.
.
2
:
, .
, , . , , , .
, , , . , , . n , n - . , ~ 0.632*n . , m m .
. , .
, , (. 3). ai .
(. 4):
() , , - . , , . , , . , , (. 5). .
:
, , . , - , , . : - .
, . , , .
: AdaBoost. - , (. 6).
. :
, .
,
, ,
- AdaBoost, , , . , , .
:
このように、個々の機械学習モデルの機能の品質を向上させるために、それらを組み合わせてアンサンブルにするための多くの手法があることがわかりました。これらの手法はすでにソフトウェア製品に組み込まれており、ソリューションを改善するために使用できます。ただし、私の観点からすると、問題を解決するとき、すぐにそれらを引き受けるべきではありません。最初に 1 つの単純な個別のモデルを試し、それが特定のデータでどのように機能するかを理解してから、アンサンブルを使用することをお勧めします。