网站首页 > 技术文章 正文
人工智能
一个经常能听到的一个名词
但是学习人工智能并不是简简单单
跟开发 APP 和后台服务器相比,人工智能需要大量的数学知识。
微积分;线性代数;概率论; 最优化。
微积分
在机器学习中,微积分主要用到了微分部分,作用是求函数的极值,就是很多机器学习库中的求解器(solver)所实现的功能。在机器学习里 会用到微积分中的以下知识点:
? 导数和偏导数的定义与计算方法
? 梯度向量的定义
? 极值定理,可导函数在极值点处导数或梯度必须为 0
? 雅克比矩阵,这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到
? Hessian 矩阵,这是 2 阶导数对多元函数的推广,与函数的极值有密切的联系
? 凸函数的定义与判断方法
? 泰勒展开公式
? 拉格朗日乘数法,用于求解带等式约束的极值问题
其中最核心的是记住多元函数的泰勒展开公式,根据它我们可以推导出机器学习中 常用的梯度下降法,牛顿法,拟牛顿法等一系列最优化方法,泰勒公式:微积分和线性代数,微积分中会用到大量线性代数的知识,线性代数中也会用到微积分的知识。
线性代数
向量及其运算
矩阵及其运算
张量
行列式
二次型
特征值与特征向量
相比之下,线性代数用的更多。在机器学习的几乎所有地方都有使用,具体用到的 知识点有:
? 向量和它的各种运算,包括加法,减法,数乘,转置,内积
? 向量和矩阵的范数,L1 范数和 L2 范数
? 矩阵和它的各种运算,包括加法,减法,乘法,数乘
? 逆矩阵的定义与性质
? 行列式的定义与计算方法
? 二次型的定义
? 矩阵的正定性
? 矩阵的特征值与特征向量
? 矩阵的奇异值分解
? 线性方程组的数值解法,尤其是共轭梯度法
机器学习算法处理的数据一般都是向量、矩阵或者张量。经典的机器学习算法输入 的数据都是特征向量,深度学习算法在处理图像时输入的 2 维的矩阵或者 3 维的张量。掌握这些知识会使你游刃有余。
多元函数微分学高阶偏导数
雅克比矩阵
Hessian 矩阵
多元函数泰勒展开
多元函数极值判定法则
回到线性代数 奇异值分解 SVD
常用的矩阵和向量求导公式
概率论
随机事件与概率
条件概率和贝叶斯公式随机变量
随机变量的期望和方差
常用概率分布(正太分布、均匀分布、伯努利二项分布) 随机向量(联合概率密度函数等)
协方差与协方差矩阵
最大似然估计
如果把机器学习所处理的样本数据看作随机变量/向量,我们就可以用概率论的观点 对问题进行建模,这代表了机器学习中很大一类方法。在机器学习里用到的概率论知识点有:
? 随机事件的概念,概率的定义与计算方法
? 随机变量与概率分布,尤其是连续型随机变量的概率密度函数和分布函数
? 条件概率与贝叶斯公式
? 常用的概率分布,包括正态分布,伯努利二项分布,均匀分布
? 随机变量的均值与方差,协方差
? 随机变量的独立性
? 最大似然估计
最优化
最后要说的是最优化,因为几乎所有机器学习算法归根到底都是在求解最优化问题。 求解最优化问题的指导思想是在极值点出函数的导数/梯度必须为 0。因此你必须理解梯度下降法,牛顿法这两种常用的算法,它们的迭代公式都可以从泰勒展开公式 中得到。如果能知道坐标下降法、拟牛顿法就更好了。凸优化是机器学习中经常会提及的一个概念,这是一类特殊的优化问题,它的优化 变量的可行域是凸集,目标函数是凸函数。凸优化最好的性质是它的所有局部最优解就是全局最优解,因此求解时不会陷入局部最优解。如果一个问题被证明为是凸 优化问题,基本上已经宣告此问题得到了解决。在机器学习中,线性回归、岭回归、 支持向量机、logistic 回归等很多算法求解的都是凸优化问题。拉格朗日对偶为带等式和不等式约束条件的优化问题构造拉格朗日函数,将其变为 原问题,这两个问题是等价的。通过这一步变换,将带约束条件的问题转换成不带约束条件的问题。通过变换原始优化变量和拉格朗日乘子的优化次序,进一步将原 问题转换为对偶问题,如果满足某种条件,原问题和对偶问题是等价的。这种方法 的意义在于可以将一个不易于求解的问题转换成更容易求解的问题。在支持向量机中有拉格朗日对偶的应用。KKT 条件是拉格朗日乘数法对带不等式约束问题的推广,它给出了带等式和不等式约束的优化问题在极值点处所必须满足的条件。在支持向量机中也有它的应用。如果你没有学过最优化方法这门课也不用担心,这些方法根据微积分和线性代数的 基础知识可以很容易推导出来。如果需要系统的学习这方面的知识,可以阅读《凸 优化》,《非线性规划》两本经典教材。
出现频率最高的是优化方法,拉格朗日乘数法,梯度下降法,牛顿法,凸优化
第二类概率论知识,随机变量,贝叶斯公式,随机变量独立性,正太分布,最大似然估计第三类线性代数知识,几乎所有都会涉及到向量、矩阵、张量的计算,包括特征值和特征向 量,很多算法都会最终变成求解特征值和特征向量问题。
微积分的知识比如链式法则。
除了主体这些数学知识,会用到微分几何中的流行、测地线、测地距离的概念。 支持向量机会用到 Mercer 条件、核函数,涉及到泛函分析和识别函数的范畴。
再比如说人工神经网络的证明,万能逼近定理会用到泛函分析和识别函数的内容,用来证明 这样一个函数可以来逼近任何形式的函数。
离散数学的知识比如图论、树在机器学习里面也会用到,但是用的都是比较简单的。所以说我们只有掌握好微积分、线性代数、概率论还有一些优化的算法,我们就能看懂所有的机器学习算法了。像刚才说的一些相对高深的微分几何、泛函分析和识别函数,它们主要用在一些基础理论证明上面,说白了就是证明一些算法的合理性,你即使看不懂这些证明, 它也不影响你理解这些算法的推导、思想和使用。
这里整理了一些相关的课程,希望可以帮到大家
获取方式:
转发+关注啦,最后麻烦私信“学习资料”获取!
私信方式:
第一步,点击头像。
第二部:头像旁边有一个私信按钮,发送{学习资料}即可!
- 上一篇: 相机模型与张氏标定 相机标定的原理
- 下一篇: 怎样进行算法的复杂度分析? 怎样进行算法的复杂度分析
猜你喜欢
- 2024-10-28 NumPy之:多维数组中的线性代数 多维数组元素之间的关系是线性的吗
- 2024-10-28 相机模型与张氏标定 相机标定的原理
- 2024-10-28 C代码快速傅里叶变换-分类和推理-常微分和偏微分方程
- 2024-10-28 认识“模拟进化算法” 模拟进化怪物
- 2024-10-28 3D点云平面拟合算法 3d点云项目
- 2024-10-28 黎曼猜想突破作者首次公开讲解,陶哲轩送上总结
- 2024-10-28 浅谈PCA主成分分析 什么是pca主成分分析
- 2024-10-28 【杂谈】cholesky分解——对称正定矩阵最好的分解
- 2024-10-28 降维算法: 奇异值分解SVD 降维的算法
- 2024-10-28 「周末AI课堂」线性降维方法(理论)|机器学习你会遇到的“坑”
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)