回答:
多くの学習アルゴリズムは、フィーチャごとに1つの重みを学習するか、サンプル間の距離を使用します。前者は、説明が簡単なロジスティック回帰などの線形モデルの場合です。
「UK」、「French」、「US」という値を持つ単一のカテゴリ特徴「nationality」のみを含むデータセットがあるとします。一般性を失うことなく、これらは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」が同じ決定を与えるかのいずれかです。モデルが「イギリス」と「アメリカ」に同じラベルを付ける必要があることを学習する可能性はなく、「フレンチ」は奇妙なラベルです。
ワンホットエンコーディングにより、特徴空間を3つの特徴に効果的に爆破し、それぞれ独自の重みを取得するため、決定関数はw [UK] x [UK] + w [FR] x [FR] + wになります。 [US] x [US] <b、xはすべてブール値。この空間では、このような線形関数は、可能性の和/選言を表現できます(たとえば、英語を話す人の予測因子である「UKまたはUS」)。
同様に、サンプル間の標準的な距離メトリック(k最近傍など)に基づく学習者は、ワンホットエンコーディングを行わないと混乱します。単純なエンコーディングとユークリッド距離では、フランス語とUSの間の距離は1です。しかし、USとUKの間の距離は2です。ただし、ワンホットエンコーディングでは、[1、0、0]、[0、1 、0]および[0、0、1]はすべて√2に等しい。
これはすべての学習アルゴリズムに当てはまるわけではありません。ディシジョンツリーおよびランダムフォレストなどの派生モデルは、十分に深い場合、ワンホットエンコーディングなしでカテゴリ変数を処理できます。
ワンホットエンコーディングを行うことによる機能の増加については、機能ハッシュを使用できます。ハッシュを行う場合、バケットの数を新しく導入された機能の数よりもはるかに少なく指定できます。
カテゴリを予測する場合は、セットのアイテムを予測する必要があります。ワンホットエンコーディングを使用しないことは、特定の方法で特定の順序で整理された隣接カテゴリ(たとえば、カテゴリの整数で回帰を行った場合)をカテゴリに持たせることに似ています。
ここで、ワンホットエンコーディングを行わずにカテゴリ0から0、カテゴリ1から1、カテゴリ2から2を割り当て、アルゴリズムの予測が0または2を選択する必要があるかどうかわからない場合はどうなるでしょうか。彼はそれが0か2のどちらかだと思いますか?
あなたはそれがどこに行くのかわかります。同じことがデータ入力にも当てはまります。それらが近傍であるはずがない場合は、それらを近傍としてアルゴリズムに表示しないでください。