Apprendimento Non Supervisionato Flashcards
Cosa fa l’apprendimento non supervisionato?
3 tipologie di problemi che risolve
Alcuni algoritmi di apprendimento supervisionato
Prende in input dati non etichettati e si crea un modello che individua pattern e trend nei dati elaborati.
Problemi che si propone di risolvere:
-Clustering: dato un set di dati, identifico un numero finito di categorie.
- Associazione: dato un set di dati cerco schemi frequenti e correlazioni.
- Riduzione dimensionalità dataset.
ALGO:
- K MEANS
- DBSCAN
- PCA
Cosa è il clustering?
Cosa cerco di ottenere tra e nei cluster?
Perchè on è supervisionato?
Algoritmi studiati?
Tecnica non supervisionata di machine learning x dividere l’insieme delle osservazioni in sottoinsieme il più possibile simili (cluster)
Voglio ottenere omogeneità nei cluster e eterogeneità tra i cluster.
Non supervisionato perchè i dati non sono etichettati.
Kmeans, DBScan
— KMEANS
Quale è l’ 1 iperparametro da fissare e cosa rappresenta(2)?
Quale è la misura dell’errore che vogliamo minimizzare con l’algoritmo?
Come scelgo il valore dell’iperparametro?
K = numero di cluster che si vogliono cercare = numero di centroidi da definire (punti nello spazio delle feature).
Misura di errore= Sommatoria delle distanze di ogni singolo punto dal centroide associato.
Scelgo il k che porta ad una riduzione significativa dell’errore rispetto a k-1. (ELBOW METHOD).
Itero kmeans per diversi valori di k e trovo quello dopo il quale l’errore non diminuisce più significativamente.
— KMEANS
Procedimento
- Scelgo K
- Fisso K centroidi non coincidenti
- Associo ad ogni osservazione il centroide più vicino
- Aggiorno la posizione dei centroidi come media dei punti che gli sono associati
-> Se centroidi invariati allora fine.
-> Se centroidi cambiati allora riparto dallo step 3.
—DBSCAN
Su cosa lavora a differenza del kmeans?
Da cosa non viene influenzato?
2 Iperparametri da fissare?
Come possono essere classificate le osservazioni?
Lavora sulla densità dei punti e non sulla loro distanza.
Non influenzato dal rumore.
- epsilon E: Distanza minima che devono avere due osservazioni per risultare vicine.
- minSamples: min osservazioni richieste per identificare un cluster (n ottimale = n dimensioni dataset + 1)
Osservazioni:
- core point: se ha vicino almeno minSamples osservazioni.
- Border Point: ha vicino meno di minSamples oss ma ha almeno vicino un core point
- noise point: nessun core point vicino
—DBSCAN
Procedimento
- Per ogni oss stabilisco se è un core point.
- Scelgo random 1 core point e lo assegno ad un cluster.
- I core point vicini al cluster diventano parte del cluster… etc…
- I border point sono assegnati al cluster del core point vicino.
- Scelgo un core point non assegnato e lo assegno a nuovo cluster e così via…
— PCA
Scopo di questo algoritmo? Per cosa prepariamo il datase?
Cosa fa l’algoritmo? Come ordina le componenti?
Cerca di ridurre la dimensionalità del dataset pur mantenendo la maggior quantità possibile di informazioni.
Prepariamo il dataset per le successive analisi.
Comprime il maggior contenuto informativo in componenti principali.
Componenti ottenute sono ordinate per varianza decrescente (per q di info).
–PCA
Procedimento:
- cosa faccio ai valori?
- che matrice creo? dove la diagonale… e la matrice è…
- calcolo … e … della matrice…
- creo matrice chiamata …. che contine sulle colonne …
- ricreo il dataset con cosa?Da cosa è ottenuto?
- Standardizzazione dei valori (z= (x-mean)/dev.std.)
- calcola la matrice delle covarianze di dimensione n features per n features:
Cov(x,x), Cov(x,y), Cov(x,z)
Cov(y,x), Cov(y,y), Cov(y,z)
Cov(z,x), Cov(z,y), Cov(z,z)
Dove la diagonale principale contiene le singole varianze. - Calcolo:
+ autovettori (direzioni assi dove c’è maggiore varianza (più info))
+ autovalori (coeff degli autovettori, indicano la q di info trasportata in ogni componente principale). - Creo matrice Feature Vector, ha come colonne gli autovettori delle componenti che voglio mantenere.
- ricreo il dataset con le componenti principali:
final dataset= feature vector ^t per dataset std originale ^t
Cosa succede se faccio la pca su un dataset con peso, temperatura e voglio stabilire se ha la febbre o no?
La pca riduce l’influenza della feature meno variabile (temperatura) e aumenta l’influenza della feature più variabile (peso). -> PCA non adatta.