Qual è la relazione tra k-mean clustering e PCA?


61

È pratica comune applicare PCA (analisi dei componenti principali) prima di un algoritmo di clustering (come k-medie). Si ritiene che in pratica migliori i risultati del clustering (riduzione del rumore).

Tuttavia, sono interessato a uno studio comparativo e approfondito della relazione tra PCA e k-medie. Ad esempio, Chris Ding e Xiaofeng He, 2004, K-Clustering tramite analisi dei componenti principali hanno mostrato che "i componenti principali sono le soluzioni continue agli indicatori di appartenenza al cluster discreti per il clustering di K-significa". Tuttavia, ho difficoltà a capire questo documento e Wikipedia in realtà afferma che è sbagliato .

Inoltre, i risultati dei due metodi sono leggermente diversi, nel senso che PCA aiuta a ridurre il numero di "caratteristiche" preservando la varianza, mentre il clustering riduce il numero di "punti dati" riassumendo diversi punti in base alle loro aspettative / mezzi (nel caso di k-medie). Quindi, se il set di dati è composto da punti con funzioni ciascuno, PCA mira a comprimere le funzioni mentre il clustering mira a comprimere i punti dati.NTTN

Sto cercando una spiegazione per i non addetti alle relazioni tra queste due tecniche + alcuni articoli più tecnici relativi alle due tecniche.


2
Il clustering può anche essere considerato come riduzione delle funzionalità. Dove si esprime ciascun campione in base alla sua assegnazione di cluster o si codifica in modo sparso (quindi ridurre a ). Entrambi questi approcci mantengono costante il numero di punti dati, riducendo al contempo le dimensioni della "caratteristica". Tk
Jeff

Risposte:


74

È vero che il clustering K-significa e PCA sembrano avere obiettivi molto diversi e a prima vista non sembrano essere correlati. Tuttavia, come spiegato nel documento K di Ding & He 2004 , il clustering tramite l'analisi dei componenti principali , esiste una profonda connessione tra di loro.

L'intuizione è che PCA cerca di rappresentare tutti e i vettori di dati come combinazioni lineari di un piccolo numero di autovettori e lo fa per minimizzare l'errore di ricostruzione al quadrato medio. Al contrario, K-mean cerca di rappresentare tutti gli vettori di dati tramite un numero ridotto di centroidi del cluster, cioè di rappresentarli come combinazioni lineari di un numero ridotto di vettori del centroide del cluster in cui i pesi della combinazione lineare devono essere tutti zero tranne il singolo . Questo viene fatto anche per ridurre al minimo l'errore di ricostruzione al quadrato medio.n 1nn1

Quindi i mezzi K possono essere visti come un PCA super sparso.

Cosa fa la carta Ding & He, per rendere più precisa questa connessione.


Sfortunatamente, il documento Ding & He contiene alcune formulazioni sciatte (nella migliore delle ipotesi) e può essere facilmente frainteso. Ad esempio, potrebbe sembrare che Ding e He sostengano di aver dimostrato che i centroidi del cluster della soluzione di clustering K-significano nel sottospazio PCA tridimensionale :(K1)

Teorema 3.3. Il sottospazio centroide del cluster è suddiviso nelle prime direzioni principali [...].K1

Per ciò implicherebbe che le proiezioni sull'asse PC1 saranno necessariamente negative per un cluster e positive per un altro cluster, vale a dire che l'asse PC2 separerà perfettamente i cluster.K=2

Questo è un errore o una scrittura sciatta; in ogni caso, presa alla lettera, questa affermazione particolare è falsa.

Cominciamo con alcuni esempi di giocattoli in 2D per . Ho generato alcuni campioni dalle due distribuzioni normali con la stessa matrice di covarianza ma con mezzi variabili. Ho quindi eseguito sia K-mean che PCA. La figura seguente mostra il diagramma a dispersione dei dati sopra e gli stessi dati colorati secondo la soluzione K-media in basso. Mostro anche la prima direzione principale come una linea nera e centroidi di classe trovati da K-medie con croci nere. L'asse PC2 viene mostrato con la linea nera tratteggiata. K-medie è stata ripetuta volte con semi casuali per garantire la convergenza all'ottimale globale.100K=2100

PCA vs K-significa

Si può vedere chiaramente che anche se i centroidi di classe tendono ad essere abbastanza vicini alla prima direzione del PC, non ci cadono esattamente. Inoltre, anche se l'asse PC2 separa perfettamente i cluster nelle sottotrame 1 e 4, ci sono un paio di punti sul lato sbagliato di esso nelle sottotrame 2 e 3.

Quindi l'accordo tra K-mean e PCA è abbastanza buono, ma non è esatto.

Quindi cosa ha dimostrato Ding & He? Per semplicità, prenderò in considerazione solo il caso . Lascia che il numero di punti assegnati a ciascun cluster sia e e il numero totale di punti . Seguendo Ding & He, definiamo il vettore dell'indicatore del cluster come segue: se il punto appartiene al cluster 1 e se appartiene al cluster 2. Il vettore dell'indicatore del cluster ha lunghezza unità ed è "centrato", ovvero i suoi elementi si sommano a zero .n 1 n 2 n = n 1 + n 2 qR n q i = K=2n1n2n=n1+n2 qRn iqi=-qi=n2/nn1iqi=n1/nn2q=1qi=0

Ding & He mostrano che la funzione di perdita di K significa (che l'algoritmo di K-significa minimizza) può essere riscritta in modo equivalente come , dove è la matrice Gram di prodotti scalari tra tutti i punti: , dove è la matrice di dati e è la matrice di dati centrata.ki(xiμk)2qGqGn×nG=XcXcXn×2Xc

(Nota: sto usando la notazione e la terminologia che differiscono leggermente dal loro articolo ma che trovo più chiare).

Quindi la soluzione K- è un vettore di unità centrato che massimizza . È facile dimostrare che il primo componente principale (quando normalizzato per avere la somma unitaria dei quadrati) è il principale autovettore della matrice Gram, cioè è anche un vettore unitario centrato massimizza . L'unica differenza è che è inoltre vincolato ad avere solo due valori diversi mentre non ha questo vincolo.qqGqppGpqp

In altre parole, K-mean e PCA massimizzano la stessa funzione oggettiva , con l'unica differenza che K-mean ha un ulteriore vincolo "categorico".

È ovvio che la maggior parte delle volte le soluzioni K-significate (vincolate) e PCA (non vincolate) saranno abbastanza vicine tra loro, come abbiamo visto sopra nella simulazione, ma non ci si dovrebbe aspettare che siano identiche. Prendendo e impostando tutti i suoi elementi negativi su uguale a e tutti i suoi elementi positivi su generalmente non daranno esattamente .pn1/nn2n2/nn1q

Ding e lui sembrano capirlo bene perché formulano il loro teorema come segue:

Teorema 2.2. Per il clustering K-significa dove , la soluzione continua del vettore indicatore del cluster è il [primo] componente principaleK=2

Si noti che le parole "soluzione continua". Dopo aver dimostrato questo teorema, inoltre, commentano che PCA può essere usato per inizializzare iterazioni di K-significati che hanno un senso totale dato che ci aspettiamo che sia vicino a . Ma è ancora necessario eseguire le iterazioni, perché non sono identiche.qp

Tuttavia, Ding & He quindi sviluppano un trattamento più generale per e finiscono per formulare il Teorema 3.3 comeK>2

Teorema 3.3. Il sottospazio centroide del cluster è suddiviso nelle prime direzioni principali [...].K1

Non ho analizzato la matematica della Sezione 3, ma credo che questo teorema in realtà si riferisca anche alla "soluzione continua" dei mezzi K, cioè la sua affermazione dovrebbe leggere "lo spazio centroide del cluster della soluzione continua dei mezzi K è spanning [...] ".

Ding & He, tuttavia, non fanno questa importante qualifica, e inoltre scrivono nel loro abstract quello

Qui dimostriamo che i componenti principali sono le soluzioni continue agli indicatori discreti di appartenenza al cluster per il clustering di K-medie. Equivalentemente, mostriamo che il sottospazio espanso dai centroidi del cluster è dato dall'espansione spettrale della matrice di covarianza dei dati troncata a termini .K1

La prima frase è assolutamente corretta, ma la seconda no. Non mi è chiaro se si tratti di una scrittura (molto) sciatta o di un vero errore. Ho gentilmente inviato un'email a entrambi gli autori chiedendo chiarimenti. (Aggiornamento due mesi dopo: non ho mai avuto risposta da loro.)


Codice di simulazione Matlab

figure('Position', [100 100 1200 600])

n = 50;
Sigma = [2 1.8; 1.8 2];

for i=1:4
    means = [0 0; i*2 0];

    rng(42)
    X = [bsxfun(@plus, means(1,:), randn(n,2) * chol(Sigma)); ...
         bsxfun(@plus, means(2,:), randn(n,2) * chol(Sigma))];
    X = bsxfun(@minus, X, mean(X));
    [U,S,V] = svd(X,0);
    [ind, centroids] = kmeans(X,2, 'Replicates', 100);

    subplot(2,4,i)
    scatter(X(:,1), X(:,2), [], [0 0 0])

    subplot(2,4,i+4)
    hold on
    scatter(X(ind==1,1), X(ind==1,2), [], [1 0 0])
    scatter(X(ind==2,1), X(ind==2,2), [], [0 0 1])
    plot([-1 1]*10*V(1,1), [-1 1]*10*V(2,1), 'k', 'LineWidth', 2)
    plot(centroids(1,1), centroids(1,2), 'w+', 'MarkerSize', 15, 'LineWidth', 4)
    plot(centroids(1,1), centroids(1,2), 'k+', 'MarkerSize', 10, 'LineWidth', 2)
    plot(centroids(2,1), centroids(2,2), 'w+', 'MarkerSize', 15, 'LineWidth', 4)
    plot(centroids(2,1), centroids(2,2), 'k+', 'MarkerSize', 10, 'LineWidth', 2)

    plot([-1 1]*5*V(1,2), [-1 1]*5*V(2,2), 'k--')
end

for i=1:8
    subplot(2,4,i)
    axis([-8 8 -8 8])
    axis square
    set(gca,'xtick',[],'ytick',[])
end    

2
Ho appena dato un'occhiata all'interno del documento Ding & He. Nel teorema 2.2 affermano che se si fa k-mean (con k = 2) di qualche cloud di dati p-dimensionale e si esegue anche PCA (basato sulle covarianze) dei dati, allora tutti i punti appartenenti al cluster A saranno negativi e tutti i punti appartenenti al cluster B saranno positivi, sui punteggi PC1. Dichiarazione interessante, - dovrebbe essere testato in simulazioni. Il problema, tuttavia, è che presuppone una soluzione di mezzi K globalmente ottimale, credo; ma come facciamo a sapere se il clustering ottenuto è stato ottimale?
ttnphns,

1
@ttnphns, ho aggiornato la mia simulazione e figura per testare questa affermazione in modo più esplicito. Se le proiezioni su PC1 dovrebbero essere positive e negative per le classi A e B, significa che l'asse PC2 dovrebbe fungere da confine tra di loro. Questo è molto simile al caso nelle mie 4 simulazioni giocattolo, ma negli esempi 2 e 3 ci sono un paio di punti dalla parte sbagliata di PC2. Per quanto riguarda la convergenza, ho eseguito la kmeansfunzione con 100 repliche: ogni volta sceglie un'inizializzazione casuale diversa e quindi seleziona la soluzione migliore, quindi si spera che assicuri che venga raggiunto l'ottimale globale.
ameba dice Ripristina Monica il

1
@ttnphns: penso di aver capito cosa sta succedendo, per favore vedi il mio aggiornamento.
ameba dice Ripristina Monica il

ameba, grazie per aver digerito l'articolo in discussione a tutti noi e per aver fornito le vostre conclusioni (+2); e per avermelo fatto sapere personalmente! Spero di tornare tra un paio di giorni per leggere e indagare sulla tua risposta. Ma lo apprezzo già adesso.
ttnphns,

1
Posta eccezionale. C'è un motivo per cui hai usato Matlab e non R? Solo curioso perché sto prendendo il corso ML Coursera e Andrew Ng usa anche Matlab, al contrario di R o Python. È una scelta ML generale?
Antoni Parellada,

10

PCA e K-significano fare cose diverse.

PCA viene utilizzato per la riduzione della dimensionalità / selezione delle caratteristiche / apprendimento della rappresentazione, ad esempio quando lo spazio delle funzioni contiene troppe funzioni irrilevanti o ridondanti. L'obiettivo è trovare la dimensione intrinseca dei dati.

Ecco un esempio bidimensionale che può essere generalizzato a spazi di dimensioni superiori. L'insieme di dati ha due caratteristiche, ed , ogni cerchio è un punto dati.xy

inserisci qui la descrizione dell'immagine

Nell'immagine ha una grandezza maggiore di . Questi sono gli autovettori. La dimensione dei dati viene ridotta da due dimensioni a una dimensione (non molta scelta in questo caso) e ciò viene fatto proiettando sulla direzione del vettore (dopo una rotazione in cui diventa parallela o perpendicolare a uno degli assi) . Questo perché è ortogonale alla direzione della maggiore varianza. Un modo di pensarci è la minima perdita di informazioni. (C'è ancora una perdita poiché si perde un asse di coordinate).v1v2v2v2v2

K-mean è un algoritmo di clustering che restituisce il raggruppamento naturale di punti dati, in base alla loro somiglianza. È un caso speciale di modelli di miscele gaussiane .

Nell'immagine sotto il set di dati ha tre dimensioni. Dalla trama 3D a sinistra si può vedere che la dimensione può essere "lasciata cadere" senza perdere molte informazioni. PCA viene utilizzato per proiettare i dati su due dimensioni. Nella figura a sinistra, viene mostrato anche il piano di proiezione. Quindi, i mezzi K possono essere utilizzati sui dati proiettati per etichettare i diversi gruppi, nella figura a destra, codificati con colori diversi.X

inserisci qui la descrizione dell'immagine

L'APC o altre tecniche di riduzione della dimensionalità sono utilizzate prima di metodi non supervisionati o supervisionati nell'apprendimento automatico. Oltre ai motivi indicati da te e da quelli che ho menzionato sopra, viene anche utilizzato per scopi di visualizzazione (proiezione in 2D o 3D da dimensioni superiori).

Per quanto riguarda l'articolo, non credo che ci sia alcuna connessione, PCA non ha informazioni sul raggruppamento naturale di dati e opera su tutti i dati, non sui sottoinsiemi (gruppi). Se alcuni gruppi potrebbero essere spiegati da un autovettore (solo perché quel particolare cluster è distribuito lungo quella direzione) è solo una coincidenza e non dovrebbe essere presa come una regola generale.

"PCA mira a comprimere le funzionalità T mentre il clustering mira a comprimere i punti dati N."

In effetti, la compressione è un modo intuitivo di pensare alla PCA. Tuttavia, in K-significa, per descrivere ogni punto relativo al suo cluster è ancora necessario almeno la stessa quantità di informazioni (ad esempio dimensioni) , dove è la distanza e è memorizzato invece di . E devi anche archiviare il per sapere a cosa è relativo il delta. Naturalmente è possibile archiviare e tuttavia non sarà possibile recuperare le informazioni effettive nei dati.xi=d(μi,δi)dδixiμidi

Il clustering aggiunge davvero informazioni. Lo considero come una suddivisione dei dati in gruppi naturali (che non devono necessariamente essere disgiunti) senza sapere cosa significa l'etichetta per ciascun gruppo (beh, fino a quando non guardi i dati all'interno dei gruppi).


3
Il modo in cui i tuoi PC sono etichettati nella trama sembra incoerente con la discussione corrispondente nel testo. Nota che, sebbene il PCA sia in genere applicato alle colonne, e k-significa alle righe, entrambi potrebbero essere applicati a entrambe. Non ho letto il giornale, ma scommetto che è di questo che parlano.
gung - Ripristina Monica

Scusate, intendevo la figura in alto: vale a dire, le etichette v1 e v2 per i PC.
gung - Ripristina Monica

Un buon punto, potrebbe essere utile (non riesco a capire per cosa) comprimere gruppi di punti dati. Trova gruppi usando k-medie, comprimi i record in meno usando pca. Per quanto riguarda il raggruppamento di funzionalità, ciò potrebbe essere effettivamente utile.
shuriken x blue

2
Quindi stai essenzialmente dicendo che il documento è sbagliato? Dichiara esplicitamente (vedi la terza e la quarta frase in astratto) e afferma di aver dimostrato matematicamente che esiste una connessione specifica, mentre tu dici che non c'è alcuna connessione.
ameba dice di reintegrare Monica il

Cosa ne ho tratto: PCA migliora le soluzioni di clustering di K-significa. La connessione è che la struttura del cluster è incorporata nei primi componenti principali di K - 1. Questo è il contributo.
shuriken x blue

7

È comune imbiancare i dati prima di usare k-mean. Il motivo è che k-mean è estremamente sensibile alla scala e quando hai attributi misti non c'è più una scala "vera". Quindi devi normalizzare, standardizzare o imbiancare i tuoi dati. Nessuno è perfetto, ma lo sbiancamento rimuoverà la correlazione globale che a volte può dare risultati migliori. PCA / whitening è poiché si opera sulla matrice di covarianza.O(nd2+d3)

Per quanto ne so , la relazione di k-mean con PCA non si basa sui dati originali . Si tratta di usare PCA sulla matrice della distanza (che ha voci, e fare PCA completo quindi è - vale a dire proibitivamente costoso, in particolare rispetto a k-significa che è dove è l'unico termine di grandi dimensioni) e forse solo per . K-medie è un problema di ottimizzazione dei minimi quadrati, così come PCA. k-means tenta di trovare la partizione dei minimi quadrati dei dati. PCA trova il vettore di appartenenza al cluster dei minimi quadrati.n2O(n2d+n3)O(knid)nk=2

Il primo autovettore ha la varianza più grande, quindi dividere su questo vettore (che assomiglia all'appartenenza al cluster, non alle coordinate dei dati di input!) Significa massimizzare la varianza tra cluster . Massimizzando la varianza tra cluster, si minimizza anche la varianza all'interno del cluster.

Ma per problemi reali, questo è inutile. È solo di interesse teorico.


2
Sarebbe bello vedere una spiegazione / panoramica più specifica del documento Ding & He (a cui l'OP era collegato). Non ho familiarità con me stesso (ancora), ma l'ho visto menzionato abbastanza volte da essere abbastanza curioso.
ameba dice Ripristina Monica il

3
Intendi questo ? Sì, l'ho trovato anch'io; Penso che aggiunga solo alla mia confusione. Speravo che questo sarebbe stato il filo che potrebbe chiarirmi ... Ora che ci penso, forse dovrei mettere una taglia su di esso. Non credo che nei prossimi giorni avrò tempo per studiare questo argomento da solo.
ameba dice Ripristina Monica il

3
Questo paragrafo wiki è molto strano. Dice che Ding & He (2001/2004) ha sbagliato e non un nuovo risultato! Per dimostrare che non era nuovo, cita un documento del 2004 (?!). Per dimostrare che era sbagliato, cita un nuovo documento del 2014 che non cita nemmeno Ding & He. Di pesce.
ameba dice Ripristina Monica il

3
Forse citando di nuovo lo spam. Wikipedia è piena di autopromozione.
Anony-Mousse,

1
Penso di aver capito cosa sta succedendo in Ding & He, per favore vedi la mia risposta. A parte questo, la tua argomentazione sulla complessità algoritmica non è del tutto corretta, perché confronti la completa decomposizione degli autovettori della matrice con l'estrazione di solo "componenti". Non è un confronto equo. Se usi un algoritmo iterativo per PCA e estrai solo componenti, mi aspetterei che funzioni velocemente come K-significa. Quindi non sono sicuro che sia corretto dire che è inutile per problemi reali e solo di interesse teorico. n×nkk
ameba dice Ripristina Monica il

4

Risolvendo i k-media sulla sua approssimazione di basso rango O (k / epsilon) (ovvero, proiettando sull'intervallo dei primi vettori singolari più grandi come nel PCA) si otterrebbe un'approssimazione (1 + epsilon) in termini di errore moltiplicativo.

In particolare, la proiezione sul vettore più grande k produrrebbe un'approssimazione 2.

In effetti, la somma delle distanze al quadrato per QUALSIASI set di k centri può essere approssimata da questa proiezione. Quindi possiamo calcolare coreset sui dati ridotti per ridurre l'input in punti poli (k / eps) che approssima questa somma.

Vedi: Dan Feldman, Melanie Schmidt, Christian Sohler: Trasformare i big data in piccoli dati: coreset di dimensioni costanti per k-mean, PCA e cluster proiettivi. SODA 2013: 1434-1453


3

Relazione intuitiva di PCA e KMeans

  1. Teoricamente analisi dimensionale PCA (la prima dimensione K mantiene il 90% della varianza ... non ha bisogno di avere una relazione diretta con il cluster K Means), tuttavia il valore dell'uso di PCA deriva da una) considerazione pratica data la natura degli oggetti che analizziamo tende a raggrupparsi naturalmente / evolversi da (un certo segmento di) i loro componenti principali (età, genere ..) b) PCA elimina quelle dimensioni a bassa varianza (rumore), quindi aggiunge valore (e forma un senso simile al clustering) ) concentrandosi su quelle dimensioni chiave In termini semplici, è proprio come l'asse XY è ciò che ci aiuta a padroneggiare qualsiasi concetto matematico astratto, ma in un modo più avanzato.

  2. I mezzi K cercano di minimizzare la distanza complessiva all'interno di un cluster per un dato K

  3. Per un insieme di oggetti con N parametri di dimensione, per impostazione predefinita oggetti simili avranno PIÙ parametri "simili" tranne poche differenze chiave (ad esempio un gruppo di giovani studenti IT, giovani ballerini, umani ... avranno alcune caratteristiche molto simili (bassa varianza) ma alcune caratteristiche chiave sono ancora abbastanza diverse e catturano quei "Principali componenti principali" essenzialmente catturano la maggior parte della varianza, ad esempio colore, area di residenza .... Quindi bassa distorsione se trascuriamo quelle caratteristiche di differenze minori, o la conversione in PC inferiori non perderanno molte informazioni
  4. È quindi "molto probabile" e "molto naturale" che raggrupparli per esaminare le differenze (variazioni) abbia senso per la valutazione dei dati (ad es. Se si effettuano 1.000 sondaggi in una settimana nella strada principale, raggruppandoli in base all'etnia , età o background formativo come ha senso il PC) Sotto la missione di K Means, cerchiamo di stabilire un discreto numero di K in modo che quegli elementi del gruppo (in un cluster) abbiano la distanza complessiva minima (minimizzata) tra il Centroide e mentre il costo stabilire ed eseguire i cluster K è ottimale (ogni membro come cluster non ha senso in quanto è troppo costoso da mantenere e senza valore)
  5. Il raggruppamento dei mezzi di K potrebbe essere facilmente "ispezionato visivamente" per essere ottimale, se tale K è lungo i componenti principali (ad es. Se per le persone di età diverse, i gruppi etnici / di tendenza tendono ad esprimere opinioni simili, quindi se raggruppi i sondaggi in base a quei PC, quindi che raggiungono l'obiettivo di minimizzazione (rif. 1) Anche quei PC (etnici, età, religione ...) abbastanza spesso sono ortogonali, quindi visivamente distinti osservando il PCA
  6. Tuttavia, questa deduzione intuitiva porta a una condizione sufficiente ma non necessaria. (Rif. 2: Tuttavia, il fatto che PCA sia un utile allentamento del clustering dei k-significati non è stato un nuovo risultato (vedere, ad esempio, [35]), ed è semplice scoprire controesempi all'affermazione che il sottospazio del centroide del cluster è spanning dalle direzioni principali. [36])

La scelta di cluster basati su / lungo i CP può portare comodamente a un meccanismo di allocazione confortevole

Questo potrebbe essere un esempio se x è il primo PC lungo l'asse X: (........... CC1 ............... CC2 ..... ....... CC3 X axis) dove l'asse X dice di catturare oltre il 9X% della varianza e dire che è l'unico PC

6.Infine, la PCA viene anche utilizzata per visualizzare dopo aver eseguito i mezzi K (Rif. 4)

Se il display PCA * il nostro clustering K risulta essere ortogonale o vicino, allora è un segno che il nostro clustering è solido, ognuno dei quali presenta caratteristiche uniche

(* poiché per definizione PCA scopre / visualizza quelle dimensioni principali (da 1D a 3D) in modo tale che K (PCA) catturerà probabilmente su un'ampia maggioranza della varianza.

Quindi la PCA è utile sia per visualizzare e confermare un buon clustering, sia come elemento intrinsecamente utile nel determinare il clustering di K Keans - da usare prima dei K Keans.

Riferimento:

  1. https://msdn.microsoft.com/en-us/library/azure/dn905944.aspx
  2. https://en.wikipedia.org/wiki/Principal_component_analysis
  3. CLUSTER UTILIZZANDO L'ANALISI DEI COMPONENTI PRINCIPALI: APPLICAZIONE DI DISABILITAZIONE DI AUTONOMIA PER GLI ANZIANI (Pettini e Azema)
  4. http://cs229.stanford.edu/notes/cs229-notes10.pdf Andrew Ng
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.