• 自学人工智能之数学篇,数学入门并不难


    自学人工智能之数学篇,数学入门并不难

    http://blog.itpub.net/31549715/viewspace-2200126/

    写这篇文章很久想了很久,到底该怎么写?

    关于数学与机器学习的关系,观点很多。

    写本文的目的,希望结合众家之长,试图解决数学对机器学习入门的困扰。

    现在数学困扰大家主要有这几个方面:

    1、 机器学习需要的数学知识是不是很难,网上的公式都看不懂?

    2、 很多人都说工作后就是调参,调包,不太需要用到数学吧?

    3、 零基础究竟该怎么自学数学,学到哪个程度?

     

    观点:

    1、数学是必须的。

    数学对于机器学习来说是必备基础,数学是内功,你要理解一个算法的内在逻辑,没有数学是不行的。以后跑算法的时候,你可能就是调参、调包,不会用到数学。但是你发现效果不好的时候,如果你数学不懂,就很难作优化,数学是你在机器学习路上的天花板。

    2、数学也不是很难。

    但是,数学真的很难吗?说实话,对于一般人来说,是有点门槛的,但没有你想的那么难。这里假设你上过大学的数学课,你就具备了机器学习的数学入门门槛了,之后的数学啃一啃是可以下来的。如果说你没有上过大学的数学,emmm,挺难的,这说明你除了跟别人付出同样的努力之外,还要多付出一些大学数学的学习。

    3、 相比于数学,实际项目能力更重要。

    这句话没错,可是大部分人在没接触到实际项目的时候,就已经被挡在门外了。很多从事机器学习的你问他数学,他可能也不是很懂,可是你能咋办。人家面试你的时候就要问你这些,问你对算法的理解,你不会那你就过不了面试啊。

    4、 学习是枯燥的,但是有办法缓解。

    在学习算法的时候,我们会看到很多推导,学着学着就怕了,就失去兴趣了,这里有个方法可以有效缓解。我之前的系列中有本书叫做机器学习实战,跟着上面的代码敲一敲,很容易出成果,你会看到在现实中的实际应用,很有成就感。

    5、 数学的学习是可以“取巧”的

    这里说的取巧指的是,数学的学习是有迹可循的,因为入门阶段的数学实际上就需要那些,列出来,你自己啃一下就可以了。具体的学习方法不是等你把数学都学好了再去学算法知识。而是你在学习算法的时候,看到你数学缺哪块再去补哪块,这是最高效的。当然了,在这之前你可以通读一遍数学的基础,对学习有个大概是更好的。

     

    数学必备知识点

    1、 线性代数

    标量、向量、矩阵和张量;矩阵向量的运算;单位矩阵和逆矩阵;行列式;方差,标准差,协方差矩阵;范数;特殊类型的矩阵和向量;特征分解以及其意义;奇异值分解及其意义

    Moore-Penrose 伪逆;迹运算;

    2、 概率统计

    概率学派和贝叶斯学派;何为随机变量和何又为概率分布;条件概率,联合概率和全概率公式;边缘概率;独立性和条件独立性;期望、方差、协方差和相关系数;常用概率分布;贝叶斯及其应用;中心极限定理;极大似然估计;概率论中的独立同分布。

    3、 优化

    计算复杂性与NP问题;上溢和下溢;导数,偏导数及两个特殊矩阵;方向导数和梯度;梯度下降法;牛顿法;仿射集,凸集和凸锥;超平面,半空间及凸集分离定理;不改变凸性的运算;凸函数及凸优化简述;无约束的优化,等式约束优化,不等式约束优化;线性规划中对偶理论;拉格朗日对偶理论

    4、 信息论及其他

    信息熵;条件熵;相对熵 (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

    我看过很多数学材料,上面三个是我总结过来最好的,必看。但是每个人基础不同,可能看完上面三个后,还是有需要去看别的。

    数学实在太弱怎么办?

    如果你上面三个材料看起来很吃力,或者说你的数学没有达到大学的水平。那就是数学基本功的问题了。针对这种情况,我觉得只能把相关的大学数学书拿出来翻一翻,基本概念要弄懂,什么是矩阵、导数等等,偷不了懒。

    1、数学分析与概率论

    同济大学数学教研室,高等数学,高等教育出版社,1996

    王松桂、程维虎、高旅端,概率论与数理统计,科学出版社,2000

    2、矩阵和线性代数

    同济大学数学系编,工程数学线性代数(第五版),高等教育出版社2007

    以上三本数学书,如果你对基础概念忘了的话,可以选择性看下相应的篇章。

     

    重申:

    最好的数学学习方式是边学边补,没必要百分之百看懂数学的推导过程,初级阶段懂个70%也就够了,有些实在太难的,就没必要钻牛角尖了。网上动辄看到几百块钱的数学教程,希望大家不要被割智商税。

  • 相关阅读:
    Python数组操作将一维数组变成二维数组
    Python做一个计时器的动画
    tkinter添加背景音乐
    IDEA——配置代码检测
    Jenkins构建 前端node项目
    linux下python相关命令
    推荐几个IT交流社区
    jenkins常用插件
    linux上安装newman
    linux+jenkins+postman持续集成
  • 原文地址:https://www.cnblogs.com/DicksonJYL/p/9541432.html
Copyright © 2020-2023  润新知