Esempio di generazione degli incorporamenti

Questo esempio mostra come generare gli incorporamenti utilizzati in una misura di similitudine supervisionata.

Immagina di avere lo stesso set di dati sugli alloggi che hai utilizzato durante la creazione di una misurazione della somiglianza manuale:

FunzionalitàTipo
PrezzoIntero positivo
Dimensioni Valore in virgola mobile positivo in unità di metri quadrati
Codice postaleNumero intero
Numero di camereNumero intero
Tipo di casaUn valore di testo da "singolo_famiglia", "multifamiliare", "appartamento", "condominio"
Garage0/1 per no/sì
ColoriCategoria multivalente: uno o più valori nei colori standard "bianco", "giallo", "verde" e così via.

Dati di pre-elaborazione

Prima di utilizzare i dati delle caratteristiche come input, devi preelaborarli. I passaggi di pre-elaborazione si basano sui passaggi eseguiti durante la creazione di una misura di similitudine. Ecco un riepilogo:

FunzionalitàTipo o distribuzioneAzione
PrezzoDistribuzione di Poisson Quantizza e scala a [0,1].
DimensioniDistribuzione di Poisson Quantizza e scala a [0,1].
Codice postaleCategorico Converti in longitudine e latitudine, quantifica e scala a [0,1].
Numero di camereNumero intero Clip outlier e scalabilità a [0,1].
Tipo di casaCategorico Converti in codifica one-hot.
Garage0 o 1 Lascia invariata.
ColoriCategorico Converti in valori RGB ed elaborali come dati numerici.

Per ulteriori informazioni sulla codifica one-hot, consulta Incorporamenti: dati di input categorici.

Scegli il predittore o il codificatore automatico

Per generare incorporamenti, puoi scegliere un codificatore automatico o un predittore. Ricorda che la tua scelta predefinita è un codificatore automatico. Puoi scegliere un predittore, se caratteristiche specifiche del tuo set di dati determinano la somiglianza. Per completezza, esaminiamo entrambi i casi.

Addestra un predittore

Devi scegliere queste funzionalità come etichette di addestramento per il tuo DNN, che sono importanti per determinare la somiglianza tra i tuoi esempi. Supponiamo che il prezzo sia la cosa più importante per determinare la somiglianza tra le case.

Scegli il prezzo come etichetta di addestramento e rimuovilo dai dati della funzionalità di input al DNN. Addestrare il DNN utilizzando tutte le altre funzionalità come dati di input. Per l'addestramento, la funzione di perdita è semplicemente l'MSE tra il prezzo previsto e il prezzo effettivo. Per informazioni su come addestrare un DNN, consulta Formazione delle reti neurali.

Addestrare un codificatore automatico

Addestra un codificatore automatico sul nostro set di dati seguendo questa procedura:

  1. Assicurati che i livelli nascosti del codificatore automatico siano più piccoli dei livelli di input e di output.
  2. Calcola la perdita per ogni output come descritto in Misura di somiglianza supervisionato.
  3. Crea la funzione di perdita sommando le perdite per ciascun output. Assicurati di ponderare equamente la perdita per ogni funzionalità. Ad esempio, poiché i dati sui colori vengono elaborati in RGB, pondera ciascun output RGB di 1/3.
  4. Addestrare il DNN.

Estrazione degli incorporamenti dal DNN in corso...

Dopo aver addestrato il tuo DNN, indipendentemente dal fatto che il predittore o il codificatore automatico, estrai l'incorporamento per un esempio dal DNN. Estrai l'incorporamento utilizzando i dati delle caratteristiche dell'esempio come input e leggi gli output del livello finale nascosto. Questi output formano il vettore di incorporamento. Ricorda: i vettori di case simili dovrebbero essere più vicini di quelli di vettori di abitazioni diverse.

Quindi, vedrai come quantificare la somiglianza per coppie di esempi usando i relativi vettori di incorporamento.