Більше 150 найкращих машинних навчань, NLP та Python, які я знайшов

За популярним попитом я оновив цю статтю останніми навчальними посібниками за останні 12 місяців. Перевірте це тут

Ейнштейн на столі через кілька годин після його смерті. Джерело: Журнал LIFE

Хоча машинне навчання має багату історію ще з 1959 року, поле розвивається з небаченою швидкістю. У нещодавній статті я обговорював, чому ширше поле штучного інтелекту процвітає і, ймовірно, буде на деякий час. Тим, хто зацікавлений у вивченні ML, можливо, вважати залякуючим розпочати роботу.

Коли я готуюся розпочати докторську ступінь. Програма восени, я шукав в Інтернеті хороші ресурси з усіх аспектів машинного навчання та НЛП. Як правило, я знайду цікавий підручник чи відео, і це призводить до ще трьох-чотирьох навчальних посібників чи відео. Перш ніж я це знаю, у мене є 20 вкладок нового матеріалу, які мені потрібно пройти. (Зі сторони, Tab Bundler допомагає залишатися організованим.)

Знайшовши понад 25 чіт-листів, пов’язаних з ML, я створив пост, який посилається на всі хороші.

Щоб допомогти іншим, хто проходить подібний процес відкриття, я склав список найкращого вмісту підручника, який я знайшов досі. Це аж ніяк не вичерпний список кожного навчального посібника, пов’язаного з МЛ в Інтернеті, - це було б непосильним і дублюючим. Плюс, там є безліч посереднього вмісту. Моєю метою було пов’язати найкращі підручники, які я знайшов у важливих підтемах машинного навчання та NLP.

Підручником я маю на увазі вступний зміст, який має намір викладати концепцію лаконічно. Я уникав включати глави книг, які мають більший обсяг висвітлення, та науково-дослідні роботи, які, як правило, не допомагають добре викладати поняття. Чому б просто не купити книгу? Підручники корисні, коли ви намагаєтеся вивчити певну тему ніші або хочете отримати різні точки зору.

Я розділив цю публікацію на чотири розділи: Машинне навчання, NLP, Python та Math. Я включив вибірки тем у кожному розділі, але, враховуючи обширність матеріалу, я не можу включити кожну можливу тему.

Для майбутніх публікацій я можу створити подібний перелік книг, відео в Інтернеті та репост кодів, оскільки я також складаю все більшу колекцію цих ресурсів.

Якщо є хороші підручники, про які ви знаєте, що я пропускаю, будь ласка, повідомте мене! Я намагаюся обмежити кожну тему п’ятью або шістьма навчальними посібниками, оскільки набагато більше цього буде повторюваним. Кожне посилання повинно мати інший матеріал від інших посилань або представляти інформацію по-різному (наприклад, код проти слайдів проти довгої форми) або з іншого погляду.

Машинне навчання

Машинне навчання - це весело! (medium.com/@ageitgey)

Курс машинного навчання "Збій": частина I, частина II, частина III (машинне навчання в Берклі)

Вступ до теорії машинного навчання та її застосування: наочний підручник з прикладами (toptal.com)

Ніжний посібник з машинного навчання (monkeylearn.com)

Який алгоритм машинного навчання я повинен використовувати? (sas.com)

Функції активації та втрати

Сигмоїдні нейрони (neuralnetworksanddeeplearning.com)

Яка роль функції активації в нейронній мережі? (quora.com)

Повний перелік функцій активації в нейронних мережах із плюсами / мінусами (stats.stackexchange.com)

Функції активації та її типи. Що краще? (medium.com)

Почуття логарифмічної втрати (exegetic.biz)

Функції втрати (Stanford CS231n)

L1 порівняно з функцією втрати L2 (rishy.github.io)

Функція перехресної ентропії (neuralnetworksanddeeplearning.com)

Упередження

Роль зміщення в нейронних мережах (stackoverflow.com)

Вузли зміщення в нейронних мережах (makeyourownneuralnetwork.blogspot.com)

Що таке упередженість у штучній нейромережі? (quora.com)

Перцепрон

Перцептрони (neuralnetworksanddeeplearning.com)

Сприйняття (natureofcode.com)

Одношарові нейронні мережі (перцептрони) (dcu.ie)

Від Perceptrons до глибоких мереж (toptal.com)

Регресія

Вступ до лінійного регресійного аналізу (duke.edu)

Лінійна регресія (ufldl.stanford.edu)

Лінійна регресія (readthedocs.io)

Логістична регресія (readthedocs.io)

Простий підручник з лінійною регресією для машинного навчання (machinelearningmastery.com)

Підручник з логістичної регресії для машинного навчання (machinelearningmastery.com)

Регрес Softmax (ufldl.stanford.edu)

Спуск градієнта

Навчання з градієнтним спуском (neuralnetworksanddeeplearning.com)

Спуск градієнта (iamtrask.github.io)

Як зрозуміти алгоритм Gradient Descent (kdnuggets.com)

Огляд алгоритмів оптимізації градієнта спуску (sebastianruder.com)

Оптимізація: стохастичний градієнт спуску (Stanford CS231n)

Генеральне навчання

Алгоритми генеративного навчання (Stanford CS229)

Практичне пояснення класифікатора Naive Bayes (monkeylearn.com)

Підтримка векторних машин

Вступ до підтримки векторних машин (SVM) (monkeylearn.com)

Підтримка векторних машин (Stanford CS229)

Лінійна класифікація: Підтримка векторної машини, Softmax (Stanford 231n)

Зворотне розповсюдження

Так, ви повинні розуміти зворотній зв'язок (medium.com/@karpathy)

Чи можете ви дати наочне пояснення алгоритму зворотного поширення нейронних мереж? (github.com/rasbt)

Як працює алгоритм зворотного розповсюдження (neuralnetworksanddeeplearning.com)

Зворотне розповсюдження через час та зникаючі градієнти (wildml.com)

Ніжний вступ до розмноження через час (machinelearningmastery.com)

Поширення, інтуїції (Stanford CS231n)

Глибоке навчання

Глибоке навчання в горішках (nikhilbuduma.com)

Навчальний посібник з глибокого навчання (Quoc V. Le)

Що таке глибоке навчання? (machinelearningmastery.com)

У чому різниця між штучним інтелектом, машинним навчанням та глибоким навчанням? (nvidia.com)

Оптимізація та зменшення розмірності

Сім методик зменшення розмірності даних (knime.org)

Аналіз основних компонентів (Stanford CS229)

Випадання: простий спосіб покращити нейронні мережі (Hinton @ NIPS 2012)

Як тренувати свою глибоку нейронну мережу (rishy.github.io)

Довга короткострокова пам'ять (LSTM)

Експерти: щадне знайомство з довготерміновими мережами пам'яті (machinelearningmastery.com)

Розуміння мереж LSTM (colah.github.io)

Вивчення LSTM (echen.me)

Кожен може навчитися кодувати LSTM-RNN в Python (iamtrask.github.io)

Конволюційні нейронні мережі (CNN)

Представлення згорткових мереж (neuralnetworksanddeeplearning.com)

Глибоке навчання та конволюційні нейронні мережі (medium.com/@ageitgey)

Мережі Conv: модульна перспектива (colah.github.io)

Розуміння згортків (colah.github.io)

Повторні нейронні мережі (RNN)

Підручник з періодичними нейронними мережами (wildml.com)

Увага та доповнені періодичні нейронні мережі (distill.pub)

Нерозумна ефективність періодичних нейронних мереж (karpathy.github.io)

Глибоке занурення в періодичні нейронні мережі (nikhilbuduma.com)

Навчання зміцненню

Простий посібник для початківців щодо посилення навчання та його впровадження (analyticsvidhya.com)

Навчальний посібник з посилення навчання (mst.edu)

Навчання зміцненню навчання (wildml.com)

Навчання глибокому зміцненню: понг з пікселів (karpathy.github.io)

Генеративні змагальні мережі (GAN)

Що таке генеративна змагальна мережа? (nvidia.com)

Зловживання генеративними змагальними мережами для створення 8-бітного піксельного мистецтва (medium.com/@ageitgey)

Вступ до генеративних змагальних мереж (з кодом у TensorFlow) (aylien.com)

Генеративні змагальні мережі для початківців (oreilly.com)

Навчання з декількома завданнями

Огляд багатозадачного навчання в глибоких нейронних мережах (sebastianruder.com)

НЛП

Буквар для моделей нейронної мережі для обробки природних мов (Yoav Goldberg)

Поточний посібник з обробки природних мов (monkeylearn.com)

Вступ до обробки природних мов (algormia.com)

Підручник з обробки природних мов (vikparuchuri.com)

Обробка природних мов (майже) від Scratch (arxiv.org)

Глибоке навчання та НЛП

Глибоке навчання застосовано до NLP (arxiv.org)

Глибоке навчання для NLP (без магії) (Річард Сочер)

Розуміння конволюційних нейронних мереж для NLP (wildml.com)

Поглиблене навчання, NLP та представництва (colah.github.io)

Вбудовуйте, кодуйте, відвідуйте, прогнозуйте: Нова формула глибокого навчання сучасних моделей NLP (explosion.ai)

Розуміння природної мови з глибокими нейронними мережами за допомогою факела (nvidia.com)

Глибоке навчання для NLP з Pytorch (pytorich.org)

Слово Вектори

Мішок слів відповідає мішкам з попкорну (kaggle.com)

Про вкладення слів, частина I, частина II, частина III (sebastianruder.com)

Дивовижна сила слова векторів (acolyer.org)

word2vec Параметри навчання пояснено (arxiv.org)

Підручник Word2Vec - Модель пропуску-грам, негативна вибірка (mccormickml.com)

Енкодер-декодер

Увага та пам'ять у глибокому навчанні та NLP (wildml.com)

Послідовність до моделей послідовності (tensorflow.org)

Послідовність навчання послідовності з нейронними мережами (NIPS 2014)

Машинне навчання - це задоволення Частина 5: Переклад мови з поглибленим навчанням та магією послідовностей (medium.com/@ageitgey)

Як використовувати LSTM кодера-декодера для відлуння послідовностей випадкових цілих чисел (machinelearningmastery.com)

tf-seq2seq (google.github.io)

Пітон

7 кроків до оволодіння машинним навчанням за допомогою Python (kdnuggets.com)

Приклад ноутбука машинного навчання (nbviewer.jupyter.org)

Приклади

Як реалізувати алгоритм рецептора з нуля в Python (machinelearningmastery.com)

Впровадження нейронної мережі з Scratch в Python (wildml.com)

Нейронна мережа в 11 рядках Python (iamtrask.github.io)

Впровадження власного k-найближчого алгоритму сусіда за допомогою Python (kdnuggets.com)

Демонстрація пам'яті за допомогою довготривалої мережі пам'яті в Python (machinelearningmastery.com)

Як навчитися повторювати випадкові цілі цілі за допомогою довготривалої нейромережі з короткою тривалістю пам'яті (machinelearningmastery.com)

Як навчитися додавати числа за допомогою періодичних нейронних мереж seq2seq (machinelearningmastery.com)

Шумний і нумізний

Зауваження до лекцій з наукових досліджень (scipy-lectures.org)

Підручник з Python Numpy (Stanford CS231n)

Вступ до Numpy and Scipy (UCSB CHE210D)

Курс краху в Python для вчених (nbviewer.jupyter.org)

scikit-learn

Індекс підручника PyCon scikit-learn (nbviewer.jupyter.org)

Алгоритми класифікації scikit-learn (github.com/mmmayo13)

Навчальні програми "scikit-learn" (scikit-learn.org)

Скорочені навчальні посібники з наукових робіт (github.com/mmmayo13)

Tensorflow

Підручники з Tensorflow (tensorflow.org)

Вступ до TensorFlow - CPU проти GPU (medium.com/@erikhallstrm)

TensorFlow: праймер (metaflow.fr)

RNN в Тенсдорфлоу (wildml.com)

Впровадження CNN для класифікації тексту в TensorFlow (wildml.com)

Як запустити узагальнення тексту за допомогою TensorFlow (surmenok.com)

PyTorch

Підручники з PyTorch (pytorch.org)

Ніжний вступ до PyTorch (gaurav.im)

Підручник: Глибоке навчання в PyTorch (iamtrask.github.io)

Приклади PyTorch (github.com/jcjohnson)

Підручник з PyTorch (github.com/MorvanZhou)

Підручник PyTorch для дослідників глибокого навчання (github.com/yunjey)

Математика

Математика для машинного навчання (ucsc.edu)

Математика для машинного навчання (UMIACS CMSC422)

Лінійна алгебра

Інтуїтивно зрозумілий посібник з лінійної алгебри (betterexplained.com)

Інтуїція програміста для множення матриць (betterexplained.com)

Розуміння перехресного продукту (betterexplained.com)

Розуміння крапкового продукту (betterexplained.com)

Лінійна алгебра для машинного навчання (U. Buffalo CSE574)

Лінійна шпаргалка з алгебри для глибокого навчання (medium.com)

Огляд та довідкова лінійна алгебра (Stanford CS229)

Ймовірність

Розуміння теорії Байєса зі співвідношеннями (betterexplained.com)

Огляд теорії ймовірностей (Stanford CS229)

Огляд теорії ймовірностей для машинного навчання (Stanford CS229)

Теорія ймовірностей (U. Buffalo CSE574)

Теорія ймовірностей для машинного навчання (U. of Toronto CSC411)

Обчислення

Як зрозуміти похідні: Правило, коефіцієнт і логарифми (betterexplained.com)

Як зрозуміти похідні: правила продукту, живлення та ланцюга (betterexplained.com)

Обчислення вектора: Розуміння градієнта (betterexplained.com)

Диференціальне обчислення (Stanford CS224n)

Огляд обчислення (readthedocs.io)