Qual è la codifica "one-hot" chiamata nella letteratura scientifica?


10

Qual è il nome dell'operatore che prende un vettore categorico e lo trasforma in rappresentazione binaria usando la codifica a caldo? Mi chiedo da quando scrivo un articolo scientifico e ho bisogno di un nome proprio per questo.


3
La codifica fittizia è un altro nome. Nell'apprendimento automatico, tutti usano solo un tipo semplice, quindi è abbastanza chiaro di cosa si tratta, ma ci sono altri tipi di codifica del contrasto (un altro nome) con meno e altre idee, che svolgono un ruolo simile, utilizzato nelle statistiche e così via puoi essere un po 'più specifico.
Gijs,

7
Nella statistica e nell'analisi dei dati, molto prima dell'apprendimento automatico, questo tipo di codifica categorica era noto come variabili fittizie o variabili di contrasto di tipo indicatore .
ttnphns,

Risposte:


18

Gli statistici chiamano la codifica one-hot come codifica fittizia . Come altri hanno suggerito (incluso Scortchi nei commenti), questo non è un sinonimo esatto, ma questo è il termine che verrebbe normalmente usato per le variabili categoriali codificate 0-1.

Vedi anche: "Variabile fittizia" rispetto a "variabile indicatore" per dati nominali / categorici


3
Duh !! Non posso credere di averlo dimenticato. Mi riferisco anche a loro come indicatori.
Tim Atreides,

2
Non credo che "codifica fittizia" sia un buon sinonimo. È usato in senso generale per indicare la rappresentazione di una variabile categoriale con un insieme di variabili numeriche, oppure per "codifica a livello di riferimento" come distinta da "codifica one-hot", ad esempio in Problemi con codifica one-hot e codifica fittizia . "Codifica a livello significa" (vedi Esiste qualcosa chiamato "codifica media" (come codifica fittizia e codifica di effetti) nei modelli di regressione? ) Denota una codifica a caldo, ma connota forse anche un contesto di modello lineare ...
Scortchi - Ripristina Monica

2
... fortemente per uso generale.
Scortchi - Ripristina Monica

3
Non ho mai visto una definizione in sé, ma per me le variabili fittizie nelle statistiche implicano sempre la codifica di N fattori con variabili (N-1) mentre la codifica one-hot codificherà N fattori con N variabili. Questa differenza è estremamente importante nella pratica. Se si utilizza la codifica one-hot per le regressioni, si otterrebbero assurdità a causa della dipendenza delle variabili!
Meh

2
@aginensky Anche se le persone dovrebbero certamente prestare attenzione esattamente a quali variabili hanno, una buona routine di regressione non produrrà sciocchezze in quella circostanza: ometterà solo un predittore e te lo dirà.
Nick Cox,

8

Dipende dal tuo pubblico di destinazione.

Come ha detto Tim , gli statistici lo chiamano codifica fittizia, ed è quello che mi aspetterei di vedere descrivendo qualcosa come un modello di regressione. "Sono state incluse variabili fittizie codificate per adattarsi alla posizione del negozio." Penso che chiamarlo una codifica one-hot sembrerebbe leggermente strano qui.

Tuttavia, come ha detto anche un altro Tim , la codifica a caldo è abbastanza comune nella letteratura dell'apprendimento automatico. Implica debolmente l'esistenza di nodi (come in una rete neurale), fili fisici (in un dispositivo) o qualcosa del genere, almeno per me.

Formalmente, suppongo che tu stia applicando una serie di funzioni indicatore , ma probabilmente è troppo formale al di fuori di una prova.IX


6

Il termine deriva dall'ingegneria elettronica. Pensi solo chi chiamerebbe 1 "caldo"? Solo quelli che lavorano con l'elettricità, dove "caldo" o "vivo" significa che c'è un potenziale elettrico sul filo . "One hot" si riferisce al design del circuito in cui il livello del segnale elettrico discreto su un filo verrebbe decodificato in caldo / freddo su un set di fili. Suppongo che alcune persone di machine learning con background EE abbiano trovato convincente l'analogia.

In econometria e statistica potresti incontrare dummyo indicatorvariabili, che sono abbastanza simili perché sono usate per rappresentare categorie distinte con i loro indicatori distinti. C'è una sottile differenza però. Ad esempio, crei dei manichini K-1 per le categorie K, perché la categoria di base corrisponde a tutti i manichini impostati su 0. Al contrario, penso che in una codifica a caldo tu abbia fili K, dove la categoria di base avrà il suo filo ( variabile).


5

Sono stato istruito statisticamente e recentemente ho sentito parlare di "codifica one-hot" in machine learning / scienze comp. Di solito ho appena fatto riferimento alla matrice a un solo punto come a matrice di progettazione / matrice di dati / cornice di progettazione.


Hai un riferimento che potrei citare per questo? Sto scrivendo una pubblicazione scientifica e vorrei chiarire questo metodo per tutti i lettori poiché il documento non è per la comunità ML ma più ampio.
frattile,

Non posso dire di aver mai sentito "verbo" come un verbo. Allo stesso modo, però, ci arrivo da una direzione matematica / statistica. (I risultati di Google su "one-hotted" sono interessanti: ho un miscuglio del significato di machine learning e le persone che parlano di "una macchina hotted-up".)
Michael Lugo,

3

Nelle scienze fisiche e ingegneria, si chiama il delta di Kronecker (generalizzato) .

Nella forma più semplice, il delta di Kroneker è definito come anche se questo è banalmente generalizzato a

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

Pertanto, " " tenderà a essere letto come che la maggior parte gli autori tenderanno a troncare a " ", se la categoria è ovvia dal contesto.δicategory

δicategory{1ificategory0else,
δi

Il delta di Kronecker è davvero utile in Sigma / Pi / Einstein / ecc. notazioni poiché consente di specificare i termini in modo condizionale.

Giusto per collegare questo a strutture di programmazione comuni, il delta di Kronecker condition?1:0, dove ?:è l' operatore condizionale .


Come nota tangenziale, incoraggerei gli autori ad abbandonare il vecchio stile a favore dell'equivalente generalizzato, . La notazione vecchio stile non ha alcun vantaggio, mentre la notazione generalizzata è più esplicita ed estensibile.δi,jδi=j


Non vedo il link qui. Un hot decodifica una variabile in un set per ogni stato della variabile. Come viene utilizzato il delta di Kronecker in questa applicazione?
Aksakal,

@Aksakal Questo post fornisce un esempio di codifica di una categoria " CompanyName " con i possibili valori " VW ", " Acura " e " Honda ", che diventa tre variabili con questi nomi di valori, dove la risposta di @ Tim chiama quelle "variabili fittizie". Questi sono gli stessi delta Kronecker , e . {0,1}δVWδAcuraδHonda
Nat,

@Aksakal Preferisco la notazione generalizzata, ma nella vecchia notazione, , sarebbe , ecc. .δi,jδCompanyName,VW
Nat

Il manichino funziona in questo modo: hai le variabili chiamate e . Le tue osservazioni sono , quindi ottieni i valori e , entrambi sono zero quando l'auto è HONDA. Nota, che qui non è la marca della vettura, è il numero di osservazione. Continuo a non vedere come si collega questo al delta di Kronecker. Supponiamo che se la variabile originale fosse , il delta funzionerebbe comeVWACURAi=1..NVWiACURAiiCARiVWi=δ(CARi,VW)
Aksakal,

@Aksakal Il valore che stai chiamando " " è o . Se sono una VW, allora sarebbe ; altrimenti è . δ VW i δ i VW i10VWiδVWiδiVWi10
Nat

2

Pattern Recognition and Machine Learning di Christopher Bishop utilizza il termine -of- schema.K1K

Ecco una citazione dal libro,

Le variabili binarie possono essere utilizzate per descrivere quantità che possono assumere uno dei due valori possibili. Spesso, tuttavia, incontriamo variabili discrete che possono assumere uno dei possibili stati reciprocamente esclusivi. Sebbene ci siano vari modi alternativi per esprimere tali variabili, vedremo tra poco che una rappresentazione particolarmente conveniente è lo schema -of- in cui la variabile è rappresentata da un vettore tridimensionale in cui uno dei gli elementi equivalgono a e tutti gli elementi rimanenti sono uguali a . Quindi, per esempio, se abbiamo una variabile che può prendere1 K K x x k 1 0 K = 6 x 3 = 1 xK1KKxxk10K=6stati e una particolare osservazione della variabile corrisponde allo stato in cui , quindi sarà rappresentato da,x3=1x

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.