Keras Tutorial : Codifica e Decodifica One-Hot

Indice

  1. Cos’è  One-Hot Encode/Decode
  2. Esempio : per capirsi
  3. Encode/Decode utizzando Keras

Cos’è One-Hot

Per codifica One-Hot, nell’ambito del machine learning e in particolar modo nel Deep Learning, si intende codificare un numero intero positivo attraverso un vettore che contiene solamente zeri eccetto la cella puntata dall’indice corrispondente all’intero positivo che vogliamo codificare.
Un esempio pratico sarà più chiaro di qualsiasi altra spiegazione.

Un esempio : per capirsi

Prendiamo un classificatore in grado ad esempio di distinguere 3 classi di immagini : tartaruga,cane,automobile
Se l’attivazione di uscita del nostro classificatore è di tipo softmax ad esempio allora sarà composta da un vettore di dimensione 3
Il nostro è un classificatore ideale con errore zero.
Quindi le risposte possibili di questo clssificatore ideale saranno 3

1) 1,0,0 –> indice 0 con valore 1 rappresenta la tartaruga
2) 0,1,0 –> indice 1 con valore 1 rappresenta il cane
3) 0,0,1 –> indice 2 con valore 1 rappresenta l’automobile

Questa rappresentazione viene chiamata ONE-HOT proprio uno dei valori del vettore è HOT cioè più caldo, più rilevante.
In un classificatore reale ovviamente non avremo sempre valori uguali a zero o a uno ma verrà considerato a uno il valore più alto.

Codifica e Decodifica On-Hot in KERAS

Per approfondire l’uso e tutte le potenzialità di Keras io ti consiglio di dare un occhiata a questo.

from numpy import array
from numpy import argmax
from keras.utils import to_categorical

# dati di esempio

ex_data = [0, 1, 0, 2, 3, 0, 5, 6, 5, 5]
ex_data = array(ex_data ) # trasformo il vettore in un numpy array
print(ex_data)
# codifico array in one-hot usando la funzione “to_categorical” di keras
codificato= to_categorical(ex_data)
print(codificato)
# ora decodifico
decodificato= argmax(codificato[0])
print(decodificato)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Articolo successivo

Google Colaboratory