科学文献では「ワンホット」エンコーディングとは何ですか?


10

カテゴリカルベクトルを取得し、ワンホットエンコーディングを使用してバイナリ表現に変換する演算子の名前は何ですか?私は科学論文を書いていて、そのための適切な名前が必要なので、私は不思議に思っています。


3
ダミーエンコーディングは別の名前です。機械学習では、誰もが1つの単純なタイプを使用するだけなので、これが何であるかは明らかですが、統計で使用される、同様の役割を果たす他のタイプのコントラストコーディング(別の名前)とマイナスのアイデアなどがあります。あなたはもう少し具体的にすることができます。
Gijs

7
統計とデータ分析では、機械学習のずっと前から、このタイプのカテゴリエンコーディングはダミー変数またはインジケータタイプのコントラスト変数として知られていました。
ttnphns 2017年

回答:


18

統計学者は、ワンホットエンコーディングをダミーコーディングと呼びます。他の人が提案したように(コメントのScortchiを含む)、これは正確な同義語ではありませんが、これは通常0-1エンコードされたカテゴリー変数に使用される用語です。

参照:名義/カテゴリデータの「ダミー変数」と「インジケータ変数」


3
ああ!忘れたなんて信じられない。それらを指標とも呼んでいます。
Tim Atreides 2017年

2
「ダミーコーディング」は同義語だとは思いません。これは、一般的な意味で、数値変数のセットでカテゴリ変数を表すことを意味するか、「参照レベルのコーディング」で「ワンホットエンコーディング」とは異なるものとして使用されます(例:ワンホットエンコーディングとダミーエンコーディングの問題)。。「レベル平均コーディング」(回帰モデルで「ダミーコーディングおよび効果コーディングのような」「コーディング」と呼ばれるものを参照してください)はワンホットエンコーディングを示しますが、線形モデルコンテキストもおそらく暗示します...
Scortchi-Reinstateモニカ

2
...一般的に強く使用します。
Scortchi-モニカの回復

3
それ自体は定義を見たことがありませんが、統計ではダミー変数は常に(N-1)変数を使用してN因子をコーディングすることを意味しますが、ワンホットエンコーディングはN変数を使用してN因子をコーディングします。この違いは、実際には非常に重要です。回帰にワンホットエンコーディングを使用すると、変数の依存関係のためにナンセンスになります。
me'h

2
@aginensky人々は確かにどんな変数を持っているかに正確に注意を払うべきですが、良い回帰ルーチンはそのような状況ではナンセンスを生み出しません:それはただ1つの予測子を省略してあなたにそう言うだけです。
Nick Cox

8

それはあなたの対象者に依存します。

ティムが言った、統計学者は、それがコーディングダミー呼び出して、それは私が回帰モデルのようなものを記述する際に参照するために期待するものです。「店の場所を調整するために、ダミーのコード化された変数が含まれていました。」ここでは、ワンホットエンコーディングと呼ぶのは少し奇妙に思えるかもしれません。

ただし、別のティムも言ったように、ワンホットエンコーディングは機械学習の文献ではかなり一般的です。少なくとも私には、ノード(ニューラルネットワークなど)、物理的なワイヤー(デバイス内)などの存在がかすかに暗示されています。

正式には、インジケーター関数のセット適用していると思いますが、これはおそらく証明の外ではあまりにも形式的すぎるでしょう。IX


6

この用語は電子工学に由来します。誰が1を「ホット」と呼ぶでしょうか?「ホット」または「ライブ」とは、電線に電位があることを意味する、電気で作業する人のみです。「ワンホット」とは、1本のワイヤの個別の電気信号レベルが1組のワイヤのホット/コールドにデコードされる回路設計を指します。EEのバックグラウンドを持つ一部の機械学習の人は、このアナロジーが説得力があると思ったと思います。

計量経済学と統計では、dummyまたはindicator変数が発生する可能性があります。これらは、個別のインジケーターで個別のカテゴリを表すために使用されるため、非常によく似ています。ただし、微妙な違いがあります。たとえば、ベースカテゴリが0に設定されたすべてのダミーに対応するため、KカテゴリのK-1ダミーを作成します。対照的に、1つのホットエンコーディングでは、ベースカテゴリが独自のワイヤ(変数)。


5

私は統計的に訓練を受けており、最近、機械学習/ comp sci litの「ワンホットエンコーディング」について聞いたことがあります。通常、ワンホットマトリックスを単に設計マトリックス/データマトリックス/設計フレームと呼びます。


そのために引用できる参考資料はありますか?私は科学的な出版物を書いており、この論文はMLコミュニティ向けではなく幅広いため、この方法についてすべての読者に明確にしたいと思います。
フラクタイル

動詞として「ワンホット」を聞いたことがあるとは言えない。しかし、私は同様に数学的/統計的方向からこれに来ています。(「ワンホット」に関するGoogleの結果は興味深いです-私は機械学習の意味と「ワンホットカー」について話す人々の混合を取得します。)
Michael Lugo

3

物理科学と工学では、(一般化された)クロネッカーデルタと呼ばれます。

最も単純な形式では、クロニカーデルタはとして定義されこれは簡単に一般化されて δ [ 条件]{ 1 なら[ 条件] 0 他に

δi,j{1ifi=j0else,
δ[condition]{1if[condition]0else.

したがって、「」は、として読み取られる傾向があります 最も多いカテゴリーが文脈から明らかである場合、著者は「」に切り捨てる傾向があります。δ I カテゴリ{ 1 かのI カテゴリ0 他に δ Iδicategory

δicategory{1ificategory0else,
δi

クロネッカーのデルタは、本当に便利ですシグマ / パイ / アインシュタインの/ etc。用語を条件付きで指定できるため、表記法。

これを一般的なプログラミング構造であるクロネッカーデルタに関連付けるだけです。condition?1:0ここ?:で、は条件演算子です。


接線の注記として、私は著者に一般化された同等のを優先して古い方法のを放棄することをお勧めします。一般的な表記法はより明示的で拡張可能ですが、昔ながらの表記法には利点はありません。δ iの= jでδi,jδi=j


ここにリンクが表示されません。ワンホットは、変数の状態ごとに1つの変数をセットにデコードします。このアプリケーションでクロネッカーデルタはどのように使用されますか?
Aksakal

@Aksakal この投稿は、「VW」、「Acura」、および「Honda」という可能な値でカテゴリ「CompanyName」をエンコードする例を示しています。これは、これらの値名によって3つの変数になります。ここで、@ Timの答えはそれらの「ダミー変数」を呼び出します。これらは、クロネッカーデルタ、、およびと同じものです。{0,1}δVWδAcuraδHonda
2017年

@Aksakal私は一般的な表記を好みますが、古い表記では、それはなどになります。 。δi,jδCompanyName,VW
ナット・

あなたが呼ばれる変数があります。このようなダミーの作品と。観測値はであるため、との値が得られます。車がHONDAの場合はどちらもゼロです。ここでは車のはないことに注意してください、それは観察の数です。これをどのようにクロネッカーデルタに接続するかはまだわかりません。、元の変数が場合、デルタはVWACURAi=1..NVWiACURAiiCARiVWi=δ(CARi,VW)
Aksakal

VWiδVWiδiVWi10

2

Christopher Bishopによるパターン認識と機械学習では、 -of-スキームという用語を使用しています。1K

これは本からの引用です、

バイナリ変数を使用して、2つの可能な値のいずれかを取ることができる数量を説明できます。ただし、多くの場合、相互に排他的な可能な状態の1つをとることができる離散変数に遭遇します。そのような変数を表現するさまざまな代替方法がありますが、特に便利な表現は、変数が次元ベクトルで表される -of-スキームであることを間もなく確認します。要素はに等しく、残りのすべての要素は等しくなり。したがって、たとえば、とることができる変数がある場合1 K K x x k 1 0 K = 6 x 3 = 1 xK1KKxxk10K=6状態と変数の特定の観測値が状態に対応する場合、 は次のように表されます。x3=1x

x=(0,0,1,0,0,0)T

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.