Un solido background in matematica è un requisito totale per ML?


37

Sto iniziando a voler far avanzare le mie competenze e sono sempre stato affascinato dall'apprendimento automatico. Tuttavia, sei anni fa, invece di perseguire questo, ho deciso di prendere una laurea completamente indipendente dall'informatica.

Sto sviluppando software e applicazioni da circa 8-10 anni, quindi ho una buona padronanza ma non riesco proprio a penetrare nel lato matematico dell'apprendimento automatico / probabilità / statistiche.

Comincio a guardare materiale di apprendimento e nella prima pagina potrebbe includere qualcosa che mi confonde e crea immediatamente una barriera nel mio apprendimento.

  • Un solido background in matematica è un requisito totale per ML? Dovrei provare a riempire gli spazi vuoti della mia matematica prima di continuare con ML? L'autoapprendimento può davvero funzionare solo per uno sviluppatore senza alcun background informatico?

Domanda correlata:


4
Direi che devi capire almeno molto bene l'algebra lineare e probabilmente anche qualche probabilità per le applicazioni bayesiane. Devi anche essere a tuo agio nel tradurre la matematica in codice, e anche essere adattabile rispetto alla convenzione di notazione (che non è affatto coerente). ML non è facile nemmeno per la maggior parte degli scienziati informatici.
John Moeller,

3
Non credo che le domande siano affatto correlate. Grazie per aver reso questo un sito stackexchange molto invitante e aver chiuso la domanda. Non ho nemmeno menzionato nessuno che mi consigli un libro. Questo non è un duplicato basato sul "possibile duplicato"
Layke,

2
Ho fatto un thread su meta (8 ore fa) chiedendo di riaprirlo. meta.stats.stackexchange.com/questions/1442/…
Douglas Zare,

1
Grazie. Potrebbe ancora essere chiuso come "troppo soggettivo" o "non una vera domanda", ma sicuramente non è un duplicato.
Layke,

1
Layke, come spiegato nel meta thread avviato da @Douglas Zare, speriamo che consideri la chiusura di questa domanda un potenziale favore per te, perché ti dà immediatamente accesso ai thread correlati che probabilmente già rispondono alla tua domanda. Ma dal momento che hai commentato che non è destinato a essere un duplicato, ti dispiacerebbe modificare la tua domanda per chiarire in che senso non duplica domande simili su questo sito? Saremo felici quindi di riaprirlo.
whuber

Risposte:


23

Stanford (Ng) e Caltech (Abu-Mostafa) hanno organizzato lezioni di machine learning su YouTube. Non puoi vedere i compiti, ma le lezioni non si basano su quelli. Ti consiglio di provare a guardarli prima, perché ti aiuteranno a scoprire quale matematica devi imparare. Credo che una lezione molto simile con compiti sia insegnata da Andrew Ng su Coursera, che Ng ha contribuito a creare.

Un'eccezione: se ricordo bene, all'inizio delle lezioni di Stanford, Ng fa alcuni calcoli che coinvolgono derivati ​​di tracce di prodotti di matrici. Sono piuttosto isolati, quindi non preoccuparti se non segui questi calcoli. Non so nemmeno quale corso coprirebbe quelli.

Vuoi avere una certa familiarità con probabilità, algebra lineare, programmazione lineare e calcolo multivariabile. Tuttavia, hai bisogno di molto meno di quanto è contenuto in molte classi universitarie complete su tali argomenti.



15

A seconda del tipo di applicazione, non è necessariamente necessaria molta matematica come praticante di ML.

Come programmatore autodidatta (~ 15 anni) e abbandono frequente del college senza molto background in matematica (Calcolo III) o statistiche, ho iniziato con l'apprendimento automatico / il data mining con poche risorse:

  • Il libro "Mastering Data Mining: The Art and Science of Customer Relationship Management" di Berry and Linoff

  • Il libro "Tecniche di data mining" degli stessi autori

  • R, in particolare, i pacchetti party e nnet

Lavoro in marketing e operazioni di supporto senza scopo di lucro. Soprattutto all'inizio, ho usato il data mining principalmente per appelli di direct mail.

Successivamente ho seguito Linear Algebra, Andrew Ng's Machine Learning, Introduction to Statistical Methods (STAT 301) presso CSU, ecc.

Per te ti consiglio di iniziare con i due libri, il corso di Andrew Ng e, a seconda della tua domanda, gli alberi delle decisioni (il pacchetto del partito in R).


9

Penso che questa sia una buona domanda in realtà, e di grande attualità; Non sono sicuro però che ci sia una risposta. Un recente articolo ha suscitato molte controversie (vedi qui ) suggerendo che la scienza dei dati era facile da imparare online. Una cosa notevole della maggior parte dei casi studio citati in quell'articolo è tuttavia che provengono da contesti attuariali o matematici.

Questo è un punto interessante, perché indica che mentre corsi online come Coursera, Stanford ed edX sono utili per insegnare le competenze informatiche specifiche richieste, è probabile che un po 'di background matematico sia essenziale per capire cosa stanno facendo i modelli che stai applicando . D'altra parte, si potrebbe sostenere una tesi altrettanto forte per cui questi ragazzi avevano una mentalità analitica per cominciare, e questo è sia il motivo per cui lavorano in discipline quantitative sia perché hanno imparato facilmente l'apprendimento automatico e hanno vinto le competizioni.

Penso fondamentalmente che ci siano livelli di problemi di analisi in corso qui. Mentre le abilità matematiche a volte sono utili per comprendere le radici probabilistiche degli algoritmi che stai applicando, c'è un argomento uguale da sostenere che le buone capacità di ingegneria del software possono aggiungere altrettanto permettendoti di fare analisi di alto livello e mettere insieme parti di algoritmi per raggiungere il tuo obiettivo anche se non capisci perfettamente perché lo stanno facendo . In generale, la scienza dei dati (e l'apprendimento automatico per associazione) è un campo eccitante proprio per questa ampiezza: puoi essere un tipo di database e usare la forza bruta per risolvere i problemi, o un matematico che utilizza la simulazione o un informatico che sfrutta una buona ingegnerizzazione codice per mettere insieme algoritmi e approcci diversi in modo ottimale.

Tutti gli approcci che si aggiungono alla previsione sono buoni, quindi direi che apprendere un po 'di matematica può essere una buona idea per darti le migliori possibilità di successo nel campo. Se vuoi dei buoni punti di partenza, il MIT ha un ottimo corso di algebra lineare , con alcune belle applicazioni computazionali, che ho trovato facile da capire. Hanno anche altri corsi su processi stocastici e calcoli multivariabili che potrebbero anche essere di interesse nel costruire le tue conoscenze.


Che le persone non analitiche (o i non astrattisti poveri) non siano veramente aiutati dalla semplificazione della matematica mi ha sempre preoccupato (+1). Mi è piaciuto anche il corso di algebra lineare di Strang, ma l'algebra lineare non è la prima matematica ad essere eclissata dai calcoli della forza bruta? per quanto riguarda la scienza dei dati è un collegamento facile, probabilmente qualcuno ha già sollevato, ma in concorsi falsi in borsa 1 o 2 delle oltre mille amature usaully batterebbe gli esperti - così ognuno può ottenere scorte di raccolta di azioni!
Phaneron,

4

Un solido background in matematica è un requisito totale per ML? - una risposta e alcune speculazioni per ML concettualizzate come statistiche ;-)

Intorno al 1990 speravo che l'algebra del computer fosse di aiuto, penso che sia, ma è abbastanza limitata. Ma aiuta sicuramente ad accelerare l'apprendimento della matematica (meno necessità di sviluppare abilità manipolatorie mediante la pratica o cercare di cavarsela semplicemente facendo i semplici esercizi). Ho trovato l'algebra lineare di Fred Szabo con Mathematica un eccellente esempio di questo (ma avevo già seguito un corso di algebra lineare a livello di teoria avanzata).

Lavoro dal 1988 (Utilizzo di metodi intensivi per computer per "concretizzare" teoremi e principi dalla statistica - Precisamente) per rendere la risposta no o almeno non necessaria (per le statistiche). Uno sarà sempre in grado di capire più rapidamente e più in generale con ulteriori abilità e comprensione matematica. Penso che sto iniziando ad avvicinarmi, ma è necessaria una rappresentazione manipolabile dei modelli e delle inferenze che generano probabilità che sia valida e utile per più di semplici problemi di giocattoli.

Dovrei provare a riempire gli spazi vuoti della mia matematica prima di continuare con ML?

Questo è uno sforzo arduo: in MHO quasi tutti quelli che comprendono le statistiche sono arrivati agevolmente manipolando le rappresentazioni matematiche standard e soprattutto non standard di modelli generatori di probabilità e caratterizzazioni matematiche di inferenza (il massimo x% di Phd di statistiche matematiche). Quindi non si tratta solo di apprendere le basi, ma di essere davvero a proprio agio con la matematica. (A parte questo, per me la teoria di Fourier era essenziale.)

Perché queste rappresentazioni sono difficili (anche con molta matematica)?

Gerd Gigerenzer ha praticamente stabilito che non vi è alcuna sfida con la semplice malattia positiva / negativa dato il problema positivo / negativo del test che utilizza le frequenze _naturali ”. Un riferimento alla domanda collegata sembra fare buon uso di quel http://www.autonlab.org/tutorials/prob18.pdf

Perché è difficile generalizzare?

Per k test (ripetuti o diversi) - 2 ^ k

Per i test che accettano valori v - v ^ k

Quindi, per binario sconosciuto - 2 * v ^ k probabilità del percorso di esempio

Per p più sconosciuti binari 2 ^ p * v ^ k

Per p più incognite razionali Q ^ p * v ^ k

Si passa rapidamente alla matematica con infiniti numerabili e innumerevoli per far fronte a questo, che anche con competenza matematica porta a molti fraintendimenti e apparenti paradossi (ad esempio il paradosso di Borel?)

Inoltre, vi sono incomprensioni pericolose da lineari a non lineari (ad es. Pericoli nascosti in cui si specificano Winbugs Priori non informativi e altri MCMC senza informazioni per la distribuzione precedente ) e interazioni ed effetti casuali, ecc.

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.