Понад 200 кращих машинного навчання, НЛП та Python - 2018 року видання

Поки ми пишемо книгу "Машинне навчання на практиці" (вийде на початку 2019 року), ми будемо розміщувати проекти витягів саме тут.

Дайте нам знати, що ви думаєте, дайте нам хлопчик нижче, якщо вам подобається те, що ви читаєте, і слідкуйте за @InfiniaML та @RobbieAllen у Twitter за останніми оновленнями!

Фото Глена Ноубла на знімку

Минулого року я написав досить популярну публікацію (161К прочитаних у "Середній"), у якій перелічив найкращі підручники, які я знайшов під час копання у ряді тем машинного навчання. Через тринадцять місяців і зараз з'явилися десятки нових навчальних посібників як щодо традиційних концепцій машинного навчання, так і передових методик, що з'явилися за останній рік. Обсяг вмісту, який продовжує створюватися навколо машинного навчання, приголомшує.

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

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

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

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

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

Почніть тут з машинного навчання (machinelearningmastery.com)

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

Правила машинного навчання: кращі практики інженерії з ML (martin.zinkevich.org)

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

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

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

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

Підручник з машинного навчання (sas.com)

Підручник з машинного навчання для початківців (kaggle.com/kanncaa1)

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

Сигмоїдні нейрони (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)

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

Посібник з глибокого навчання YN² (yerevann.com)

Довідкова робота з читання документів для читання (github.com/floodsung)

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

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

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

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

Глибоке навчання - прямий наркоз (gluon.mxnet.io)

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

Сім методик зменшення розмірності даних (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)

Змагальне машинне навчання (aaai18adversarial.github.io)

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

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

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

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

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

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

НЛП

Обробка природних мов - це весело! (medium.com/@ageitgey)

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

Поточний посібник з обробки природних мов (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)

Пітон

Курс крашів з машинного навчання (google.com)

Дивовижне машинне навчання (github.com/josephmisiti)

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

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

Машинне навчання з Python (tutorialspoint.com)

Приклади

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

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

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

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

ML від Scatch (github.com/eriklindernoren)

Машинне навчання Python (2-е видання) сховище коду (github.com/rasbt)

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

Зауваження до лекцій з наукових досліджень (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)

Щоб дізнатися більше про машинне навчання, відвідайте InfiniaML.com.