Anziché confrontare i dati delle funzionalità combinati manualmente, puoi ridurre i dati delle funzionalità a rappresentazioni chiamate embedding e poi confrontare gli embedding. Gli embedding vengono generati addestrando una rete neurale profonda (DNN) supervisionata sui dati delle funzionalità stessi. Gli embedding mappano i dati delle funzionalità a un vettore in uno spazio di embedding con in genere meno dimensioni rispetto ai dati delle funzionalità. Gli embedding sono discussi nel modulo Embedding del corso introduttivo al machine learning, mentre le reti neurali sono discusse nel modulo Reti neurali. I vettori di incorporamento per esempi simili, ad esempio video di YouTube su argomenti simili guardati dagli stessi utenti, si trovano vicini nello spazio di incorporamento. Una misura della somiglianza supervisionata utilizza questa "vicinanza" per quantificare la somiglianza per coppie di esempi.
Ricorda che stiamo discutendo dell'apprendimento supervisionato solo per creare la nostra misura di somiglianza. La misura della somiglianza, manuale o supervisionata, viene poi utilizzata da un algoritmo per eseguire il clustering non supervisionato.
Confronto tra le misurazioni manuali e supervisionate
Questa tabella descrive quando utilizzare una misura di somiglianza manuale o supervisionata in base ai tuoi requisiti.
Requisito | Manuale | Supervisionato |
---|---|---|
Elimina le informazioni ridondanti nelle funzionalità correlate? | No, devi esaminare eventuali correlazioni tra le funzionalità. | Sì, le reti neurali di apprendimento profondo eliminano le informazioni ridondanti. |
Fornisce informazioni sulle somiglianze calcolate? | Sì | No, gli embedding non possono essere decifrati. |
Adatto a set di dati di piccole dimensioni con poche funzionalità? | Sì. | No, i set di dati di piccole dimensioni non forniscono dati di addestramento sufficienti per una rete neurale convoluzionale. |
Adatto a set di dati di grandi dimensioni con molte funzionalità? | No, eliminare manualmente le informazioni ridondanti da più funzionalità e combinarle è molto difficile. | Sì, la rete neurale convoluzionale elimina automaticamente le informazioni ridondanti e combina le funzionalità. |
Creazione di una misura di somiglianza supervisionata
Ecco una panoramica della procedura per creare una misura della somiglianza supervisionata:
Questa pagina illustra le reti neurali convoluzionali, mentre le pagine seguenti illustrano i passaggi rimanenti.
Scegliere una rete neurale convoluzionale in base alle etichette di addestramento
Riduci i dati delle funzionalità a rappresentazioni in embedding di dimensioni inferiori addestrando una rete neurale convoluzionale che utilizza gli stessi dati delle funzionalità sia come input sia come etichette. Ad esempio, nel caso dei dati delle case, la rete DNN utilizzerebbe le caratteristiche, come prezzo, dimensioni e codice postale, per prevedere le stesse caratteristiche.
Autoencoder
Una rete neurale a più livelli che apprende gli embedding dei dati di input prevedendo i dati di input stessi è chiamata autoencoder. Poiché i livelli nascosti di un autoencoder sono più piccoli degli strati di input e di output, l'autoencoder è costretto a apprendere una representation compressa dei dati delle funzionalità di input. Una volta addestrata la rete neurale, estrae gli embedding dal livello nascosto più piccolo per calcolare la somiglianza.

Predictor
Un autoencoder è la scelta più semplice per generare embedding. Tuttavia, un autoencoder non è la scelta ottimale quando determinate funzionalità potrebbero essere più importanti di altre per determinare la somiglianza. Ad esempio, nei dati delle case, assumere che il prezzo sia più importante del codice postale. In questi casi, utilizza solo la caratteristica importante come etichetta di addestramento per la rete neurale. Poiché questa rete neurale profonda predice una specifica funzionalità di input anziché tutte le funzionalità di input, viene chiamata predittore. In genere, gli embedding devono essere estratti dall'ultimo livello di embedding.

Quando scegli una funzionalità da utilizzare come etichetta:
Preferisci le caratteristiche numeriche a quelle categoriche perché la perdita è più facile da calcolare e interpretare per le caratteristiche numeriche.
Rimuovi l'attributo che utilizzi come etichetta dall'input alla rete DNN, altrimenti la rete DNN la utilizzerà per prevedere perfettamente l'output. (Questo è un esempio estremo di perdita di etichette.)
A seconda della scelta delle etichette, la rete neurale convoluzionale risultante è un autoencoder o un predittore.