0

CART と C4.5 を使用する AdaBoost(Boosting) を実装しています。AdaBoost について読みましたが、AdaBoost とデシジョン ツリーを結合する方法がわかりません。n個の例を持つデータセットDがあるとします。D を TR トレーニング例と TE テスト例に分割しました。TR.count = mとすると、1/mになるように重みを設定し、TRを使用してツリーを構築し、TRでテストして間違った例を取得し、TEでテストしてエラーを計算します。次に、ウェイトを変更します。次に、次のトレーニング セットを取得するにはどうすればよいですか? どのような種類のサンプリングを使用する必要がありますか (置換の有無にかかわらず)? 新しいトレーニング セットは、間違って分類されたサンプルにもっと焦点を当てる必要があることはわかっていますが、どうすればこれを達成できますか? CART や C4.5 は、重みの大きい例に焦点を当てる必要があることをどのように判断するのでしょうか?

4

1 に答える 1

1

私が知っているように、TE データ セットはエラー率を推定するために使用することを意味するものではありません。生データは 2 つの部分に分割できます (1 つはトレーニング用、もう 1 つは交差検証用)。主に、トレーニング データ セットの分布に重みを適用する方法は 2 つあります。どの方法を使用するかは、選択した弱学習器によって決まります。

重みを適用する方法は?

  • トレーニング データ セットを置換せずに再サンプリングしますこの方法は、加重ブースティング法と見なすことができます。生成されたリサンプリング データ セットには、正しく分類されたものよりも高い確率で誤分類インスタンスが含まれているため、弱い学習アルゴリズムが誤分類されたデータに集中するように強制されます。

  • 学習時に重みを直接使用します。これらのモデルには、ベイジアン分類、デシジョン ツリー (C4.5 および CART) などが含まれます。C4.5 に関しては、次のノードとしてどの予測子が選択されるかを決定するために、ゲイン情報 (突然変異情報) を計算します。したがって、重みとエントロピーを組み合わせて測定値を推定できます。たとえば、分布におけるサンプルの確率として重みを表示します。X = [1,2,3,3] とすると、重みは [3/8,1/16,3/16,6/16 ] になります。通常、X の交差エントロピーは (-0.25log(0.25)-0.25log(0.25)-0.5log(0.5)) ですが、重みを考慮すると、その加重交差エントロピーは (-(3/8) log(3/8)-(1/16)log(1/16)-(9/16log(9/16)))。一般に、C4.5 は重み付きクロスエントロピーによって実装でき、その重みは [1,1,...,1]/N です。AdaboostM.1 を C4.5 アルゴリズムで実装したい場合は、339 ページの内容を読む必要があります。

于 2016-12-31T09:40:15.047 に答える