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

maheshakya

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

フレッドフー

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

値が「UK」、「French」、「US」のカテゴリカルフィーチャ「nationality」が1つしかないデータセットがあるとします。一般性を失うことなく、これらが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はブール値です。この空間では、そのような線形関数は、可能性の任意の合計/論理和を表すことができます(たとえば、英語を話す人の予測子となる可能性がある「英国または米国」)。

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

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

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

1つのホットエンコーディングエラーPython機械学習

分類Dev

パフォーマンスを向上させる方法機械学習-DQ学習モデル

分類Dev

この例で「use strict」がパフォーマンスを10倍向上させるのはなぜですか?

分類Dev

テストインスタンスが1つしかない場合に、機械学習モデルのデプロイで機能スケーリングの状況を処理するにはどうすればよいですか?

分類Dev

Sparkは、MLlibでは利用できない巨大なデータフレームと機械学習アルゴリズムによってパフォーマンスを向上させますか?

分類Dev

ランダムな追加コードがパフォーマンスを向上させるのはなぜですか?

分類Dev

2つのフィールドにわたるMysqlの一意のインデックス、パフォーマンスを向上させるために、そのセットの1つのフィールドに個別のインデックスが必要ですか?

分類Dev

SSDがパフォーマンスを向上させないのはなぜですか?

分類Dev

One-Scikitでのホットエンコーディング-DataFrameの一部のみを学習する

分類Dev

機械学習/ NLPテキスト分類:テキストファイルのコーパスからモデルをトレーニングする-scikit learn

分類Dev

PythonとScikitを使用して線形回帰を行うには、1つのホットエンコーディングを使用して学習しますか?

分類Dev

画面をタッチするとパフォーマンスが向上するのはなぜですか?

分類Dev

'like%keyword%'クエリのパフォーマンスを向上させることができるDBインデックスはありますか?

分類Dev

巨大なデータセット(angular.js)でngRepeatのパフォーマンスを向上させる方法は?

分類Dev

ワンホットエンコーディングを除く機械学習でラベルを定義する方法

分類Dev

</ html>タグの後のコードが</ body>の前に移動するのはなぜですか?パフォーマンスの向上はありますか?

分類Dev

Javaで2つのマップを処理しながらパフォーマンスを向上させる方法

分類Dev

特定のドキュメントに最も適切なタグを見つけるためのデータマイニング/テキストマイニング/機械学習の手法はありますか?

分類Dev

トレーニング済みの機械学習モデルの実行でエラーが発生する

分類Dev

パンダの辞書の列から1つのホットエンコーディングを作成する

分類Dev

インテルグラフィックコマンドセンターがローカルホストのポート9001でリッスンしているWebエンドポイントを残すのはなぜですか?

分類Dev

大規模なデータセットでの述語のパフォーマンスを向上させる

分類Dev

Java / JVMベースのアプリケーションで機械学習モデルを適合させてスコアリングする方法

分類Dev

Java / JVMベースのアプリケーションで機械学習モデルを適合させてスコアリングする方法

分類Dev

機械学習モデルで「均一な」スパース性/スパースコーディングを誘導する方法は?

分類Dev

Clojureでのポイントクラウドバウンディングボックス計算のパフォーマンスを向上させる

分類Dev

このインデックスがクエリのパフォーマンスを向上させない理由

分類Dev

このマトリックス検索機能のパフォーマンスを向上させるにはどうすればよいですか?

分類Dev

React 0.14のステートレスコンポーネントは、shouldComponentUpdateなしでどのようにパフォーマンスを向上させますか?

Related 関連記事

  1. 1

    1つのホットエンコーディングエラーPython機械学習

  2. 2

    パフォーマンスを向上させる方法機械学習-DQ学習モデル

  3. 3

    この例で「use strict」がパフォーマンスを10倍向上させるのはなぜですか?

  4. 4

    テストインスタンスが1つしかない場合に、機械学習モデルのデプロイで機能スケーリングの状況を処理するにはどうすればよいですか?

  5. 5

    Sparkは、MLlibでは利用できない巨大なデータフレームと機械学習アルゴリズムによってパフォーマンスを向上させますか?

  6. 6

    ランダムな追加コードがパフォーマンスを向上させるのはなぜですか?

  7. 7

    2つのフィールドにわたるMysqlの一意のインデックス、パフォーマンスを向上させるために、そのセットの1つのフィールドに個別のインデックスが必要ですか?

  8. 8

    SSDがパフォーマンスを向上させないのはなぜですか?

  9. 9

    One-Scikitでのホットエンコーディング-DataFrameの一部のみを学習する

  10. 10

    機械学習/ NLPテキスト分類:テキストファイルのコーパスからモデルをトレーニングする-scikit learn

  11. 11

    PythonとScikitを使用して線形回帰を行うには、1つのホットエンコーディングを使用して学習しますか?

  12. 12

    画面をタッチするとパフォーマンスが向上するのはなぜですか?

  13. 13

    'like%keyword%'クエリのパフォーマンスを向上させることができるDBインデックスはありますか?

  14. 14

    巨大なデータセット(angular.js)でngRepeatのパフォーマンスを向上させる方法は?

  15. 15

    ワンホットエンコーディングを除く機械学習でラベルを定義する方法

  16. 16

    </ html>タグの後のコードが</ body>の前に移動するのはなぜですか?パフォーマンスの向上はありますか?

  17. 17

    Javaで2つのマップを処理しながらパフォーマンスを向上させる方法

  18. 18

    特定のドキュメントに最も適切なタグを見つけるためのデータマイニング/テキストマイニング/機械学習の手法はありますか?

  19. 19

    トレーニング済みの機械学習モデルの実行でエラーが発生する

  20. 20

    パンダの辞書の列から1つのホットエンコーディングを作成する

  21. 21

    インテルグラフィックコマンドセンターがローカルホストのポート9001でリッスンしているWebエンドポイントを残すのはなぜですか?

  22. 22

    大規模なデータセットでの述語のパフォーマンスを向上させる

  23. 23

    Java / JVMベースのアプリケーションで機械学習モデルを適合させてスコアリングする方法

  24. 24

    Java / JVMベースのアプリケーションで機械学習モデルを適合させてスコアリングする方法

  25. 25

    機械学習モデルで「均一な」スパース性/スパースコーディングを誘導する方法は?

  26. 26

    Clojureでのポイントクラウドバウンディングボックス計算のパフォーマンスを向上させる

  27. 27

    このインデックスがクエリのパフォーマンスを向上させない理由

  28. 28

    このマトリックス検索機能のパフォーマンスを向上させるにはどうすればよいですか?

  29. 29

    React 0.14のステートレスコンポーネントは、shouldComponentUpdateなしでどのようにパフォーマンスを向上させますか?

ホットタグ

アーカイブ