干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程
机器学习的发展可以追溯到1959年,有着丰富的历史。这个领域也正在以前所未有的速度进化。在之前的一篇文章中,我们讨论过为什么通用人工智能领域即将要爆发。有兴趣入坑ML的小伙伴不要拖延了,时不我待!
在今年秋季开始准备博士项目的时候,我已经精选了一些有关机器学习和NLP的优质网络资源。一般我会找一个有意思的教程或者视频,再由此找到三四个,甚至更多的教程或者视频。猛回头,发现标收藏夹又多了20个资源待我学习(推荐提升效率工具Tab Bundler)。
找到超过25个有关ML的“小抄”后,我写一篇博文,里面的资源都有超链接。
为了帮助也在经历类似探索过程的童鞋,我把至今发现的最好的教程汇总了一个列表。当然这不是网络上有关ML的最全集合,而且其中有一部分内容很普通。我的目标是要找到最好的有关机器学习子方向和NLP的教程。
我引用了能简洁介绍概念的基础内容。我已经回避包含一些大部头书的章节,和对理解概念没有帮助的科研论文。那为什么不买一本书呢? 因为教程能更好地帮助你学一技之长或者打开新视野。
我把这博文分成四个部分,机器学习,NLP,Python,和数学基础。在每一小节我会随机引入一些问题。由于这方面学习材料太丰富了,本文并未涵括所有内容。

机器学习
1、机器学习就是这么好玩!(medium.com/@ageitgey)
机器学习速成课程(Berkeley的ML):
Part I:https://ml.berkeley.edu/blog/2016/11/06/tutorial-1/
Part II:https://ml.berkeley.edu/blog/2016/12/24/tutorial-2/
Part III:https://ml.berkeley.edu/blog/2017/02/04/tutorial-3/
2、Activation and Loss Functions
激活函数与损失函数
sigmoid 神经元 (neuralnetworksanddeeplearning.com)
神经网络的激活函数大全及其优劣 (stats.stackexchange.com)
损失函数L1 与L2 比较(rishy.github.io)
交叉熵损失函数(neuralnetworksanddeeplearning.com)
3、偏差(Bias)
神经网络中的偏差的作用(stackoverflow.com)
神经网络中的偏差节点(makeyourownneuralnetwork.blogspot.com)
4、感知器(Perceptron)
感知器模型(neuralnetworksanddeeplearning.com)
5、回归算法
机器学习之简单线性回归教程(machinelearningmastery.com)
机器学习之逻辑斯特回归教程(machinelearningmastery.com)
softmax 回归(ufldl.stanford.edu)

6、梯度下降
基于梯度下降的学习 (neuralnetworksanddeeplearning.com)
梯度下降优化算法概览(sebastianruder.com)
优化算法:随机梯度下降算法 (Stanford CS231n)
7、生成学习
8、支持向量机
线性分类:支持向量机,Softmax (Stanford 231n)
9、后向传播算法(Backpropagation)
后向传播算法必知(medium.com/@karpathy)
来,给我图解一下神经网络后向传播算法?(github.com/rasbt)
后向传播算法是如何运行的?(neuralnetworksanddeeplearning.com)
简易入门沿时后向传播算法(machinelearningmastery.com)
10、深度学习
深度学习,什么鬼?(machinelearningmastery.com)
什么是人工智能,机器学习,深度学习之间的区别? (nvidia.com)
11、优化算法与降维算法
Dropout: 改进神经网络的一个简单方法(Hinton @ NIPS 2012)
如何溜你们家的深度神经网络?(rishy.github.io)

12、长短期记忆(LSTM)
老司机带你简易入门长短期神经网络(machinelearningmastery.com)
小学生看完这教程都可以用Python实现一个LSTM-RNN (iamtrask.github.io)
13、卷积神经网络(CNNs)
卷积网络入门(neuralnetworksanddeeplearning.com)
深度学习与卷积神经网络模型(medium.com/@ageitgey)
14、递归神经网络(RNNs)
这么不科学的递归神经网络模型(karpathy.github.io)
15、强化学习
给小白看的强化学习及其实现指南 (analyticsvidhya.com)
深度强化学习:开挂玩Pong (karpathy.github.io)
16、对抗式生成网络模型(GANs)
用对抗式生成网络创造8个像素的艺术(medium.com/@ageitgey)
对抗式生成网络入门(TensorFlow)(aylien.com)
《对抗式生成网络》(小学一年级~上册)(oreilly.com)
17、多任务学习
深度神经网络中的多任务学习概述(sebastianruder.com)
NLP

1、NLP
《基于神经网络模型的自然语言处理》(小学一年级~上册)(Yoav Goldberg)
Natural Language Processing (almost) from Scratch (arxiv.org)
2、深度学习和 NLP
深度学习,NLP,表示学习(colah.github.io)
嵌入表示,编码,注意力,预测 : 新一代深度学习因NLP的精妙而存在(explosion.ai)
理解基于神经网络的自然语言处理(Torch实现) (nvidia.com)
深度学习在NLP中的应用(Pytorch实现) (pytorich.org)
3、词向量(Word Vectors)
学习单词嵌入表示法(sebastianruder.com)
Part I:http://sebastianruder.com/word-embeddings-1/index.html
Part II:http://sebastianruder.com/word-embeddings-softmax/index.html
Part III:http://sebastianruder.com/secret-word2vec/index.html
word2vec教程 skip-gram 模型,负采样(mccormickml.com)
4、Encoder-Decoder
注意力机制与记忆机制在深度学习与NLP中的应用(wildml.com)
基于深度学习和魔法序列的语言翻译(medium.com/@ageitgey)
如何使用编码-解码LSTM输出随机整数对应的序列(machinelearningmastery.com)
Python
1、Python
使用Python精通机器学习的七步法(kdnuggets.com)
机器学习的一个简例(nbviewer.jupyter.org)
2、实例
小白如何用python实现感知器算法(machinelearningmastery.com)
小学生用python实现一个神经网络(wildml.com)
只用11行python代码实现一个神经网络算法(iamtrask.github.io)
自己动手用ptython实现最近邻算法(kdnuggets.com)
python实现长短期记忆网络的记忆机制(machinelearningmastery.com)
如何用长短期记忆递归神经网络输出随机整数(machinelearningmastery.com)
如何用seq2seq递归神经网络学习加法运算(machinelearningmastery.com)
3、Scipy 和 numpy
Python Numpy 教程(Stanford CS231n)
Numpy 与 Scipy 入门(UCSB CHE210D)
给科学家看的Python微课程(nbviewer.jupyter.org)
4、scikit-learn
PyCon会议上的Scik-learn 教程(nbviewer.jupyter.org)
Scikit-learn
中的分类算法(github.com/mmmayo13)
Scikit-learn教程(scikit-learn.org)
简明版Scikit-learn教程(github.com/mmmayo13)
5、Tensorflow
(medium.com/@erikhallstrm)
Tensorflow实现文本分类CNN模型(wildml.com)
如何用Tensorflow做文本摘要(surmenok.com)
6、PyTorch
利用Pytorch深度学习教程(iamtrask.github.io)
Pytorch实战(github.com/jcjohnson)
PyTorch 教程(github.com/MorvanZhou)
深度学习研究人员看的PyTorch教程(github.com/yunjey)
数学

1、机器学习中的数学 (ucsc.edu)
https://people.ucsc.edu/~praman1/static/pub/math-for-ml.pdf
2、线性代数
码农眼中矩阵乘法 (betterexplained.com)
机器学习中的线性代数(U. of Buffalo CSE574)
3、概率论
机器学习中的概率论(U. of Toronto CSC411)
4、计算方法(Calculus)
如何理解导数:求导法则,指数和算法(betterexplained.com)
如何理解导数,乘法,幂指数,链式法(betterexplained.com)
向量计算,理解梯度(betterexplained.com)
转: https://www.leiphone.com/news/201801/pM48Ekleds2b6j5i.html
干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程的更多相关文章
- 毕业季offer怎么拿?收下这份非典型求职面试指南
摘要:求职面试莫慌,先自我评估一下 ,华为云专家手把手为你指导. 本文分享自华为云社区<毕业季offer怎么拿?收下这份非典型求职面试指南>,原文作者:技术火炬手 . 又是一年毕业季,对于 ...
- 这一篇TCP总结请收下
前言 很高兴遇见你~ TCP这些东西,基本每个程序猿都或多或少是掌握的了.虽然感觉在实际开发中没有什么用武之处,但,面试他要问啊 而最近大家伙过完年,也都在准备春招,我也一样.阅读了一些okHttp源 ...
- Java开发者必备的10大学习网站,送给入门学习java的你,请收下!
作为开发者来说,必备的除了对编码的热情还要有自己的一套技巧,另外不可缺少的就是平时学习的网站.以下本人收集的 Java 开发者必备的网站,这些网站可以提供信息.以及一些很棒的讲座 , 还能解答一般问题 ...
- JAVA工程师必学技能,进阶&涨薪的推进器!这份实战教程请收下
Netty 作为互联网中间件的基石,是 JAVA 工程师进阶为高级程序员必备的能力之一.也是目前是互联网中间件领域使用最广泛最核心的网络通信框架. Netty是一个高性能.异步事件驱动的NIO框架,它 ...
- 这份Koa的简易Router手敲指南请收下
上一期链接--也就是本文的基础,参考KOA,5步手写一款粗糙的web框架 本文参考仓库:点我 Router其实就是路径匹配,通过匹配路径,返回给用户相应的网站内容. 以下方例子为例,主要通过提取req ...
- 爬虫需要登陆怎么办?这份python登陆代码请收下
模拟登陆思路 通过selenium中的webdriver控制浏览器登录目标网站,然后获取模拟登陆需要的Cookie,再利用此Cookie来达到登录的效果.本次我们使用webdriver来驱动火狐浏览器 ...
- 请收好这份NLP热门词汇解读
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 微软研究院AI头条 编者按:在过去的一段时间,自然语言处理领域取得了许多重要的进展,Tran ...
- Python的22个编程技巧,请收下!
1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: x,y= 10,20 print(x,y) x,y= y,x print(x,y) # ...
- 金九银十,收下这份 Java String 面试题
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭 ...
随机推荐
- HttpWebRequest 高效并发问题
默认请求连接数 是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个. System.Net.ServicePointMana ...
- ping内网一台虚拟机延时很大(hyper-v虚拟机)的解决办法
问题现象: ping 内网一台虚拟机延时很大,不稳定,造成业务系统响应慢.查看服务器上各种资源都正常. 解决办法: 在物理机上找到和hyper-v绑定的那个网卡,把“虚拟机队列”禁用掉就好了,如下图: ...
- Object.defineProperty之observe实现
对数据对象的属性批量劫持设置: <script type="text/javascript"> function observe(data){ if(!data || ...
- Python 多进程编程之multiprocessing--Process
Python 多进程编程之multiprocessing 1,Process 跨平台的进程创建模块(multiprocessing), 支持跨平台:windowx/linux 创建和启动 创 ...
- JavaScript 函数定义和调用
普通的函数定义方法: function abs(x):{ if (x >= 0){ return x; }else { return -x ; } } 两种方法是等价的 var abs = fu ...
- J2CACHE 两级缓存框架
概述 缓存框架我们有ehcache 和 redis 分别是 本地内存缓存和 分布式缓存框架.在实际情况下如果单台机器 使用ehcache 就可以满足需求了,速度快效率高,有些数据如果需要多台机器共享这 ...
- 为opencv添加contrib库
自从进入3.X时代以后,OpenCV将代码库分成了两部分,分别是稳定的核心功能库和试验性质的contrib库,之前已经讲过opencv的核心库的安装,现在讲解一下其附带的依赖库的安装. 一.Cmake ...
- PowerBuilder常用字符串函数
http://blog.sina.com.cn/s/blog_5995b53d0100a694.html Fill()功能建立一个由指定字符串填充的指定长度的字符串.语法Fill ( chars, n ...
- 找出数组中求和等于y的所有子数组
算法记录: 给定一个数组x,每个元素都是正整数,找出其中满足条件"求和等于y"的所有子数组.(简化问题,每个元素都不相等) x=[x1,...,xn],暴力搜索,复杂度O(2^n) ...
- 8. Filters in ASP.NET MVC 5.0【ASP.NET MVC 5.0中的过滤器】
ASP.NET Filers用来在MVC框架的不同请求处理阶段,注入额外的逻辑.过滤器为横切关注点提供了一种方法(日志记录,授权,缓存). 在这篇文章中,我将会向你介绍MVC框架支持的各种不同种类过滤 ...