自学人工智能之数学篇,数学入门并不难面试
http://blog.itpub.net/31549715/viewspace-2200126/算法
写这篇文章好久想了好久,到底该怎么写?机器学习
关于数学与机器学习的关系,观点不少。函数
写本文的目的,但愿结合众家之长,试图解决数学对机器学习入门的困扰。学习
如今数学困扰你们主要有这几个方面:优化
一、 机器学习须要的数学知识是否是很难,网上的公式都看不懂?人工智能
二、 不少人都说工做后就是调参,调包,不太须要用到数学吧?spa
三、 零基础究竟该怎么自学数学,学到哪一个程度?.net
观点:blog
一、数学是必须的。
数学对于机器学习来讲是必备基础,数学是内功,你要理解一个算法的内在逻辑,没有数学是不行的。之后跑算法的时候,你可能就是调参、调包,不会用到数学。可是你发现效果很差的时候,若是你数学不懂,就很难做优化,数学是你在机器学习路上的天花板。
二、数学也不是很难。
可是,数学真的很难吗?说实话,对于通常人来讲,是有点门槛的,但没有你想的那么难。这里假设你上过大学的数学课,你就具有了机器学习的数学入门门槛了,以后的数学啃一啃是能够下来的。若是说你没有上过大学的数学,emmm,挺难的,这说明你除了跟别人付出一样的努力以外,还要多付出一些大学数学的学习。
三、 相比于数学,实际项目能力更重要。
这句话没错,但是大部分人在没接触到实际项目的时候,就已经被挡在门外了。不少从事机器学习的你问他数学,他可能也不是很懂,但是你能咋办。人家面试你的时候就要问你这些,问你对算法的理解,你不会那你就过不了面试啊。
四、 学习是枯燥的,可是有办法缓解。
在学习算法的时候,咱们会看到不少推导,学着学着就怕了,就失去兴趣了,这里有个方法能够有效缓解。我以前的系列中有本书叫作机器学习实战,跟着上面的代码敲一敲,很容易出成果,你会看到在现实中的实际应用,颇有成就感。
五、 数学的学习是能够“取巧”的
这里说的取巧指的是,数学的学习是有迹可循的,由于入门阶段的数学实际上就须要那些,列出来,你本身啃一下就能够了。具体的学习方法不是等你把数学都学好了再去学算法知识。而是你在学习算法的时候,看到你数学缺哪块再去补哪块,这是最高效的。固然了,在这以前你能够通读一遍数学的基础,对学习有个大概是更好的。
数学必备知识点
一、 线性代数
标量、向量、矩阵和张量;矩阵向量的运算;单位矩阵和逆矩阵;行列式;方差,标准差,协方差矩阵;范数;特殊类型的矩阵和向量;特征分解以及其意义;奇异值分解及其意义
Moore-Penrose 伪逆;迹运算;
二、 几率统计
几率学派和贝叶斯学派;何为随机变量和何又为几率分布;条件几率,联合几率和全几率公式;边缘几率;独立性和条件独立性;指望、方差、协方差和相关系数;经常使用几率分布;贝叶斯及其应用;中心极限定理;极大似然估计;几率论中的独立同分布。
三、 优化
计算复杂性与NP问题;上溢和下溢;导数,偏导数及两个特殊矩阵;方向导数和梯度;梯度降低法;牛顿法;仿射集,凸集和凸锥;超平面,半空间及凸集分离定理;不改变凸性的运算;凸函数及凸优化简述;无约束的优化,等式约束优化,不等式约束优化;线性规划中对偶理论;拉格朗日对偶理论
四、 信息论及其余
信息熵;条件熵;相对熵 (KL散度);互信息;几种经常使用的距离度量;图论;树论
上面数学基本上就是咱们所要学的数学的所有了,看上去有点吓人是不?不要慌,没有那么难,一点点啃下去就能够了。
推荐资料:
资料一:机器学习王牌课程CS229课后配套数学,专门配套机器学习的。
连接: https://pan.baidu.com/s/1Fh__7N7rqGEgjsyb4YpNSg 密码:48n4
资料二:Yoshua Bengio的《深度学习》书,网上公开的,前面有一部分是对数学的专门讲解,很基础很全面。
连接: https://pan.baidu.com/s/1A9mcO8_ORQmTJ-V7z9bLdw 密码:hwjn
资料三:知乎答主的优秀回答,很细致,适合初学者
线代专栏: https://zhuanlan.zhihu.com/p/30191876
几率统计: https://zhuanlan.zhihu.com/p/30314229
优化(上): https://zhuanlan.zhihu.com/p/30383127
优化(下): https://zhuanlan.zhihu.com/p/30486793
信息论及其余: https://zhuanlan.zhihu.com/p/30383356
我看过不少数学材料,上面三个是我总结过来最好的,必看。可是每一个人基础不一样,可能看完上面三个后,仍是有须要去看别的。
数学实在太弱怎么办?
若是你上面三个材料看起来很吃力,或者说你的数学没有达到大学的水平。那就是数学基本功的问题了。针对这种状况,我以为只能把相关的大学数学书拿出来翻一翻,基本概念要弄懂,什么是矩阵、导数等等,偷不了懒。
一、数学分析与几率论
同济大学数学教研室,高等数学,高等教育出版社,1996
王松桂、程维虎、高旅端,几率论与数理统计,科学出版社,2000
二、矩阵和线性代数
同济大学数学系编,工程数学线性代数(第五版),高等教育出版社2007
以上三本数学书,若是你对基础概念忘了的话,能够选择性看下相应的篇章。
重申:
最好的数学学习方式是边学边补,不必百分之百看懂数学的推导过程,初级阶段懂个70%也就够了,有些实在太难的,就不必钻牛角尖了。网上动辄看到几百块钱的数学教程,但愿你们不要被割智商税。