Domanda

Sto cercando di raggruppare alcune immagini a seconda delle angoli tra le parti del corpo.

Le caratteristiche estratte da ciascuna immagine sono:

angle1 : torso - torso
angle2 : torso - upper left arm
..
angle10: torso - lower right foot

Pertanto i dati di input è una matrice di dimensione 1057x10, dove 1057 rappresenta il numero di immagini, e 10 sta per angoli di parti del corpo con tronco. Analogamente una Testset è 821x10 matrice.

Voglio tutte le righe di dati di input per essere raggruppati con 88 cluster. Quindi userò questi cluster per trovare quale cluster non cadere in TestData?

In un lavoro precedente, ho usato K-Means di clustering che è molto semplice . Abbiamo appena chiediamo K-Means di raggruppare i dati in 88 cluster. E applicare un altro metodo che calcola la distanza tra ciascuna riga di dati di test e centri di ciascun cluster, quindi scegliere i valori minimi. Questo è il cluster della riga di dati di ingresso corrispondente.

Ho due domande:

  1. E 'possibile farlo utilizzando SOM in MATLAB? Per quanto ne so SOM di sono per il clustering visiva. Ma ho bisogno di conoscere la classe reale di ogni cluster in modo che possa poi etichettare i miei dati di test calcolando che a grappolo a cui appartiene.

  2. Hai una soluzione migliore?

È stato utile?

Soluzione

Self-Organizing Map (SOM) è un metodo di clustering considerato come una variazione senza supervisione della Artificial Neural Network (ANN) . Esso utilizza competitivi apprendimento tecniche per addestrare la rete (nodi competono tra loro per visualizzare l'attivazione forte per un determinato dato)

www.lohninger.com/helpcsuite/kohonen_network _-_ background_information.htm

Si può pensare di SOM come se consiste in una griglia di nodi interconnessi (forma quadrata, esagonale, ..), dove ogni nodo è un N-dim vettore di pesi (stesse dimensioni dimensione come i punti di dati che vogliamo cluster).

L'idea è semplice; dato un vettore come input per SOM, troviamo il nodo armadio ad esso, quindi aggiornare i suoi pesi e pesi dei nodi vicini in modo che si avvicinano quella del vettore di ingresso (da qui il nome di auto-organizzazione ). Questo processo viene ripetuto per tutti i dati di input.

plotsompos

I cluster formati vengono implicitamente definito da come i nodi si organizzano e formano un gruppo di nodi con pesi simili. Essi possono essere facilmente visibile visivamente.

plotsomnd

SOM sono in un modo simile al algoritmo K-Means ma diversa in quanto non imponiamo un numero fisso di cluster, invece abbiamo specificare il numero e la forma di nodi nella griglia che vogliamo di adattarsi ai nostri dati.

In pratica quando si ha un SOM addestrato, e si desidera classificare un nuovo vettore di ingresso di test, è sufficiente assegnare al più vicino (la distanza come misura di similarità) nodo della rete ( migliore unità di corrispondenza BMU), e dare come predizione classe [maggioranza] dei vettori appartenenti a tale nodo BMU.

plotsomhits

Per MATLAB, è possibile trovare una serie di cassette che implementano SOM:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top