必读| 关于机器学习最全面无痛的入门路径和资源!(下)

人工智能的小白资源群,这里有最齐全的干货资源,可以和你一样的入门小白一同交流学习亦可以得到专业技术大神的指导。欢迎入群813416857,一群好好学习,天天向上。

本文转载自:作者@李杰克

接上文~~

基本语法我们都搞定了后,我们就可以去做一件看起来很酷炫的事情了——爬虫


但你可能不知道,Python爬虫也可以是一个上手快、出活易的东西。


爬虫也算是跟机器学习有那么一点关系的;机器学习需要数据,我们可以通过爬虫爬取一些需要使用到的数据,所以建议还是学一学,以备不时之需


同时,爬虫是一个可深可浅的东西,请注意我们的目的用来练手,所以我们只需要学会使用最基础的requests、beautifulsoup等库来实现抓取数据的目的即可,暂时不要去折腾什么多线程、scrapy框架之类的东东。


你应该用不了几天就可以尽情地去爬小说、爬音频、爬评论爬一些不可描述的阔爱的女孩子的图片......但是答应我,好东西记得要分享好不好?


在李杰克看过的所有爬虫相关文章里,知乎上有一个叫“从零开始写爬虫”的专栏是最棒最适合入门哒,我把当中的最适合大家的几篇挑出来了。


这些文章满足我们需求:

1、只用最简单的两三个库;

2、手牵手一步一步地教学,想不学会都难的那种;


如果你已经具备了Python基础,按着我分享出来的资料折腾的话,李杰克保证你两三天可以折腾出一个爬虫,意不意外,惊不惊喜,刺不刺激,开不开心!

《从零开始写Python爬虫》

  • 《 1.1 requests库的安装与使用》阅读地址:http://t.cn/RTuUuf7

  • 《1.2 BS4库的安装与使用》阅读地址:http://t.cn/RTu4PLz

  • 《1.5 爬虫实践: 获取百度贴吧内容》阅读地址:http://t.cn/RTu4ZbV

  • 《1.7 爬虫实践: 排行榜小说批量下载》阅读地址:http://t.cn/RTu4UHw

  • 《1.8 爬虫实践: 电影排行榜和图片批量下载》阅读地址:http://t.cn/RTu45gz


3


机器学习数学基础

对于数学知识,李杰克知道很多童鞋都很关心也很忧虑,我也深深地明白数学知识是机器学习从入门到放弃的重要节点


李杰克也有朋友一开始就扑哧扑哧各种啃高数线代概率论,几天后硬是把自己啃绝望了,从此弃坑。


那我这篇文章的目的就是帮你厘清入门机器学习需要的最最最基本的数学知识以及它们在机器学习中可能出现的地方,让大家不要太纠结数学,可以尽快进入到机器学习的学习中。


需要强调的是,机器学习中数学远远不止这些,我也有意为大家过滤了很多在入门时不需要太关注的知识点,基本上,大家把我下面提到的知识点搞明白得差不多,入门机器学习也算够了。再之后,我们在机器学习过程中遇到不懂的数学知识点,再倒回去补补即可,这应该是更符合我们这些苦逼工作党的学习方式。


下面,相关的数学知识点我基本都不会展开讲,大家自己去补齐,以后李杰克会考虑做一篇这块的专题文章。我已经完全脑补出还没开始学习的你看得一脸懵逼的样子,一如以前的我......


一、高等数学

1、导数及偏导数,对应机器学习中的梯度,机器学习中学习的参数需要通过梯度下降进行更新;


2、复合函数的链式法则,同1一样,目的也是为了求出梯度更新参数,但因为深度学习网络有多层,所以模型的预测函数是个复合函数,我们需要通过链式法则从后往前求出每层参数的梯度,进而更新每层里的参数,这也就是大名鼎鼎的“反向传播法”;


3、同时可以去了解下数学中的最优化问题,大概就是目标函数在什么条件下能够取到最值的问题,因为机器学习的问题到最后都是要转化为一个损失函数最优化的问题


二、线性代数

1、标量、向量、矩阵及张量的定义及运算,让我们再回顾下,在机器的眼里,万世间物即可为矩阵,机器学习的过程其实也就是矩阵计算的过程。这也就是NVIDIA的GPU在近两年那么火的原因,因为GPU在矩阵计算上天然有很大的优势。


2、范数,对应机器学习中正则项,正则项通常会加在已有的损失函数上用来减少训练的过拟合问题;


3、常见的距离计算方式:欧式距离、曼哈顿距离、余弦距离等,我们之前说过数据样本可以表示为其特征空间里的点,而距离可以用来衡量他们的相似度。


三、概率论

1、条件概率、贝叶斯,基于概率论的分类方法经常会用到;


2、期望与方差,机器学习里一般都会对数据进行normalized的处理,这个时候很可能会用到期望和方差;


3、协方差,能够表征两个变量的相关性,在PCA降维算法中有用到,变量越相关,我们越可能对他们进行降维处理;


4、常见分布0-1分布、二项分布、高斯分布等,高斯分布很重要,数据normalized跟它有关,参数的初始化特跟它有关;


5、最大似然估计,在推导逻辑回归的损失函数时会用到。


四、信息论

这块东西其实应该不属于数据知识,没有太多东西就姑且也放到一块吧。你暂时只需要去了解下交叉熵的概念即可,大概知道这东西跟分类问题的损失函数有关即可哈。


李杰克温馨提示


大家一开始能把这些知识点搞懂是最好,没搞懂也不要慌,因为贴心的我给大家推荐的机器学习资源里都会通常都会用通俗浅显的方式去做相关推导,即使你没有搞懂这部分数学知识也不会特别懵逼,当然,用心准备总是最好哒!


4


机器学习算法基础

我勒个去!你居然坚持看到这里,真是没想到呢!快给你自己狠狠地点赞打call吧!


这可能是大家最关心的章节了,也可能是这篇文章最优价值的部分,毕竟李杰克也算是替大家提前尝了些百草(好在我还没挂),接下来李杰克会告诉大家比较适合进补的草药以及较优化的进补顺序


现在有种风气,但凡说到机器学习入门,大家基本上都在无脑推荐:啊,你要入门机器学习啊?Ng的视频不错哇,入门就看它好了!


Ng这个名字大家可能不熟悉,但吴恩达你大抵是听过的吧,不就是那个前百度的AI负责人么?


bingo!Ng就是吴恩达哈,不过在机器学习圈子里大家都喜欢叫他Ng。


其实最开始别人让我推荐入门资源时,我也会不假思索地推荐Ng的《Machine Learning》,因为这也是我完整看下来的第一套视频教程......


但我现在回望自己学习过程中看过的所有视频、书籍、文档后,我并不认为Ng的《Machine Learning》是最适合用来入门的资源


为什么呢?聪明的你一脸好奇。那当然是李杰克我有更友好更容易更无痛的入门资源推荐给你啦!


首先,我们再次界定下需要学习的知识范围,我知道各位童鞋大概率是对“让我们感觉AI马上就要改变世界取代人类”的那一部分知识感兴趣,这一块知识其实是机器学习中深度学习这一分支。


所以, 接下来,我会给大家分享更偏向于深度学习的学习资源,当然传统机器学习的资源也会涉及到一部分。


李杰克给大家推荐的视频资源基本上都能到B站上直接观看,额......我也是对自己居然到B站去学习机器学习这件事情感觉有点有不可思议,但神奇的B站上,的确是有些童鞋在以我不能想象的趣味和毅力去各种搬运机器学习的资源。


另一个推荐大家用B站的原因是,视频播放速度可以调整,对于部分英文教授的视频大家可以根据自己的情况适当调节速度,比如说如果你觉得吴恩达语速较慢,可以考虑加加速,如果你觉得李飞飞的博士生JJ语速有点快,那你可以减减速!


还有.....B站视频没广告,讲真,比那些开头给你放90s广告、中间还有本事给你插个45s广告的妖艳贱货是不大一样的!


额.....你不直到B站是什么东东?童鞋你去搜下“bilibili”吧。


感觉这波B站要给我广告费了.......


李杰克觉得学习一个有一定信息量的新知识时,一个不错的方式是先花不多的时间把这个东西大体上过一遍,不管能看懂多少。


所以,最开始的三份资源的目的,就是让大家先建立起一个感性认知和知识框架,这一阶段过了后我们再利用更详细的资源进入下一步的学习。


李杰克给大家推荐的第一个学习资源是台湾李宏毅老师的《一天搞懂深度学习心得》。

  •  《一天搞懂深度学习心得》观看地址:http://t.cn/RTukvY6


关于机器学习的英文资料比较多,国语的除了台湾的李宏毅林轩田老师的课程外就是一票辅导机构在那里折腾了,从我看过李宏毅的部分视频来看,他讲得的确是非常浅显易懂,用来入门再合适不过了。


而且这个视频只有36分钟,你买不了吃亏,买不了上当,却能大概了解到深度学习里一些比较重要的概念。


李杰克给大家推荐的第二个学习资源是共计20集的视频教程《DeepLearning.TV》。

  • 《DeepLearning.TV》视频观看地址:http://t.cn/RTuDdSQ


你心里可能没忍住冒了句mmp:李杰克,你推荐个鬼?单单是建立感性认知和知识框架,你TM就要我去看一部连续剧长度的视频啊!


额....童鞋们,不要急,且听李杰克为你慢慢道来。


《DeepLearning.TV》虽然有20集的长度,但每集只有3到4分钟


这套视频基本覆盖了深度学习里的最基本知识,李杰克个人的学习体验是即使看得一脸懵逼也丝毫不影响自己biubiu地看完一集换下一集时获得的成就感

你再想一想?一个半小时也就是两局吃鸡的时间、四局农药的时间,一个半小时你陪不了妹纸看一部电影(前提你懂的.....),约不了基友吃一顿火锅。但是......你去把这组视频看了,以后去跟别人谈笑风生的时候吹牛逼的底气都要足很多了对不对?


两套视频刷完后,李杰克还给你准备了一份300页PPT的大礼包——李宏毅老师的《深度学习介绍-李宏毅》,这算是我见过最全面最清晰的PPT,你可以花上一些时间自己去啃一遍。

  • 《深度学习介绍-李宏毅》PPT下载地址:详见文末

大家经过以上三份资源的折腾后,应该也大概知道深度学习是个什么东东了,接下来,李杰克再给大家推荐一些同样优质的资源,大家可以进一步学习更深一点的东西。


接下来我们终于要开始接触Ng的《Machine Learning》了。其实在很多机器学习大拿眼中,Ng最大成就不是在学术上,而是作为AI布道者让更多人知道了机器学习,他也是目前和工业界互动得最好的AI科学家,最近不是又刚成立了个landing.ai要推动企业转型么?

  • 《Machine Learning》视频观看地址:http://t.cn/RYpskDe


大家需要注意的一点是,《Machine Learning》讲的更多的还是传统机器学习,深度学习知识作为其中很小的部分一带而过,有多么少,李杰克没记错的话大概也就是100多章节里花了两三个章节说讲了下神经网络吧。


你要是问李杰克资次不资次你通过《Machine Learning》学习传统机器学习的算法,我当然是资次的,Ng讲课讲得确实是一流,听课体验很棒!


李杰克的建议是,大家可以通过《Machine Learning》去学习机器学习中的基础知识,我拎些重要的出来:损失函数、梯度下降、线性回归、逻辑回归、SVM、反向传播法、正则化、KNN、K-Means、PCA,大家可以优先重点搞懂这些东西,你进入到深度的知识储备算是基本够了。


当然时间充裕的情况下李杰克建议大家把所有章节都好好学习下,《Machine Learning》绝对是你可以看上几遍的课程,李杰克也打算等稍微没那么忙了再去重温一遍呢。


另外,《Machine Learning》是通过一个类似Matlab的软件Octave来教学,时间有限的情况下可以考虑不学,因为到目前为止李杰克就没有在第二个地方见到过这个软件的使用,大家学了估计也很难用上.......


《Machine Learning》有两版,一版是斯坦福教室里录制的版本,一版是Ng后来录制的版本,李杰克这里给大家推荐的是后者,相信我,前者直接上手真的可能会看哭的,别问我怎么知道......


如果非常简要地把深度学习概括为两个方向,那就是图像处理语音处理,看过我前一篇文章的童鞋会知道两者分别主要对应的是卷积神经网络递归神经网络的应用。


李杰克虽然也对递归神经网络有过接触,自己也通过递归神经网络写过一个能够写古诗的AI,但确实没有系统学习过什么资源,本着no experience no bb的原则,递归神经网络方面的资源暂不做推荐


说到图像处理领域,有些童鞋可能已经听闻过李飞飞的大名,妥妥的计算机视觉领域的大牛,接下来给大家推荐的学习资源也就是由李飞飞和她的两位博士生JustinSerena教授的《Stanford CS231N 2017》


额......话说李飞飞在第一节课出现了一会后就人间蒸发了,但并不影响我们安静地坐下来欣赏Serena小姐姐的美颜


讲真,第一次听这个华裔的小姐姐说话的时候,李杰克还是被惊艳到了,她说话的感觉简直就是Ivanka大公主的翻版


一下没忍住,给小姐姐加了个美颜和滤镜.......

  • 《Stanford CS231N 2017》观看地址:http://t.cn/RTueAct


那个啥,我猜你肯定是点开了图,并且还放大了来看......


当然,有些童鞋可能会说,李杰克你推荐的都是些英语视频我的英语水平去看这些视频可能会有些吃力怎么办


这当然不是问题啦!别忘了李杰克可是做过产品经理的哇,怎么可能考虑不到这种需求呢?对于英语一脸懵逼,不要慌,李杰克仍然有不错的资源推荐给你——李宏毅老师的《机器学习》和《深度学习》

  • 《李宏毅机器学习2017》观看地址:http://t.cn/RpO3VJC

  • 《李宏毅深度学习2017》观看地址:http://t.cn/RpO3VJK


如果你英语能力还能支撑你看英文视频的话,李杰克当然建议你优先看推荐的英文资源!


有童鞋也许会问,李杰克你给我们推荐的都是视频,有没有什么书要推荐哇?


讲真,网上推荐的那些大家都认为是经典的书李杰克基本都买了纸质版,但其实并没有看掉多少。李杰克还是跟大家说一下自己或多或少读过的一些书,毕竟也都是些被别人列为经典的书,仅供参考。


首先要说的是周志华《机器学习》,江湖人称西瓜书,因为它的封面是个大西瓜.....周志华算是国内机器学习的权威了,李杰克粗粗看了一两个章节后就果断弃坑,选择了Ng的视频来学习入门,因为我感觉自己看这部书效率并没有看Ng的《Machine Learning》高。


李杰克还看过Peter Harrington《机器学习实战》,其核心是教你用python来实现机器学习中的算法,我看了一半多一些的时候也弃坑了,一方面是自己渐渐明确自己的兴趣所在是深度学习,另一方面是我接触到了Tensorflow等深度学习框架,啦啦啦......从此可以开心地当一个调包侠了!


李杰克目前还在看的是Ian Goodfellow等一票人合著的Deep Learning,Ian Goodfellow就是那个搞出了对抗式生成网络(类似于左右手互搏术的东西)的家伙,大概率李杰克不会弃坑,毕竟这也是本被称之为深度学习圣经的书。


我的建议是入门阶段可以不用购买书籍,除非你跟我一样颈椎不大好需要买个七八本书来垫垫电脑......


说正经的,不用买书是因为我把这些被大家被奉为机器学习经典的书籍(PDF版,包含上述三本)都打包放在了云盘里,大家直接去下载就好了


毕竟大家出门在外养家糊口都不容易,能省一点算一点了,而且万一你的颈椎比较争气一直都还比较好那你买的书不就一直派不上用场了么对不对


最后,无比贴心的李杰克还给大家准备了两个可以辅助大家学习和理解deep learning的工具。对你来说绝对是有用还好玩的东东,一般人我还不告诉他的呢(傲娇脸)!


一个是TensorFlow出的网页工具playground,其实就是游乐场,我们可以去玩一玩,相信对大家学习深度学习一定会有些帮助的。


playground提供了几种简单类型的data,你可以去调节网络结构、学习率、激活函数、正则项等参数,你可以非常直观地看到每个神经元和相关输出的变化,体会到简化的深度学习模型调参的过程


下面这个其实是张动图,来,用心感受下......


  • tensorflow playground使用网址:http://t.cn/RqJTH47


另一个工具是ConvNetJS,它把一些经典数据集(如MnistCifar-10)每层网络的输出可视化出来,对你去理解不同网络做了什么事情有大大的帮助滴!


  • ConvNetJS使用网址:http://t.cn/8kFEqvU


工具介绍完了,那李杰克的问题也来了:


请各位童鞋摸胸自问,李杰克推荐的工具有没有超级贴心



5


深度学习框架基础

我的天啦,你居然还在看?旁友,你不用工作的么?你们公司还差不差人啊,会打dota玩农药的那种?


不开玩笑,讲真,我知道你一路看起来不容易,毕竟李杰克也是花了两个礼拜工作之余的时间写的,还是水分比较少容易消化不良的那种.....


所以,努力的你晚上一定要去吃顿好的犒劳下自己才对得起自己嘛!


什么?你晚饭吃过了?


晚饭吃过了还可以再吃顿宵夜嘛,反正不吃你也是瘦不下去的对不对。


我们再次回到正题哈童鞋们(严肃脸),现在来说说机器学习框架的事情,同样的,这里我们专指深度学习框架。讲真,我写得有点累了,就放张cs231课程里的图吧,大家自己看看这些框架与大学和企业的关系。


不同框架间的比较见下图,李杰克暂时也不打算展开说:


李杰克尝试过TensorflowMxnetKeras三种框架,以使用Tensorflow为主,其他框架暂时没怎么接触。


今天重点要跟大家说的Tensorflow这个框架,Tensorflow背靠Google大树,是目前最火的框架,如果你想做一名AI工程师,那学Tensorflow一定是最好的选择,类似于一招鲜吃天下的意思。


如果你是产品经理,并不想花太多时间在框架上,但又想自己去实现一个神经网络模型的话,那李杰克建议去学习Keras


Keras基于Tensorflow又进行一层封装,当然也有基于Theano版本的,因为高度封装,使用起来异常简单,简单到什么程度呢?


你只需要十来行代码就能搞出来一个简单神经网络模型,但与此对应的是灵活度并不高,但对于产品经理一类的童鞋来说已经妥妥地够用了,再贴一下我之前写过的一个模型代码给大家看看有多简单:



关于框架的学习,李杰克同样有一些不错的视频资源推荐给大家,大家可以通过看视频入门,但之后实践过程中碰到问题更多的是需要去查看文档去解决问题哈。


对于Tensorflow,推荐大家看的第一个资源是视频不用博士学位玩转Tensorflow深度学习


这个视频应该是Google云大会上的一个演讲,全程约两个小时,估计下面也坐了很多小白,所以讲得还是蛮容易接受的。


视屏中的小哥基本上是全程手把手地带你用Tensorflow分别搭建一个CNN模型(卷积神经网络)和RNN模型(递归神经网络),基本上看完你也算是有点入门了。


  • 《不用博士学位玩转Tensorflow深度学习》观看地址:http://t.cn/RTuemTK


另外,我的云盘里还有一份《三天速成Tensorflow PPT-香港科技大学》的PPT,讲得也是非常简明易懂,估计你花费大半天时间就可以过完了,也是一份非常好的入门资料,大家可以自行去下载学习。

  • 《三天速成Tensorflow PPT-香港科技大学》下载地址:详见文末


网上还有一个叫莫烦的童鞋做的《Tensorflow教程》视频教程不错,每集长度也就几分钟,但相关基本深度学习的知识和Tensorflow实现都讲到了,可以说是非常棒,用来入门是妥妥的不错的!


  • 莫烦《Tensorflow教程》观看地址:http://t.cn/RTuDxFT


最后一个很棒的资源是《 Deep Learning With Tensorflow》,其实里面Tensorflow的介绍得并不多,更多的是用简明的方式把Deep Learning里重要的知识都给你过了一遍,全长也就一个小时左右,用你可能玩不了一局吃鸡的时间去再次巩固下知识还是不错的呢!


  • 《 Deep Learning With Tensorflow》观看地址:http://t.cn/RTuDcjC


至于keras,它比较简单啦,产品经理童鞋可以学完深度学习基本知识后,直接上手下面这个视频,给大家推荐的是莫烦童鞋《Keras快速搭建神经网络》,教程视频约两个小时,一部电影的时间就可以把它消灭掉,有没有很开心!

  • 《 Keras快速搭建神经网络》观看地址:http://t.cn/RTuDLKD


一路下来,python我们提到了,数学算法也说到了,深度学习框架我们也说到了,李杰克你TM该结束这篇文章了吧?


各位童鞋稍安勿躁,真的是最后一点点东西了,我不骗你的......因为我也快把自己写得快崩溃了.....


我们都知道深度学习可能会用到比较大的数据,而CPU是很难带动大数据的训练的,GPU这个大杀器就不一样了,它会让训练的速度提升很多,所以,我们往往愿意选择GPU来训练模型


但是,我们小白哪来的GPU啊?


当然我们可以去买,但性能还不错的GPU的价格可是一点都不比我们用的笔记本便宜哟......


但你也不要慌,作为前产品经理的李杰克显然也考虑到了这一点,且听我告诉你解决方案


世界上有一种神奇的服务叫......不好意思,不是你所想的大宝剑......而是云服务。


我们不想买GPU,但我们可以去租人家的的GPU来用嘛,其中Amazon 的AWS是个不错的选择


我们需要训练的时候去临时租用它就好了,使用期间一个入门级GPU竞价实例也就是0.2刀每小时,这个性价比自然是棒棒哒!不过最近竞价示例似乎有时候会连不上,这时可以考虑用普通GPU实例,不过价格就需要0.9刀每小时了。


具体怎么使用AWS李杰克不展开讲了,提供一篇说的还算详细的攻略文章《在AWS上配置深度学习主机》给各位童鞋参考,以备大家不时之需。

  • 《在AWS上配置深度学习主机》阅读地址:http://t.cn/RxdOFOb



尾声

我的天呐,终于写完了啦


讲真,李杰克以前属于那种学习知识过后很少会再把知识写出来的人,因为从功利的角度来说,去重复已经掌握的东西对自己并没有太大帮助


同时,李杰克也是一个有点处女座性格的人,总是希望能够呈现给大家尽可能有价值有意思的东西,所以经常觉得自己没写好,然后重新写,写的过程也会比较纠结和费时


但是,李杰克还是愿意把这件事情坚持下去,因为李杰克觉得为大家写东西是有意义的,跟大家交流探讨是有意思的,与大家一起共同进步是开心的


如果这篇文章能够对大家有那么一些些帮助,李杰克会觉得很有成就感!毕竟我也是耗费了不少心血和时间的东西也有了些反馈,你敢信,我给部分文字标粗标色就花了一个多小时(生无所恋脸).....希望大家多多支持!


额.....突然想起我好像把最重要的事情忘了:各位美貌与智慧并重、英雄与狭义的化身的童鞋们,如果你觉得本文对你还有些许帮助的话,欢迎通过后文的二维码关注李杰克的公众号“小白AI之路(AI-Learning)”(请再次脑补我无比大写的谄媚脸)!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值