Che bella domanda, è un'opportunità per mostrare come si esaminerebbero gli svantaggi e le ipotesi di qualsiasi metodo statistico. Vale a dire: crea alcuni dati e prova l'algoritmo su di esso!
Prenderemo in considerazione due delle tue assunzioni e vedremo cosa succede all'algoritmo k-mean quando tali assunzioni vengono interrotte. Seguiremo i dati bidimensionali poiché è facile da visualizzare. (Grazie alla maledizione della dimensionalità , l'aggiunta di ulteriori dimensioni può rendere questi problemi più gravi, non meno). Lavoreremo con il linguaggio di programmazione statistica R: puoi trovare il codice completo qui (e il post nel modulo blog qui ).
Deviazione: Quartetto di Anscombe
Innanzitutto, un'analogia. Immagina che qualcuno abbia sostenuto quanto segue:
Ho letto del materiale sugli svantaggi della regressione lineare - che si aspetta una tendenza lineare, che i residui sono normalmente distribuiti e che non ci sono valori anomali. Ma tutta la regressione lineare sta minimizzando la somma degli errori quadrati (SSE) dalla linea prevista. Questo è un problema di ottimizzazione che può essere risolto indipendentemente dalla forma della curva o dalla distribuzione dei residui. Pertanto, la regressione lineare non richiede presupposti per funzionare.
Bene, sì, la regressione lineare funziona minimizzando la somma dei residui quadrati. Ma questo di per sé non è l'obiettivo di una regressione: quello che stiamo cercando di fare è tracciare una linea che funge da predittore affidabile e imparziale di y basato su x . Il teorema di Gauss-Markov ci dice che minimizzare il SSE raggiunge questo obiettivo, ma che il teorema si basa su alcuni presupposti molto specifici. Se queste ipotesi sono rotti, è comunque possibile ridurre al minimo lo SSE, ma potrebbe non farenulla. Immagina di dire "Guidi un'auto premendo il pedale: guidare è essenzialmente un" processo di spinta del pedale ". Il pedale può essere premuto indipendentemente dalla quantità di gas nel serbatoio. Pertanto, anche se il serbatoio è vuoto, è comunque possibile premere il pedale e guidare la macchina. "
Ma parlare costa poco. Diamo un'occhiata ai dati freddi, difficili. O in realtà, dati inventati.
Questi sono in effetti i miei dati inventati preferiti : il Quartetto di Anscombe . Creato nel 1973 dallo statistico Francis Anscombe, questo delizioso intruglio illustra la follia di fidarsi ciecamente dei metodi statistici. Ognuno dei set di dati ha la stessa pendenza di regressione lineare, intercetta, valore p e - eppure a prima vista possiamo vedere che solo uno di essi, I , è appropriato per la regressione lineare. In II suggerisce la forma sbagliata, in III è distorta da un singolo outlier- e in IV non c'è chiaramente alcuna tendenza!R2
Si potrebbe dire "La regressione lineare funziona ancora in quei casi, perché sta minimizzando la somma dei quadrati dei residui". Ma che vittoria di Pirro ! La regressione lineare traccerà sempre una linea, ma se è una linea insignificante, a chi importa?
Quindi ora vediamo che solo perché è possibile eseguire un'ottimizzazione non significa che stiamo raggiungendo il nostro obiettivo. E vediamo che inventare dati e visualizzarli è un buon modo per ispezionare i presupposti di un modello. Aspetta quell'intuizione, ne avremo bisogno tra un minuto.
Presupposto rotto: dati non sferici
Sostieni che l'algoritmo k-mean funzionerà bene su cluster non sferici. Grappoli non sferici come ... questi?
Forse questo non è quello che ti aspettavi, ma è un modo perfettamente ragionevole per costruire cluster. Guardando questa immagine, noi umani riconosciamo immediatamente due gruppi naturali di punti: non si possono confondere. Quindi vediamo come fa k-mean: i compiti sono mostrati a colori, i centri imputati sono mostrati come X.
Beh, che 'Non è giusto. K-mean stava cercando di inserire una spina quadrata in un foro rotondo - cercando di trovare dei bei centri con sfere pulite intorno a loro - e fallì. Sì, sta ancora minimizzando la somma di quadrati all'interno del cluster, ma proprio come nel Quartetto di Anscombe sopra, è una vittoria di Pirro!
Potresti dire "Questo non è un buon esempio ... nessun metodo di clustering potrebbe trovare correttamente cluster così strani". Non vero! Prova il clustering gerarchico a collegamento singolo :
Azzeccato! Questo perché il clustering gerarchico a collegamento singolo fa le ipotesi giuste per questo set di dati. (C'è tutta un'altra classe di situazioni in cui fallisce).
Potresti dire "Questo è un caso unico, estremo, patologico". Ma non lo è! Ad esempio, puoi rendere il gruppo esterno un semicerchio anziché un cerchio, e vedrai che k-mean fa ancora terribilmente (e il clustering gerarchico funziona ancora bene). Potrei facilmente affrontare altre situazioni problematiche, e questo è solo in due dimensioni. Quando si raggruppano dati 16-dimensionali, possono sorgere tutti i tipi di patologie.
Infine, dovrei notare che k-mean è ancora recuperabile! Se inizi trasformando i tuoi dati in coordinate polari , il clustering ora funziona:
Ecco perché è essenziale comprendere i presupposti alla base di un metodo: non ti dice solo quando un metodo ha degli svantaggi, ma ti spiega come risolverli.
Presupposto rotto: cluster di dimensioni irregolari
Che cosa succede se i cluster hanno un numero irregolare di punti - ciò spezza anche il cluster k - significa? Bene, considera questo gruppo di cluster, di dimensioni 20, 100, 500. Ho generato ciascuno da un gaussiano multivariato:
Sembra che k-mean potrebbe probabilmente trovare quei cluster, giusto? Tutto sembra essere generato in gruppi ordinati e ordinati. Quindi proviamo k-mean:
Ahia. Quello che è successo qui è un po 'più sottile. Nella sua ricerca per ridurre al minimo la somma dei quadrati all'interno del cluster, l'algoritmo k-mean dà più "peso" ai cluster più grandi. In pratica, ciò significa che è felice di lasciare che quel piccolo cluster finisca lontano da qualsiasi centro, mentre usa quei centri per "dividere" un cluster molto più grande.
Se giochi un po 'con questi esempi ( codice R qui! ), Vedrai che puoi costruire molti più scenari in cui k-mean fa un errore imbarazzante.
Conclusione: nessun pranzo libero
C'è una costruzione affascinante nel folklore matematico, formalizzata da Wolpert e Macready , chiamata "Nessun teorema del pranzo libero". Probabilmente è il mio teorema preferito nella filosofia dell'apprendimento automatico e apprezzo qualsiasi possibilità di sollevarlo (ho già detto che adoro questa domanda?) L'idea di base è dichiarata (non rigorosamente) come questa: "Quando viene calcolata la media in tutte le possibili situazioni, ogni algoritmo si comporta ugualmente bene ".
Sembra controintuitivo? Considera che per ogni caso in cui un algoritmo funziona, potrei costruire una situazione in cui fallisce terribilmente. La regressione lineare presuppone che i dati cadano lungo una linea, ma cosa succede se segue un'onda sinusoidale? Un test t presuppone che ogni campione provenga da una distribuzione normale: cosa succede se si lancia un valore anomalo? Qualsiasi algoritmo di risalita in pendenza può rimanere intrappolato nei massimi locali e qualsiasi classificazione supervisionata può essere ingannata in eccesso.
Cosa significa questo? Significa che i presupposti sono da dove viene il tuo potere! Quando Netflix ti consiglia i film, si presume che se ti piace un film, ti piacciono quelli simili (e viceversa). Immagina un mondo in cui ciò non era vero e i tuoi gusti sono perfettamente casuali e sparsi casualmente tra generi, attori e registi. Il loro algoritmo di raccomandazione fallirebbe terribilmente. Avrebbe senso dire "Beh, sta ancora minimizzando alcuni errori quadrati previsti, quindi l'algoritmo funziona ancora"? Non è possibile creare un algoritmo di raccomandazione senza fare alcune ipotesi sui gusti degli utenti, proprio come non è possibile creare un algoritmo di cluster senza fare alcune ipotesi sulla natura di tali cluster.
Quindi non accettare solo questi inconvenienti. Conoscili, in modo che possano informare la tua scelta di algoritmi. Comprenderli, in modo da poter modificare l'algoritmo e trasformare i dati per risolverli. E amali, perché se il tuo modello non potrebbe mai essere sbagliato, significa che non sarà mai giusto.