机器学习中的数学基础(一):高等数学
机器学习中的数学基础(一):高等数学
- 1 高数
- 1.1 如何理解方向导数与梯度?
- 1.2 泰勒公式
- 1.3 拉格朗日乘子法
- 1.3.1 理论支持
- 1.3.2 实例
在看西瓜书的时候有些地方的数学推导(尤其是概率论的似然、各种分布)让我很懵逼,本科的忘光了,感觉有点懂又不太懂,基于此,干脆花一点时间简单从头归纳一下机器学习中的数学基础,也就是高数、线代、概率论(其实大学都学过)。
本文全部都是基于我自己的数学基础、尽量用方便理解的文字写的,记录的内容都是我本人记忆不太牢靠、需要时常来翻笔记复习的知识,已经完全掌握的比如极限连续性啥的都不会出现在这里。
学习内容来自这里
1 高数
1.1 如何理解方向导数与梯度?
首先理解偏导数的几何意义:
【单独从一维的角度看,对 x x x 求偏导就是函数 z z z 的切线对 x x x 轴的斜率,这里如何理解?】
首先,曲面 z z z 在各个方向上可以有无数条不同方向的切线;
而当固定一个点 M 0 M_0 M0 时,经过 M 0 M_0 M0 ,同样可以产生无数条不同方向的切线;
但是,我们要理解的是函数 z z z 对 x x x 的偏导数,此时不能让 y y y 来对这个结果产生干扰,因此,我们直接令 y = y 0 y=y_0 y=y0,固定住 y y y 。 y = y 0 y=y_0 y=y0 是一个在 y 0 y_0 y0 处、平行于 x O z xOz xOz 面的平面,此时这个平面和曲面 z z z 相交与图中的蓝色曲线,这条蓝色曲线在点 M 0 M_0 M0 处的切线 M 0 T x M_0T_x M0Tx 对 x x x 轴的斜率即为对 x x x 求偏导的几何意义。
对 y y y 求偏导同理。其实看图就很好理解了,根本不需要看上面的一大段话。
但是要说明的一点是,上面都是从一维的角度看,在 x x x 、 y y y 方向上分别有两条切线,各自求斜率即可。但是我们不能永远都单独从一维的角度看, x x x 和 y y y 两者之间是相关的,因此,还需要二者结合。
【梯度是空间变量变化趋势的最大值和方向】
梯度既有值,又有方向,所以它的表现形式是向量!!!
如果用爬山来类比,那么梯度其实就是最快上山的方向,注意,这里是上山!我们常见的梯度下降法是梯度取负的。
显然,这个“最快上山的方向”就是综合考虑了 x x x 和 y y y 的。
我们暂且先单独考虑 x x x :对点 M 0 M_0 M0 来说,沿 x x x 方向可以在蓝色曲线上向 x x x 轴的正方向和负方向走,显然向负方向走才是在坡度上升。
y y y 方向同理,沿着绿色曲线向 y y y 轴负方向走才是在上山。
因此,综合考虑两个方向,坡度最陡的上山方向就是:
gradf ( x , y ) = ∂ f ∂ x i ⃗ + ∂ f ∂ y j ⃗ \operatorname{gradf}(x, y)=\frac{\partial f}{\partial x} \vec{i}+\frac{\partial f}{\partial y} \vec{j} gradf(x,y)=∂x∂fi +∂y∂fj 这就是梯度,其中 ∂ f ∂ x = f x ( x 0 , y 0 ) \frac{\partial f}{\partial x}=f_x\left(x_0, y_0\right) ∂x∂f=fx(x0,y0) 、 ∂ f ∂ y = f y ( x 0 , y 0 ) \frac{\partial f}{\partial y}=f_y\left(x_0, y_0\right) ∂y∂f=fy(x0,y0) ,在不同的点有各自的取值。到达山顶时,梯度为0。
【梯度是最大的方向导数】
梯度是上升最快的方向,但是从点 M 0 M_0 M0 出发,有无数种方向,这些方向就可以用方向向量 ( c o s ( α ) , s i n ( α ) ) (cos(\alpha),sin(\alpha)) (cos(α),sin(α)) 表示( α \alpha α 是方向向量与 x x x 轴的夹角),那么,梯度在方向向量上的投影就是该方向的方向导数:
∂ f ∂ e l = ( f x ( x 0 , y 0 ) , f y ( x 0 , y 0 ) ) ∗ ( cos ( α ) , sin ( α ) ) = ∣ gradf ( x , y ) ∣ c o s ( θ ) \frac{\partial f}{\partial e_l}=\left(f_x\left(x_0, y_0\right), f_y\left(x_0, y_0\right)\right) *(\cos (\alpha), \sin (\alpha))=|\operatorname{gradf}(x, y)|cos(\theta) ∂el∂f=(fx(x0,y0),fy(x0,y0))∗(cos(α),sin(α))=∣gradf(x,y)∣cos(θ)其中, θ \theta θ 是 梯度与方向向量的夹角。
这就是为什么经常看到 “梯度是最大的方向导数”,当方向导数最大时,方向向量和梯度重合, c o s ( θ ) = 1 cos(\theta)=1 cos(θ)=1, 梯度在方向向量上的投影就是梯度本身。
下面这张图,等高线 c 1 c_1 c1 比等高线 c 2 c_2 c2 低,梯度就是从 c 1 c_1 c1 到 c 2 c_2 c2 最快的方向。
关键:梯度是方向导数中的最大值,梯度一定是函数上升的方向, 最小值为0, 即到达山顶。梯度下降法是对梯度取负的。
1.2 泰勒公式
出发点:
1、用简单的熟悉的多项式来近似代替复杂的函数
2、易计算函数值,导数与积分仍是多项式
3、多项式由它的系数完全确定,其系数又由它在一点的函数值及其
导数所确定。
为什么泰勒公式有多阶?
因为用更高阶的函数来确定上升和下降的趋势。
而阶乘的作用就是使函数图像先呈现低阶的特性,再呈现高阶的。
1.3 拉格朗日乘子法
其实就是把约束和目标函数一起计算,将约束问题无约束化。
1.3.1 理论支持
如图所示,有一座山,知道山的等高线、知道一条固定在山上的曲线,那么如何寻找山峰最低点?
最低点显然是等高线和曲线相切的地方。因此,在这个点处,等高线和曲线各自的法向量应该是平行的,只不过是有倍数和方向的差距。
因此计算之后,就可以得到图中的结论,这就为拉格朗日乘子法提供了支持。
所以用公式表示如下:
多个条件也一样成立。
1.3.2 实例
机器学习中的数学基础(一):高等数学相关推荐
- 机器学习中的数学基础(2)——理解基、线性组合与向量空间
https://www.toutiao.com/a6668922466275951118/ 这是<机器学习中的数学基础>系列的第2篇. 铺垫 在介绍各种"高大上"的名词 ...
- 免费教材丨第51期:数学基础课程----概率论教程、机器学习中的数学基础
小编说 过去几个月里,有不少人联系我,向我表达他们对人工智能.数据科学.对利用机器学习技术探索统计规律性,开发数据驱动的产品的热情.但是,我发现他们中有些人实际上缺少为了获取有用结果的必要的数学直觉和 ...
- 秦曾昌人工智能课程---1、机器学习中的数学基础
秦曾昌人工智能课程---1.机器学习中的数学基础 一.总结 一句话总结: 函数+线代:了解数学常用函数,了解矩阵,了解线性代数 由浅入深:人工智能需要的高数基础并不多,由浅入深,很简单的 1.机器学习 ...
- 秦曾昌人工智能课程---2、机器学习中的数学基础2
秦曾昌人工智能课程---2.机器学习中的数学基础2 一.总结 一句话总结: 概率论在机器学习中比较重要 1.机器学习中最重要的数学基础是什么? 概率和统计:机器学习中很多情况需要处理不确定性, 2.我 ...
- 机器学习中的数学基础--随机变量与概率分布,伯努利分布和泊松分布,贝叶斯定理
机器学习中的数学基础--第四天 随机变量与概率分布 伯努利分布和泊松分布 贝叶斯定理 随机变量与概率分布 均匀分布:每个事件的概率是一样的,例如骰子的六面,每一面的概率都是1/6 随机变量: 1.离散 ...
- 【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义
[机器学习中的数学基础]矩阵特征值.特征向量和特征值分解的几何意义 在<机器学习>西瓜书中的第十章提到了"多维缩放"(简称MDS)方法,该方法是一种经典的的降维方法.此 ...
- 机器学习中的数学基础怎么学?
又到了周末了,但小编的周六并不算周末.回到本次的话题上,这次小编给大家分享机器学习中的数学基础该怎么学. 首先给出小编的态度:机器学习中涉及的数学课程比较多,要想一下子去穷尽所有课程显然也不现实,大可 ...
- 机器学习中的数学基础(1)——向量和范数
https://www.toutiao.com/i6668553958534939144/ 从今天开始,我将开设一个机器学习数学基础的系列.主要介绍机器学习中经常用到的那些数学知识,方便大家入门.一说 ...
- 机器学习中的数学基础(4.1):支持向量机Support Vector Machine(SVM)
SVM可以说是一个很经典的二分类问题,属于有监督学习算法的一种.看过那么多的博客知乎解释SVM我一定要自己总结一篇,加深一下自己的理解. 带着问题去读文章会发现,柳暗花明又一村,瞬间李敏浩出现在眼前的 ...
最新文章
- MNIST数据集实现手写数字识别(基于tensorflow)
- 【FPGA】ROM/EPROM的设计(使用加载文件的方式初始化)
- 叛逆的仔:不听老板的话,还要用行动给老板来个响亮耳光!
- python跳槽工资_年薪45万阿里程序员想跳槽到vivo,网友:工资不翻倍不要去
- 【ArcGIS风暴】ArcGIS 10.2导入Excel数据X、Y坐标(经纬度、平面坐标),生成Shapefile点数据图层
- 3W字!带你玩转「消息队列」
- 使用SignalR和SQLTableDependency进行记录更改的SQL Server通知
- python备份发包脚本_用Python写脚本,实现完全备份和增量备份的示例
- 软件工程学习进度第七周暨暑期学习进度之第七周汇总
- Facebook广告兴趣定位终极指南经验分享
- php模拟登录京东,京东jos 获取授权及php-sdk的使用示例
- 学python可以从事什么工作-学Python可以找什么工作或者做什么兼职?
- 学习笔记:聚类算法Kmeans/K-均值算法
- securecrt批量登录linux,SecureCRT批量配置使用会话key
- 清除计算机垃圾cmd命令,cmd清理垃圾命令代码是什么
- SpringBoot单元测试@Test没有run的解决方法
- 从IRQ到IRQL(PIC版)
- 【OpenGL ES】纹理
- python列表替换_Python 列表元素替换
- Linux —— 时间问题(GMT,UTC,DST,CST,CET表示什么、UTC与CST之间的转换)