Misurazione manuale della somiglianza

Come appena mostrato, k-means assegna i punti al centroide più vicino. Ma cosa significa "più vicina"?

Per applicare k-means ai dati delle funzionalità, devi definire una misura di somiglianza che combini tutti i dati delle funzionalità in un unico valore numerico, chiamato misura di somiglianza manuale.

Prendi in considerazione un set di dati di scarpe. Se il set di dati ha la taglia delle scarpe come unica caratteristica, puoi definire la somiglianza di due scarpe in termini di differenza tra le loro taglie. Più piccola è la differenza numerica tra le taglie, maggiore è la somiglianza tra le scarpe.

Se il set di dati delle scarpe avesse due caratteristiche numeriche, taglia e prezzo, puoi combinarle in un unico numero che rappresenti la somiglianza. Innanzitutto, scala i dati in modo che entrambe le funzionalità siano paragonabili:

  • Taglia: la taglia delle scarpe probabilmente forma una distribuzione gaussiana. Conferma. Poi normalizza i dati.
  • Prezzo (p): probabilmente i dati hanno una distribuzione di Poisson. Conferma. Se hai dati sufficienti, convertili in quantili e scalali in base a [0,1].

Quindi, combina le due funzionalità calcolando l'errore quadratico medio (RMSE). Questa misura approssimativa della somiglianza è data da (sisj)2+(pipj)22.

Per un esempio semplice, calcola la somiglianza di due scarpe con misure US 8 e 11 e prezzi 120 e 150. Poiché non disponiamo di dati sufficienti per comprendere la distribuzione, scaleremo i dati senza normalizzarli o utilizzare i quantili.

AzioneMetodo
Modifica le dimensioni. Supponiamo che la taglia massima possibile sia 20. Dividi 8 e 11 per la dimensione massima 20 per ottenere 0,4 e 0,55.
Modifica il prezzo. Dividi 120 e 150 per il prezzo massimo 150 per ottenere 0,8 e 1.
Trova la differenza di dimensioni. 0.550.4=0.15
Trova la differenza di prezzo. 10.8=0.2
Calcola l'RMSE. 0.22+0.1522=0.17

Intuitivamente, la misura della somiglianza dovrebbe aumentare quando i dati delle funzionalità sono più simili. Al contrario, la misura della somiglianza (RMSE) diminuisce. Fai in modo che la misura della somiglianza segua la tua intuizione sottraendola da 1.

Similarity=10.17=0.83

In generale, puoi preparare i dati numerici come descritto in Preparare i dati, quindi combinarli utilizzando la distanza euclidea.

E se il set di dati includesse sia la taglia che il colore delle scarpe? Il colore è un dato categorico, discusso nel corso introduttivo al machine learning in Lavorazione dei dati categorici. I dati categorici sono più difficili da combinare con i dati numerici sulle dimensioni. Può essere:

  • A valore singolo (univoco), ad esempio il colore di un'auto ("bianco" o "blu", ma mai entrambi)
  • Con più valori (multivalore), ad esempio il genere di un film (un film può essere sia "azione" sia "commedia" o solo "azione").

Se i dati univalenti corrispondono, ad esempio nel caso di due paia di scarpe blu, la somiglianza tra gli esempi è 1. In caso contrario, la somiglianza è 0.

I dati multivalenti, come i generi di film, sono più difficili da gestire. Se esiste un insieme fisso di generi cinematografici, la somiglianza può essere calcolata utilizzando il rapporto tra i valori comuni, chiamato somiglianza di Jaccard. Esempi di calcoli della somiglianza di Jaccard:

  • [“comedy”,”action”] e [“comedy”,”action”] = 1
  • [“comedy”,”action”] e [“action”] = ½
  • [“comedy”,”action”] and [“action”, "drama"] = ⅓
  • [“comedy”,”action”] and [“non-fiction”,”biographical”] = 0

La somiglianza di Jaccard non è l'unica misura della somiglianza manuale possibile per i dati categorici. Altri due esempi:

  • I codici postali possono essere convertiti in latitudine e longitudine prima di calcolare la distanza euclidea tra loro.
  • Il colore può essere convertito in valori RGB numerici, con le differenze tra i valori combinate nella distanza euclidea.

Per saperne di più, consulta Utilizzo dei dati categorici.

In generale, una misura della somiglianza manuale deve corrispondere direttamente alla somiglianza effettiva. Se la metrica scelta non lo fa, significa che non sta codificando le informazioni che vuoi che vengano codificate.

Esegui la preelaborazione dei dati con attenzione prima di calcolare una misura di somiglianza. Gli esempi in questa pagina sono semplificati. La maggior parte dei set di dati reali è di grandi dimensioni e complessa. Come accennato in precedenza, i quantili sono una buona scelta predefinita per l'elaborazione dei dati numerici.

Con l'aumentare della complessità dei dati, diventa più difficile creare una misura di somiglianza manuale. In questo caso, passa a una misura della somiglianza supervisionata, in cui un modello di machine learning supervisionato calcola la somiglianza. Ne parleremo più in dettaglio più avanti.