2013-05-22 6 views
8

Sono nuovo nel campo del machine learning e ho notato che ci sono molti algoritmi/set di algoritmi che possono essere usati: SVM, alberi decisionali, bayes naive, percetron ecc ... Ecco perché mi chiedo quale algoritmo dovrebbe essere usato per risolvere quale problema? In altre parole quale algoritmo risolve quale classe problema?Algoritmi di apprendimento automatico: quale algoritmo per quale problema?

Quindi la mia domanda è se si conosce un buon sito Web o un libro che si concentra su questa selezione di algoritmo problematico?

Qualsiasi aiuto sarebbe apprezzato. Grazie in anticipo.

Horace

+3

pranzo libero - http://en.wikipedia.org/wiki/No_free_lunch_theorem –

+2

Qualche tempo fa ho letto un articolo che conteneva un "cheat sheet". L'articolo, che si concentra sull'uso del modulo python scikits-learn, può essere trovato [** qui **] (http://peekaboo-vision.blogspot.de/2013/01/machine-learning-cheat-sheet- per-scikit.html). – pwagner

risposta

9

Take Andrew Ng's machine learning course on coursera. È splendidamente messo insieme, spiega le differenze tra i diversi tipi di algoritmo ML, dà consigli su quando utilizzare ogni algoritmo e contiene materiale utile sia per i praticanti che per la matematica, se lo si desidera. Sono in procinto di apprendere l'apprendimento automatico e questa è stata di gran lunga la risorsa più utile.

(Un altro consiglio che potresti trovare utile è considerare l'apprendimento di python, basato su un errore che ho fatto di non iniziare a imparare Python in una fase precedente e escludere i molti libri, pagine web, sdks, ecc. che si basa su Python. Come risulta, python è piuttosto facile da cogliere, e almeno dalle mie osservazioni personali ampiamente utilizzate nelle comunità di apprendimento automatico e di scienza dei dati.)

+0

+1 per aver menzionato la cusera di Andrew Ng - l'ho fatto l'anno scorso ed è davvero un'introduzione accessibile per i principianti. –

2

E 'molto difficile rispondere alla domanda “quale algoritmo per il quale problema?”

Questa capacità viene fornito con un sacco di esperienza e conoscenza. Quindi suggerisco, dovresti leggere alcuni buoni libri sull'apprendimento automatico. Probabilmente, il seguente libro sarebbe un buon punto di partenza.

Machine Learning: A Probabilistic Perspective

Una volta che hai qualche conoscenza di apprendimento automatico, si può lavorare sulla paio di semplici problemi di apprendimento della macchina. Iris flower dataset è un buon punto di partenza. Consiste di diverse caratteristiche appartenenti a tre tipi di specie di Iris. Sviluppare inizialmente un semplice modello di apprendimento automatico (come Regressione logistica) per classificare le specie di Iris e gradualmente è possibile passare a modelli più avanzati come Neural Networks.

+1

Un altro libro potrebbe essere "Machine Learning in Action" in cui l'autore (Peter Harrington) descrive diversi algoritmi di apprendimento automatico, inclusa la loro applicabilità. – Emile

+0

MLAPP è probabilmente la migliore teoria generale di ML * in giro in questo momento, non è così intimidatorio come alcuni degli altri libri, purché si disponga di una matematica di callege. Questo libro, disponibile gratuitamente on-line, è anche eccellente http://www-stat.stanford.edu/~tibs/ElemStatLearn/ (ma non così accessibile come il libro di Murphy). Vuoi qualcosa di più pratico per Machine Learning in Action. – Bull

2

@TooTone: A mio parere Macchina Learning in Action potrebbe aiutare il PO a decidere quale tecnica utilizzare per un particolare problema, in quanto il libro fornisce una chiara classificazione dei diversi algoritmi ML e pro, contro e "lavora con" per ciascuno di essi. Sono d'accordo che il codice sia un po 'difficile da leggere, specialmente per le persone non abituate alle operazioni con le matrici. Ci sono anni di ricerca condensati in un programma Python a 10 linee, quindi preparatevi a capire che ci vorrà un giorno (almeno per me).

+0

Ho letto "Machine Learning for Hackers" che utilizza R, perché conoscevo qualche R, ma con il senno di poi avrei voluto leggere "Machine Learning in Action", che usa invece python, poiché python sembra più mainstream e il libro di Peter Harrington ha recensioni più favorevoli in generale. Tuttavia sembrano esserci problemi con entrambi i libri in termini di editing, leggibilità del codice, ecc. Sembra che ci siano molti libri teorici molto forti su ML, come quello raccomandato da Upul, ma non pragmatici. – TooTone

0

Come semplice punto di partenza, considero quali input ho e quali output voglio, il che spesso riduce le scelte in qualsiasi situazione. Ad esempio, se ho categorie, piuttosto che numeri e una categoria target per ogni input, gli alberi decisionali sono una buona idea. Se non ho un obiettivo, posso solo fare il clustering. Se ho input numerici e output numerico, potrei usare reti neurali o altri tipi di regressione. Potrei anche usare alberi decisionali che generano equazioni di regressione. Ci sono altre domande da porre dopo questo, ma è un buon punto di partenza.

3

scikit-learn.org ha pubblicato questa infografica, che può essere utile, anche quando non usi la libreria sklearn.

enter image description here