| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 集成学习-Task1 机器学习的数学基础 -> 正文阅读 |
|
[人工智能]集成学习-Task1 机器学习的数学基础 |
目录 1. 高等数学(梯度与牛顿法)1.1 梯度? ? ? ? 梯度是一个“向量”而非标量。因此梯度具有两个属性:方向和长度(模)。 ? ? ? ? 梯度与方向导数具有很密切的联系。函数在某点的梯度,其方向意味着函数在该点的所有方向导数中沿着该方向可以取得最大值,而这个最大方向导数的值就是梯度的模。 ? ? ? ? 更通俗些来讲,从函数变化的角度来看,函数在某点的梯度,其意味着函数在该点沿着此方向增长速度会最快,这个增长的变化率就是梯度的模。 1.2 雅各比矩阵(Jacobian矩阵)? ? ? ? 假设有一个函数,该函数是一个从n维空间映射到m维空间的函数。也就是说,这个函数由m个实函数组成,每个实函数都具有n个参数。如果将这些函数对这些参数的一阶偏导数罗列在一起(假设它们都是存在的),就可以组成一个m*n的矩阵。这个矩阵就是雅各比矩阵。 ? ? ? ? ?因此,梯度属于雅各比矩阵的一种简单情况 1.3?海森矩阵(Hessian矩阵)? ? ? ? 假设有一个实函数,其如果将该函数对所有参数的二阶偏导数都罗列在一起(假设它们都是存在的),就可以组成一个n*n的矩阵。这个矩阵就是海森矩阵。 ? ? ? ? 海森矩阵可以用来描述函数的局部曲率。 1.4?基于梯度的优化方法——牛顿法? ? ? ? 牛顿法是求解函数零点的方法。利用牛顿法求解目标函数的最小值实际上指的是利用牛顿法求解目标函数一阶导数的零点。因为函数极值点处一阶导数为0。 ? ? ? ? 牛顿法是一个以随即位置开始,不断迭代得到新位置,直到新位置与零点位置重合时停止的方法。更具体来说,假设目标函数的导数是一个一元函数,我们先在横坐标上随机选取一个位置,计算处切线与x轴的交点的横坐标。然后以为新位置重复该过程,直到切点与零点重合为止。 ? ? ? ? ?假设目标函数为,则牛顿法的迭代公式如下: ? ? ? ? 如果是一个向量,则牛顿法的迭代公式还可以表示为: ? ? ? ? 其中和就是对应的海森矩阵和雅各比矩阵。 ? ? ? ? 牛顿法在优化目标函数时具有以下优势: ? ? ? ? 1.?收敛速度快,比梯度下降要快很多; ? ? ? ? 2.?海森矩阵的逆在迭代工程中会不断变小,可以起到逐步减小步长的效果; ? ? ? ? 牛顿法的缺点如下: ? ? ? ? 1.?目标函数必须二阶可导; ? ? ? ? 2.?初始点需要足够“靠近”极小点,否则,有可能导致算法不收敛。因为牛顿法是不能控制方向的,有可能会向错误的方向优化。因此有了阻尼牛顿法,简单来说就是引入的一个阻尼系数以控制步长,即 ? ? ? ?不过这个阻尼系数不一定是固定的,也需要计算。这里不做介绍。 ????????3.?海森矩阵的逆求解复杂。因此有了拟牛顿法。 2. 线性代数(范数)2.1?向量范数? ? ? ? 假设向量,则: ? ? ? ? 1-范数 ? ? ? ? n-范数(n>1) ? ? ? ? -范数 2.2?矩阵范数? ? ? ? 1-范数(列范数,实际是每个列绝对值最大的元素的和) ? ? ? ? 2-范数(谱范数,实际是矩阵的最大特征值) ????????-范数(行范数,实际是每个行绝对值最大的元素的和) 3. 概率论(全概公式和逆概公式)3.1?全概公式? ? ? ? 如果事件是一个完备事件组,则: 3.2?逆概公式????????如果事件是一个完备事件组,则对任意事件,有: 4.?作业4.1?问题1? ? ? ? 在数学最优化中,Rosenbrock函数是一个用来测试最优化算法性能的非凸函数,由Howard Harry Rosenbrock在1960年提出 。也称为Rosenbrock山谷或Rosenbrock香蕉函数。已知Rosenbrock函数的表达式为 请编程完成以下工作: (1)为a和b取不同的值,绘制3D表面。观察a和b的不同取值对曲面形状的影响 (2)编写算法找到全局最小值以及相应的最小解,并在3D图像中标出。分析算法的时空效率,给出运行时间
? ? ? ? 对教案中的代码做了一些修改,自动生成所有不同取值的图像和结果
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/1 12:42:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |