Meer dan 150 van de beste tutorials over machinaal leren, NLP en Python die ik heb gevonden

Op veler verzoek heb ik dit artikel bijgewerkt met de nieuwste tutorials van de afgelopen 12 maanden. Bekijk het hier

Einsteins bureau een paar uur na zijn dood. Bron: LIFE Magazine

Hoewel machine learning een rijke geschiedenis heeft die teruggaat tot 1959, evolueert het veld in een ongekend tempo. In een recent artikel heb ik besproken waarom het bredere kunstmatige intelligentie veld booming is en waarschijnlijk nog wel even zal duren. Degenen die geïnteresseerd zijn in het leren van ML, kunnen het moeilijk vinden om aan de slag te gaan.

Terwijl ik me voorbereid om mijn Ph.D. programma in de herfst, heb ik op internet gezocht naar goede bronnen over alle aspecten van machine learning en NLP. Meestal vind ik een interessante zelfstudie of video, en dat leidt tot drie of vier meer zelfstudies of video's, en voordat ik het weet, heb ik 20 tabbladen met nieuw materiaal dat ik moet doornemen. (Overigens is Tab Bundler nuttig geweest om georganiseerd te blijven.)

Na het vinden van meer dan 25 ML-gerelateerde "cheatsheets", heb ik een bericht gemaakt dat linkt naar alle goede.

Om anderen te helpen die een vergelijkbaar ontdekkingsproces doorlopen, heb ik een lijst samengesteld met de beste zelfstudie-inhoud die ik tot nu toe heb gevonden. Het is geenszins een uitputtende lijst van elke ML-gerelateerde tutorial op het internet - die overweldigend en dubbel zou zijn. Plus, er is een hoop middelmatige inhoud die er is. Mijn doel was om te linken naar de beste tutorials die ik vond over de belangrijke subonderwerpen binnen machine learning en NLP.

In een zelfstudie verwijs ik naar inleidende inhoud die een concept kort wil onderwijzen. Ik heb vermeden om hoofdstukken van boeken op te nemen, die een grotere reikwijdte hebben, en onderzoeksrapporten, die over het algemeen geen goed werk leveren in het onderwijzen van concepten. Waarom niet gewoon een boek kopen? Zelfstudies zijn handig wanneer u een specifiek niche-onderwerp probeert te leren of verschillende perspectieven wilt krijgen.

Ik heb dit bericht opgedeeld in vier secties: Machine Learning, NLP, Python en Math. Ik heb een steekproef van onderwerpen in elke sectie opgenomen, maar gezien de enorme hoeveelheid materiaal kan ik onmogelijk elk mogelijk onderwerp opnemen.

Voor toekomstige berichten kan ik een vergelijkbare lijst met boeken, online video's en coderepo's maken terwijl ik ook een groeiende verzameling van die bronnen verzamel.

Als er goede tutorials zijn waarvan je weet dat ik die mis, laat het me weten! Ik probeer elk onderwerp te beperken tot vijf of zes tutorials, want veel verder zou dat repetitief zijn. Elke link moet ander materiaal hebben dan de andere links of informatie op een andere manier weergeven (bijvoorbeeld code versus dia's versus lange vorm) of vanuit een ander perspectief.

Machine leren

Machine learning is leuk! (Medium.com/@ageitgey)

Machine Learning Crash Course: Deel I, Deel II, Deel III (Machine Learning in Berkeley)

Een inleiding tot de theorie van machinaal leren en de toepassingen ervan: een visuele tutorial met voorbeelden (toptal.com)

Een zachte gids voor machinaal leren (monkeylearn.com)

Welk algoritme voor machine learning moet ik gebruiken? (Sas.com)

Activerings- en verliesfuncties

Sigmoïde neuronen (neuralnetworksanddeeplearning.com)

Wat is de rol van de activeringsfunctie in een neuraal netwerk? (Quora.com)

Uitgebreide lijst van activeringsfuncties in neurale netwerken met voors / tegens (stats.stackexchange.com)

Activeringsfuncties en het zijn typen - Welke is beter? (Medium.com)

Zin voor logaritmisch verlies (exegetic.biz)

Verliesfuncties (Stanford CS231n)

L1 versus L2 verliesfunctie (rishy.github.io)

De cross-entropiekostenfunctie (neuralnetworksanddeeplearning.com)

Vooroordeel

Rol van bias in neurale netwerken (stackoverflow.com)

Bias-knooppunten in neurale netwerken (makeyourownneuralnetwork.blogspot.com)

Wat is bias in kunstmatig neuraal netwerk? (Quora.com)

perceptron

Perceptrons (neuralnetworksanddeeplearning.com)

The Perception (natureofcode.com)

Neurale netwerken met één laag (Perceptrons) (dcu.ie)

Van Perceptrons tot Deep Networks (toptal.com)

regressie

Inleiding tot lineaire regressieanalyse (duke.edu)

Lineaire regressie (ufldl.stanford.edu)

Lineaire regressie (readthedocs.io)

Logistische regressie (readthedocs.io)

Eenvoudige lineaire regressie-zelfstudie voor machinaal leren (machinelearningmastery.com)

Logistieke regressie-zelfstudie voor machinaal leren (machinelearningmastery.com)

Softmax Regression (ufldl.stanford.edu)

Gradient Descent

Leren met verloopdaling (neuralnetworksanddeeplearning.com)

Gradient Descent (iamtrask.github.io)

Hoe Gradient Descent-algoritme te begrijpen (kdnuggets.com)

Een overzicht van optimalisatiealgoritmen voor de gradiëntafdaling (sebastianruder.com)

Optimalisatie: Stochastic Gradient Descent (Stanford CS231n)

Generatief leren

Generatieve leeralgoritmen (Stanford CS229)

Een praktische uitleg van een Naive Bayes-classificator (monkeylearn.com)

Ondersteuning van vectormachines

Een inleiding tot Support Vector Machines (SVM) (monkeylearn.com)

Ondersteuning vectormachines (Stanford CS229)

Lineaire classificatie: Support Vector Machine, Softmax (Stanford 231n)

backpropagation

Ja, u moet backprop begrijpen (medium.com/@karpathy)

Kun je een visuele verklaring geven voor het backpropagatie-algoritme voor neurale netwerken? (Github.com/rasbt)

Hoe het backpropagation-algoritme werkt (neuralnetworksanddeeplearning.com)

Backpropagation door tijd en verdwijnende gradiënten (wildml.com)

Een zachte introductie tot backpropagation door de tijd (machinelearningmastery.com)

Backpropagation, Intuitions (Stanford CS231n)

Diep leren

Deep Learning in een notendop (nikhilbuduma.com)

Een tutorial over diep leren (Quoc V. Le)

Wat is diep leren? (Machinelearningmastery.com)

Wat is het verschil tussen kunstmatige intelligentie, machinaal leren en diep leren? (Nvidia.com)

Optimalisatie en vermindering van dimensies

Zeven technieken voor vermindering van gegevensdimensionaliteit (knime.org)

Belangrijkste componentenanalyse (Stanford CS229)

Dropout: een eenvoudige manier om neurale netwerken te verbeteren (Hinton @ NIPS 2012)

Uw Deep Neural Network trainen (rishy.github.io)

Long Short Term Memory (LSTM)

Een zachte inleiding tot langetermijngeheugennetwerken door de experts (machinelearningmastery.com)

LSTM-netwerken begrijpen (colah.github.io)

LSTM's verkennen (echen.me)

Iedereen kan leren een LSTM-RNN te coderen in Python (iamtrask.github.io)

Convolutionele neurale netwerken (CNN's)

Introductie van convolutionele netwerken (neuralnetworksanddeeplearning.com)

Deep learning en convolutionele neurale netwerken (medium.com/@ageitgey)

Conv-netten: een modulair perspectief (colah.github.io)

Convolutions begrijpen (colah.github.io)

Terugkerende neurale netten (RNN's)

Terugkerende handleiding voor neurale netwerken (wildml.com)

Aandacht en Augmented Recurrent Neural Networks (distill.pub)

De onredelijke effectiviteit van terugkerende neurale netwerken (karpathy.github.io)

Een diepe duik in terugkerende neurale netten (nikhilbuduma.com)

Versterking leren

Eenvoudige beginnershandleiding voor versterkingsleren en de implementatie ervan (analyticsvidhya.com)

Een tutorial voor het leren van versterkingen (mst.edu)

Leren Versterking Leren (wildml.com)

Deep Reinforcement Learning: Pong from Pixels (karpathy.github.io)

Generative Adversarial Networks (GAN's)

Wat is een generatief tegenstrijdig netwerk? (Nvidia.com)

Generatieve adversariële netwerken misbruiken om 8-bit pixelart te maken (medium.com/@ageitgey)

Een inleiding tot Generative Adversarial Networks (met code in TensorFlow) (aylien.com)

Generatieve tegengestelde netwerken voor beginners (oreilly.com)

Multi-task leren

Een overzicht van multi-task learning in diepe neurale netwerken (sebastianruder.com)

NLP

Een inleiding op neurale netwerkmodellen voor natuurlijke taalverwerking (Yoav Goldberg)

De definitieve gids voor natuurlijke taalverwerking (monkeylearn.com)

Inleiding tot natuurlijke taalverwerking (algorithmia.com)

Natural Language Processing Tutorial (vikparuchuri.com)

Natuurlijke taalverwerking (bijna) van Scratch (arxiv.org)

Deep Learning en NLP

Deep Learning toegepast op NLP (arxiv.org)

Deep Learning voor NLP (zonder magie) (Richard Socher)

Convolutionele neurale netwerken voor NLP begrijpen (wildml.com)

Deep Learning, NLP en Representations (colah.github.io)

Insluiten, coderen, bijwonen, voorspellen: de nieuwe formule voor diepgaand leren voor de nieuwste NLP-modellen (explosie.ai)

Natuurlijke taal begrijpen met diepe neurale netwerken met Torch (nvidia.com)

Deep Learning voor NLP met Pytorch (pytorich.org)

Woordvectoren

Bag of Words voldoet aan Bags of Popcorn (kaggle.com)

Over woordinsluitingen Deel I, Deel II, Deel III (sebastianruder.com)

De verbazingwekkende kracht van woordvectoren (acolyer.org)

word2vec Parameter Learning Explained (arxiv.org)

Word2Vec-zelfstudie - Het Skip-grammodel, negatieve bemonstering (mccormickml.com)

Encoder-Decoder

Aandacht en geheugen in Deep Learning en NLP (wildml.com)

Volgorde van reeksmodellen (tensorflow.org)

Volgorde van sequentieleren met neurale netwerken (NIPS 2014)

Machine Learning is Fun Deel 5: Taalvertaling met diep leren en de magie van sequenties (medium.com/@ageitgey)

Hoe een Encoder-Decoder LSTM te gebruiken om reeksen van willekeurige gehele getallen te echoën (machinelearningmastery.com)

tf-seq2seq (google.github.io)

Python

7 stappen om machine learning te beheersen met Python (kdnuggets.com)

Een voorbeeld van een machine learning notebook (nbviewer.jupyter.org)

Voorbeelden

Hoe het Perceptron-algoritme van nul in Python te implementeren (machinelearningmastery.com)

Een neuraal netwerk van Scratch implementeren in Python (wildml.com)

Een neuraal netwerk in 11 lijnen van Python (iamtrask.github.io)

Uw eigen k-dichtstbijzijnde buur-algoritme implementeren met Python (kdnuggets.com)

Demonstratie van geheugen met een langetermijngeheugennetwerk in Python (machinelearningmastery.com)

Hoe leer je om willekeurige gehele getallen te echoën met terugkerende neurale netwerken op de korte termijn (machinelearningmastery.com)

Hoe u nummers kunt toevoegen met seq2seq terugkerende neurale netwerken (machinelearningmastery.com)

Scipy en gevoelloos

Scipy Lecture Notes (scipy-lectures.org)

Python Numpy Tutorial (Stanford CS231n)

Een inleiding tot Numpy en Scipy (UCSB CHE210D)

Een spoedcursus in Python voor wetenschappers (nbviewer.jupyter.org)

scikit leren

PyCon scikit-learn Tutorial Index (nbviewer.jupyter.org)

scikit-learn classificatie-algoritmen (github.com/mmmayo13)

scikit-learn Tutorials (scikit-learn.org)

Beknopte zelfstudie over scikit-leer (github.com/mmmayo13)

Tensorflow

Tensorflow-zelfstudies (tensorflow.org)

Inleiding tot TensorFlow - CPU versus GPU (medium.com/@erikhallstrm)

TensorFlow: A primer (metaflow.fr)

RNN's in Tensorflow (wildml.com)

Een CNN implementeren voor tekstclassificatie in TensorFlow (wildml.com)

Tekstsamenvatting uitvoeren met TensorFlow (surmenok.com)

PyTorch

PyTorch-zelfstudies (pytorch.org)

Een zachte introductie tot PyTorch (gaurav.im)

Zelfstudie: diep leren in PyTorch (iamtrask.github.io)

PyTorch-voorbeelden (github.com/jcjohnson)

PyTorch-zelfstudie (github.com/MorvanZhou)

PyTorch-zelfstudie voor Deep Learning-onderzoekers (github.com/yunjey)

Wiskunde

Wiskunde voor machinaal leren (ucsc.edu)

Wiskunde voor machinaal leren (UMIACS CMSC422)

Lineaire algebra

Een intuïtieve gids voor lineaire algebra (betterexplained.com)

De intuïtie van een programmeur voor matrixvermenigvuldiging (betterexplained.com)

Inzicht in het kruisproduct (betterexplained.com)

Het puntproduct begrijpen (betterexplained.com)

Lineaire algebra voor machinaal leren (U. of Buffalo CSE574)

Lineaire cheatsheet voor algebra voor diep leren (medium.com)

Lineaire Algebra Review en referentie (Stanford CS229)

Waarschijnlijkheid

De stelling van Bayes begrijpen met ratio's (betterexplained.com)

Beoordeling van de waarschijnlijkheidstheorie (Stanford CS229)

Kansrekeningstheorie voor machine learning (Stanford CS229)

Kansrekening (U. of Buffalo CSE574)

Kansrekening voor machine learning (U. van Toronto CSC411)

rekening

Derivaten begrijpen: de quotieregel, exponenten en logaritmen (betterexplained.com)

Derivaten begrijpen: de product-, stroom- en kettingregels (betterexplained.com)

Vectorcalculus: het verloop begrijpen (betterexplained.com)

Differentiaalberekening (Stanford CS224n)

Calculus-overzicht (readthedocs.io)