web-dev-qa-db-ja.com

1つのホットエンコーディングで機械学習のパフォーマンスが向上するのはなぜですか?

One Hotエンコードが特定のデータセット(マトリックス)で使用され、学習アルゴリズムのトレーニングデータとして使用されると、トレーニングデータとして元のマトリックス自体を使用する場合と比較して、予測精度に関して非常に優れた結果が得られることに気付きました。このパフォーマンスの向上はどのように発生しますか?

121
maheshakya

多くの学習アルゴリズムは、特徴ごとに単一の重みを学習するか、サンプル間の距離を使用します。前者は、ロジスティック回帰などの説明が簡単な線形モデルの場合です。

値が「UK」、「French」、および「US」である単一のカテゴリフィーチャ「国籍」のみを持つデータセットがあるとします。一般性を失うことなく、これらは0、1、2としてエンコードされていると仮定します。次に、線形分類器でこの機能の重みwを取得し、制約w×x + b> 0に基づいて何らかの決定を行います。 、または同等にw×x <b。

現在の問題は、重みwが3者間選択をエンコードできないことです。 w×xの3つの可能な値は、0、w、および2×wです。これら3つすべてが同じ決定(すべて<bまたは≥b)または「UK」と「French」が同じ決定をもたらすか、「French」と「US」が同じ決定をもたらすかのいずれかです。モデルが「UK」と「US」に同じラベルを付け、「French」に奇数を付ける必要があることを学習する可能性はありません。

ワンホットエンコーディングにより、機能空間を3つの機能に効果的に拡張し、それぞれが独自の重みを取得するため、決定関数はw [UK] x [UK] + w [FR] x [FR] + wになります。 [US] x [US] <b、ここですべてのxはブール値です。この空間では、そのような線形関数は可能性の和/分離を表現できます(たとえば、英語を話す人の予測子となる可能性のある "UK or US")。

同様に、サンプル間の標準距離メトリック(k最近傍など)に基づいた学習者は、ワンホットエンコードなしで混乱します。単純なエンコーディングとユークリッド距離では、フランス語と米国間の距離は1です。米国と英国間の距離は2です。ただし、ワンホットエンコーディングでは、[1、0、0]、[0、1間のペアワイズ距離、0]および[0、0、1]はすべて√2に等しい。

これは、すべての学習アルゴリズムに当てはまるわけではありません。決定木とランダムフォレストなどの派生モデルは、十分に深ければ、ワンホットエンコードなしでカテゴリ変数を処理できます。

252
Fred Foo

ワンホットエンコーディングを行うことによる機能の増加については、機能ハッシュを使用できます。ハッシュを行う場合、バケットの数を、新しく導入された機能の数よりもはるかに少なく指定できます。

3
user3764384