资源 | 200个最佳机器学习、NLP和Python教程——20
2018-08-05 本文已影响32人
SingSam_AI
翻译:SingSam.AI
作者:Robbie Allen
原文出处:Over 200 of the Best Machine Learning, NLP, and Python Tutorials — 2018 Edition
去年,我写了一篇非常受欢迎的博文(在Medium上有161K阅读量),这篇文章列出了我深入研究机器学习时所发现的最佳教程。13个月后,现在又有大量关于传统机器学习的新教程和新技术涌现(过去一年里)。围绕机器学习持续出现的内容数量是惊人的。
这篇文章包含了我迄今为止发现的最佳教程。这绝不是一份囊括了网上所有关于机器学习相关的详尽列表(这将会是工作量巨大且枯燥的)。再说,网上还有一大堆平庸的内容。我的目标是在机器学习和NLP领域的重要子话题中给出我能找到的最佳教程。
在教程中,我更倾向于扼要地介绍内容中的概念,而避免囊括一些覆盖更广的书籍的章节和研究论文,这些一般不是用来介绍一个概念的好材料。为什么不买一本书?当你尝试学习一个特定主题或者想要一个不同的观点时,教程能够提供帮助。
我把这个这篇博文分成四部分:机器学习、NLP、Python、数学。每一部分都包含了一些主题和相关材料,当然不可能囊括所有可能的主题。
如果有好的材料而我又忽略了,请让我知道!我尝试限定每个主题只包含5、6个教程来避免重复性,每一个链接应该有着与其他链接不同的材料,或者以不同的方式呈现(例如:代码、幻灯片、长文),或者从不同角度展示。
机器学习
- 和机器学习从这里开始(machinelearningmastery.com)
- 机器学习是有趣的!(medium.com/@ageitgey)
- 机器学习规则:机器学习工程的最佳实践(martin.zinkevich.org)
- 机器学习速成班:第一部分、第二部分、第三部分
- 机器学习理论机器应用介绍:一份可视化实践教程(Total.com)
- 机器学习简明指南(monkeylearn.com)
- 我应该使用哪一个机器学习算法?(sas.com)
- 机器学习入门(sas.com)
- 初学者的机器学习教程(kaggle.com/kanncaa1)
激活函数与损失函数
- Sigmoid神经元(neuralnetworksanddeeplearning.com)
- 激活函数在神经网络中的作用(quota.com)
- 神经网络中激活函数的优缺点综合清单(stats.stackexchange.com)
- 激活函数及其类型-哪一个更好?(medium.com)
- 理解对数损失(exegetic.biz)
- 损失函数(斯坦福CS231n)
- L1与L2损失函数(rishy.github.io)
- 交叉熵成本函数(neuralnetworksanddeeplearning.com)
偏置(Bias)
- Bias在神经网络中的作用(stackoverflow.com)
- 神经网络中的Bias节点(makeyourownneuralnetwork.blogspot.com)
- 什么是人工神经网络的Bias?(quora.com)
感知机
- 感知器(neuralnetworksanddeeplearning.com)
- 感知机(natureofcode.com)
- 单层神经网络(感知器)(dcu.ie)
- 从感知机到深度网络(toptal.com)
回归
- 线性回归分析介绍(duke.edu)
- 线性回归(ufldl.stanford.edu)
- 线性回归(readthedocs.io)
- 逻辑回归(readthedocs.io)
- 机器学习的简明线性回归教程(machinelearningmastery.com)
- 机器学习的逻辑回归教程(machinelearningmastery.com)
- Softmax回归(ufldl.stanford.edu)
梯度下降
- 使用梯度下降来学习(neuralnetworksanddeeplearning.com)
- 梯度下降(iamtrask.github.io)
- 如何理解梯度下降算法(kdnuggets.com)
- 梯度下降优化算法概述(sebastianruder.com)
- 优化:随机梯度下降(斯坦福CS231n)
生成学习
支持向量机
反向传播
- 是的,你应该了解的反向传播(medium.com/@karpathy)
- 你能给出神经网络反向传播算法的直观解释吗?(github.com/rasbt)
- 反向传播算法的工作原理(neuralnetworksanddeeplearning.com)
- 通过时间的方向传播与梯度消失(wildml.com)
- 时间反向传播的简要介绍(machinelearningmastery.com)
- 反向传播,直觉(斯坦福CS231n)
深度学习
- YN²深度学习指南(yerevann.com)
- 深度学习论文阅读路线图(github.com/floodsung)
- 坚果中的深度学习(nikhilbuduma.com)
- 深度学习教程(Quoc V. Le)
- 什么是深度学习?(machinelearningmastery.com)
- 人工智能,机器学习和深度学习之间有什么区别?(nvidia.com)
- 深度学习 - The Straight Dope(gluon.mxnet.io)
优化和降维
- 数据维数减少的七种技术(knime.org)
- 主成分分析(斯坦福CS229)
- Dropout:一种改善神经网络的简单方法(Hinton @ NIPS 2012)
- 如何训练您的深度神经网络(rishy.github.io)
LSTM
- 来自专家的LSTM网络的简要介绍(machinelearningmastery.com)
- 了解LSTM网络(colah.github.io)
- 探索LSTM(echen.me)
- 任何人都可以学习用Python编写LSTM-RNN(iamtrask.github.io)
卷积神经网络(CNN)
- 引入卷积网络(neuralnetworksanddeeplearning.com)
- 深度学习和卷积神经网络(medium.com/@ageitgey)
- Conv Nets:模块化观点(colah.github.io)
- 了解卷积(colah.github.io)
递归神经网络(RNN)
- 循环神经网络教程(wildml.com)
- 注意机制和增强型的递归神经网络(distill.pub)
- RNN的不合理的有效性(karpathy.github.io)
- 深入了解RNN(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)
多任务学习
NLP
- 自然语言处理很有趣!(medium.com/@ageitgey)
- 自然语言处理神经网络模型入门(Yoav Goldberg)
- 自然语言处理权威指南(monkeylearn.com)
- 自然语言处理简介(algorithmia.com)
- 自然语言处理教程(vikparuchuri.com)
- (几乎)来自Scratch的自然语言处理(arxiv.org)
深度学习和NLP
- 适用于NLP的深度学习(arxiv.org)
- NLP的深度学习(没有魔法)(Richard Socher)
- 了解NLP的卷积神经网络(wildml.com)
- 深度学习,NLP及其表示(colah.github.io)
- 嵌入,编码,参与,预测:最先进NLP模型的深度学习新公式(explosion.ai)
- 理解深度神经网络自然语言(使用Torch)(nvidia.com)
- NLP的深度学习(使用Pytorch)(pytorch.org)
词向量
- 词包模型遇见爆米花袋(kaggle.com)
- 关于词嵌入第一部分 , 第二部分 , 第三部分 (sebastianruder.com)
- 词向量的惊人力量(acolyer.org)
- word2vec参数学习解释(arxiv.org)
- Word2Vec教程 - Skip-Gram模型 , 负采样 (mccormickml.com)
encoder-decoder
- 深度学习和NLP中的注意力和记忆(wildml.com)
- 序列到序列模型(tensorflow.org)
- 使用神经网络进行序列到序列学习(NIPS 2014)
- 机器学习很有趣第五部分:深度学习的语言翻译和序列的魔力(medium.com/@ageitgey)
- 如何使用编码器 - 解码器LSTM来回显随机整数序列(machinelearningmastery.com)
- tf-seq2seq(google.github.io)
Python
- 机器学习速成课程(google.com)
- 惊叹的机器学习(github.com/josephmisiti)
- 使用Python掌握机器学习的7个步骤(kdnuggets.com)
- 一个示例机器学习笔记(nbviewer.jupyter.org)
- 使用Python进行机器学习(tutorialspoint.com)
例子
- 如何在Python中从头开始实现感知器算法(machinelearningmastery.com)
- 在Python中使用Scratch实现神经网络(wildml.com)
- 11行Python的神经网络(iamtrask.github.io)
- 使用Python实现你自己的k近邻算法(kdnuggets.com)
- 来自Scatch的ML(github.com/eriklindernoren)
- Python机器学习(第2版)代码库(github.com/rasbt)
Scipy和numpy
- Scipy讲义(scipy-lectures.org)
- Python Numpy教程(斯坦福CS231n)
- Numpy和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)
- 简短的scikit-learn教程(github.com/mmmayo13)
Tensorflow
- Tensorflow教程(tensorflow.org)
- TensorFlow简介 - CPU与GPU(medium.com/@erikhallstrm)
- TensorFlow:初学者教程(metaflow.fr)
- Tensorflow中的RNN(wildml.com)
- 在TensorFlow中实现CNN进行文本分类(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)
数学
线性代数
- 线性代数直观指南(betterexplained.com)
- 程序员对矩阵乘法的直觉(betterexplained.com)
- 了解Cross(betterexplained.com)
- 了解Dot(betterexplained.com)
- 用于机器学习的线性代数(布法罗大学CSE574)
- 用于深度学习的线性代数备忘单(medium.com)
- 线性代数综述及其文献(斯坦福CS229)
概率论
- 用比率理解贝叶斯定理(betterexplained.com)
- 概率论综述(斯坦福CS229)
- 机器学习的概率论综述(斯坦福CS229)
- 概率论(布法罗大学CSE574)
- 机器学习的概率论(多伦多大学CSC411)