机器学习数学|Taylor展开式与拟牛顿
机器学习中的数学
觉得有用的话,欢迎一起讨论相互学习~Follow Me
原创文章,如需转载请保留出处
本博客为七月在线邹博老师机器学习数学课程学习笔记
Taylor 展式与拟牛顿
索引
taylor展式
- 计算函数值
- 解释gini系数公式
平方根公式
牛顿法
- 梯度下降算法
- 拟牛顿法
- DFP
BFGS
Taylor公式
- 如果函数在x0点可以计算n阶导数,则有Taylor展开
- 如果取x0=0,则有Taylor的麦克劳林公式.

Taylor公式的应用1:函数值计算

计算\(e^{x}\)

- 则我们现在的关键就是计算k和r
Taylor公式的应用2:解释Gini系数
- 在随机数和决策森林中会提到的非常重要的概念-- Gini系数
- Gini系数定义 某个类别发生的概率乘以这个类别不发生的概率,把所有类别此项相加.
- 已知交叉熵定义,我们用泰勒公式将f(x)=ln(x)在x=1处一阶展开为1-x,将其带入交叉熵公式中,得到交叉熵公式的近似值公式.

Taylor公式的应用3:牛顿迭代法计算平方根

梯度下降算法

牛顿法
- 如果我们要求f(x)的最值(最小值或最大值),即要使\(f^{'}(x)=0,(f(x)即是\varphi(x))\),这时候的到式子\[X_{k+1}=X_{k}-\frac{f^{'}(X_{k})}{f^{''}(X_{k})}--牛顿法公式\]

- ps:这里我们假设f(x)是一个一元函数,如果是一个多元函数,推导过程完全相同,只是此时\(f^{'}(x)是一个向量,f^{''}(x)是一个Hessian矩阵\)
- 假设红色的曲线是目标函数
- 假设当前找到的点是\(X_{k}\),我们在此处求其切线,并且沿着切线方向在横坐标轴上移动\(\alpha_{k}\)的距离,这时候我们使用的算法就是梯度下降法.
- 给定\(X_{k}\)点的函数值,导数值,二阶导数值得到的抛物线,我们求这条抛物线的梯度为0(即最小值)的点\((X_{k}+d_{k})\),即牛顿法是利用二次函数做的近似而梯度下降法是利用一次函数做的近似

牛顿法特点

Hessian矩阵非正定

- 如图,左边是标准情况,右边是f(x,y,z...)多元目标函数二阶导数非正定的情况,如果是f(x)一元函数,则是二阶导数为负数的情况.
- 假设红线是目标函数,最小值点在A点,假设我们选取的\(X=X_{k}\)时,此时选取的点在B点,在B点使用牛顿法得到虚线,由于得到的二次曲线是一个凹函数,二阶导数为负数得到的极值点是虚线的最大值点!
- 为了解决这个问题,我们提出拟牛顿法的思路.
拟牛顿法
拟牛顿的思路
- 求Hessian矩阵的逆影响算法效率
- 搜索方向并非严格需要负梯度方向或者牛顿方向
- 可以用近似矩阵代替Hessian矩阵,只要满足矩阵正定,容易求导,或者可以通过若干步递推公式计算得到.
- DFP: Davidon -Fletcher -Powell(三个数学家名字命名)
- BFGS: Broyden -Fletcher -Goldfarb -Shanno
DFP



BFGS


机器学习数学|Taylor展开式与拟牛顿的更多相关文章
- 机器学习数学|微积分梯度jensen不等式
机器学习中的数学 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原创文章,如需转载请保留出处 本博客为七月在线邹博老师机器学习数学课程学习笔记 索引 微积分,梯度和Jensen不等式 Tay ...
- 机器学习数学|偏度与峰度及其python实现
机器学习中的数学 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原创文章,如需转载请保留出处 本博客为七月在线邹博老师机器学习数学课程学习笔记 矩 对于随机变量X,X的K阶原点矩为 \[E( ...
- 机器学习数学知识中令人费解的notation符号注解
$argmin_xf(x), min(f(x))$ $min(f(x))$的意思是函数$f(x)$的最小值 $argmin$的意思是返回使得表达式取得最小值时对应的输入变量值.例如$argmin_xf ...
- 拟牛顿 DFP matlab
function sevnn x=[1,0]'; [x,val]=dfp('fun','gfun',x) end function f=fun(x) f=100*(x(1)^2-x(2))^2+(x( ...
- 【原创】牛顿法和拟牛顿法 -- BFGS, L-BFGS, OWL-QN
数据.特征和数值优化算法是机器学习的核心,而牛顿法及其改良(拟牛顿法)是机器最常用的一类数字优化算法,今天就从牛顿法开始,介绍几个拟牛顿法算法.本博文只介绍算法的思想,具体的数学推导过程不做介绍. 1 ...
- 机器学习之Adaboost与XGBoost笔记
提升的概念 提升是一个机器学习技术,可以用于回归和分类问题,它每一步产生一个弱预测模型(如决策树),并加权累加到总模型中:如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升(Gra ...
- 一些对数学领域及数学研究的个人看法(转载自博士论坛wcboy)
转自:http://www.math.org.cn/forum.php?mod=viewthread&tid=14819&extra=&page=1 原作者: wcboy 现在 ...
- 机器学习——XGBoost大杀器,XGBoost模型原理,XGBoost参数含义
0.随机森林的思考 随机森林的决策树是分别采样建立的,各个决策树之间是相对独立的.那么,在我们得到了第k-1棵决策树之后,能否通过现有的样本和决策树的信息, 对第m颗树的建立产生有益的影响呢?在随机森 ...
- 机器学习相关知识整理系列之三:Boosting算法原理,GBDT&XGBoost
1. Boosting算法基本思路 提升方法思路:对于一个复杂的问题,将多个专家的判断进行适当的综合所得出的判断,要比任何一个专家单独判断好.每一步产生一个弱预测模型(如决策树),并加权累加到总模型中 ...
随机推荐
- Codeforces Round #425 (Div. 2)C
题目连接:http://codeforces.com/contest/832/problem/C C. Strange Radiation time limit per test 3 seconds ...
- SQL查找 删除重复数据只保留一条
--用SQL语句,删除掉重复项只保留一条 --在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 --1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 ...
- 史上最难的一道Java面试题 (分析篇)
博客园 匠心零度 转载请注明原创出处,谢谢! 无意中了解到如下题目,觉得蛮好. 题目如下: public class TestSync2 implements Runnable { int b = 1 ...
- 如何抽象一个 Vue 公共组件
之前一直想写一篇关于抽象 Vue 组件的随笔,无奈一直没想到好的例子.恰巧最近为公司项目做了一个数字键盘的组件,于是就以这个为例聊聊如何抽象 Vue 的组件. 先上 Demo 与 源码.(demo最好 ...
- JS全选与不选、反选
思路: 1.获取元素. 2.用for循环历遍数组,把checkbox的checked设置为true即实现全选,把checkbox的checked设置为false即实现不选. 3.通过if判断,如果ch ...
- C# 基础之类型(一)
一.类型 类型总共分为两种,一种是值类型(Value Type),如枚举.结构:另一种是引用类型(Reference Type),如类.接口.委托等. 值类型 1,值类型通常分配在线程的堆栈上 2,作 ...
- C# 相对路径转绝对路径
如果是路径相对路径,使用 Path 转换 System.IO.Path.Combine(文件夹, relativePath); 文件夹就是相对的文件夹. 这样就可以把相对路径转绝对. 参见:http: ...
- web前端——10个妨碍进步的学习方式
1.前言 从事web前端的人很多,每个人的学习方式,学习习惯基本不会一模一样!关于web前端(或者直接互联网),大家都知道,是做到老,学到老的一个行业.之前写文章的时候,我说过很多学习的方式和建议.今 ...
- LINUX 笔记-文件属性相关命令
chgrp:该命令用于改变文件所属用户组 chown:该命令用于改变文件的所有者 chmod:该命令用于改变文件的权限 -R:进行递归的持续更改,即连同子目录下的所有文件都会更改
- Python 使用正则表达式
当使用正则表达式时,re 模块内部会干两件事情 1.编译正则表达式,如其字串本身不合法,报错 2.用编译后的正则表达式去匹配字符串 re_telephone = re.compile(r'^(\d{3 ...