ハッシュトリック-実際に何が起こるか


12

MLアルゴリズム、たとえばVowpal Wabbitや、クリックスルーレートコンペティション(Kaggle)に勝ついくつかの因数分解マシンが、機能が「ハッシュ化されている」と言及するとき、実際にはモデルにとって何を意味するのでしょうか?インターネットアドのIDを表す変数があり、「236BG231」などの値をとるとしましょう。次に、この機能がランダムな整数にハッシュされることを理解しています。しかし、私の質問は:

  • モデルで現在使用されている整数(整数(数値)または
  • ハッシュされた値は、実際にはまだカテゴリー変数のように扱われ、ワンホットエンコードされていますか?したがって、ハッシュのトリックは、単に大きなデータで何らかの形でスペースを節約することですか?

回答:


7

2番目の箇条書きは、機能ハッシュの値です。ハッシュと1つのホットエンコーディングでスパースデータを使用すると、スペースを節約できます。ハッシュアルゴに応じて、一種の次元削減として機能する衝突の程度を変えることができます。

また、Kaggleフィーチャハッシュと1つのホットエンコーディングの特定のケースでは、フィーチャのすべての可能なタプル(通常は2次、場合によっては3番目)を取得することでフィーチャの拡張/エンジニアリングを支援します。一方、個々の機能はそうではありません。

ほとんどの場合、LRの機能選択とエラスティックネット正則化と組み合わせたこの手法は、1つの隠れ層NNと非常によく似た動作をするため、競技会で非常によく機能します。


したがって、ハッシュ値だけでワンホットエンコーディングが使用されます*これは、あなたが言うようにスペースを節約し、次元の減少を引き起こす可能性があります(衝突が発生します)。あれは正しいですか?
B_Miner 14年

1
1つのホストエンコーディングは、ハッシュ機能の必須の部分ではありませんが、予測力を高めるのに役立つため、多くの場合一緒に使用されます。1つのホットエンコーディングを考える1つの方法は、特徴をN個の離散値のセットからN個のバイナリ質問に変換することです。おそらく、機能Jが2か3であるかどうかは、4ではないということを知ることは重要ではありません。OneHotはその区別を具体的にします。これは線形モデルで非常に役立ちますが、アンサンブルアプローチ(RFなど)は、特徴のブレークポイントをスキャンしてその区別を見つけます。
cwharland 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.