为了账号安全,请及时绑定邮箱和手机立即绑定

从入门到高阶,读懂机器学习需要哪些数学知识?

/ 猿问

从入门到高阶,读懂机器学习需要哪些数学知识?

aluckdog 2019-02-14 14:07:20

从入门到高阶,读懂机器学习需要哪些数学知识


查看完整描述

2 回答

?
摇曳的蔷薇

1.线性代数:我的一个同事Skyler Speakman说“线性代数是二十一世纪的数学”,我完全同意这个说法。在ML中,线性代数到处都是。主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU分解、QR分解/因式分解、对称矩阵,正交化和正交化、矩阵运算、投影、特征值和特征向量、向量空间和规范这些都是理解机器学习及其优化方法所必需的。线性代数令人惊奇的是,有很多在线资源。 我一直说传统的课堂正在死亡,因为互联网上有大量的资源。我最喜欢的线性代数课程是MIT(Gilbert Strang教授)课程。
2.概率理论与统计学:机器学习与统计学领域是有很多相似的地方。实际上,有人最近将机器学习定义为“在Mac上统计数据”。 机器学习需要基本统计和概率理论的综合知识,如概率规则和公理、贝叶斯定理、随机变量、方差和期望、条件和联合分布、标准分布(伯努利,二项式,多项式,均匀和高斯)、矩生成函数、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和抽样方法。
3.多元微积分:主要领域包括微积分、偏导数、向量值函数、梯度方向、Hessian矩阵、雅可比矩阵、拉普拉斯和拉格朗日分布。
4.算法和复杂度优化: 这些在评估计算的效率和可扩展性,或利用稀疏矩阵时,显得非常重要。 需要知识包括数据结构(二叉树,散列,堆,堆栈等)、动态规划、随机和线性算法、图形、梯度/随机下降和原对偶方法。
5.其他:包括上述四个主要领域未涵盖的其他数学主题。它们包括实分析和复分析(集合和序列、拓扑、度量空间、单值和连续函数、限制、柯西内核、傅里叶变换),信息理论(熵,信息增益),函数空间和Manifolds流形。



查看完整回答
反对 回复 2019-03-01
?
噜噜哒

你必需具备的数学知识

概率论

  • 离散型和连续型随机变量

  • 主要分布(伯努利分布、二项式分布、正态分布、 指数分布、 泊松分布、Beta 和 Gamma 分布)

  • 矩估计和最大似然估计

  • 贝叶斯统计

  • 相关性系数和协方差(Correlation and Covariance)

  • 概率是机器学习算法中频繁用到的。不过基础的概率知识在统计学中已经包括了,而比较深入的概率知识其实在机器学习算法设计的时候并不经常用到。


    线性代数

  • 向量和矩阵

  • 矩阵的行列式

  • 特征向量和特征值

  • 矩阵分解(如 SVD)

  • 线性代数在深度学习领域有着举足轻重的作用,它是深度学习各种算法的基本数学工具。尤其是矩阵的各种变换,因为大量机器学习算法都是在和矩阵打交道。


    向左转|向右转



    微积分

  • 极限与导数

  • 微分和积分

  • 数值计算与最优化方法

  • 比如,现在无比热门的神经网络,优化方法几乎全是基于梯度下降,而梯度下降,其实就是链式求导。不过,理工科应该都学过这方面的课程。


    最好要掌握:

    离散数学:毕竟离散数学是描述计算机问题的基础。许多算法的思想也是基于离散数学的。离散数学研究的一些问题对于描述计算机问题也有很大启发。


    随机过程,实分析:机器学习往深里做肯定需要用这种,高级的数学语言去对问题进行描述。


    泛函:泛函分析是一门非常抽象的课程。泛函的很多内容都是从数学分析,线性代数,实分析等抽象出来的,同时也是它们的推广,泛函研究更广泛更一般的空间,研究共性的问题。而数学分析,高等代数研究的是个性的问题,都很具体。


    各种算法和理论用到的数学知识

    下面我们一张图来看典型算法和理论结论所用到的数学知识:


    向左转|向右转



    推荐书目

  • 《An Introduction Statistical to Learning 》

  • 《 The Elements of Statistical Learning 》

  • 它们讲述的都是统计学习,或者机器学习的方法。其中前一本可以看成是后一本的简化版。它更通俗、更简单一些,后面这个稍微有些难。这两本书可以反复阅读,每次都有不同的收获。



查看完整回答
反对 回复 2019-03-01

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信