梯度向量、Jacobian矩阵、Hessian矩阵

2023-05-16

这里,讨论三个概念:梯度向量、Jacobian矩阵、Hessian矩阵;

由自变量x=(x1,x2,…,xn)T;

因变量:

①为一维f(x)时,

此时其一阶导数构成的向量为梯度向量g(x);

此时其二阶导数构成的矩阵为Hessian矩阵;

②为多维f(x)=(f1(x), f2(x),…,fm(x))T时,

此时其一阶导数构成的矩阵为Jacobian矩阵;

方法/步骤

  1. 梯度向量:

    定义:

    目标函数f为单变量,是关于自变量向量x=(x1,x2,…,xn)T的函数,

    单变量函数f对向量x求梯度,结果为一个与向量x同维度的向量,称之为梯度向量;

  2. Jacobian矩阵:

    定义:

    目标函数f为一个函数向量,f=(f1(x),f2(x),…fm(x))T;

    其中,自变量x=(x1,x2,…,xn)T;

    函数向量f对x求梯度,结果为一个矩阵;行数为f的维数;列数位x的维度,称之为Jacobian矩阵;

    其每一行都是由相应函数的梯度向量转置构成的;

    【注】:梯度向量Jacobian矩阵的一个特例;

    当目标函数为标量函数时,Jacobian矩阵是梯度向量;

  3. Hessian矩阵:

    实际上,Hessian矩阵是梯度向量g(x)对自变量x的Jacobian矩阵:

  4. 内积:

    向量a和向量b的内积等于a的长度乘b的长度乘夹角的余弦;

  5. 海森矩阵在牛顿法中的应用

    牛顿法主要应用在两个方面:求方程的根; 最优化;

    1)求解方程:

    并不是所有的方程都有求根公式, 或者求根公式很复杂, 导致求解困难;

    利用牛顿法, 可以迭代求解;

    原理:

    利用泰勒公式, 在x0处一阶展开,即f(x)=f(x0)+(x-x0)f’(x0);

    求解方程f(x)=0,即f(x0)+(x-x0)f’(x0)=0, 求解x=x1=x0-f(x0)/f’(x0),

    因为利用泰勒公式的一阶展开, f(x)=f(x0)+(x-x0)f’(x0)处是近似相等;

    f(x1)的值比f(x0)更接近f(x)=0,于是迭代求解;

    推出xn+1=xn–f(xn)/f’(xn)通过迭代, 这个式子必然在f(x^∗)=0的时候收敛;

    整个过程如下图:

  6. 2)最优化:

    在最优化的问题中,

    线性最优化可以用不动点算法求解,

    但非线性优化问题, 牛顿法提供了一种求解的办法;

    假设优化一个目标函数f, 求函数f的极大极小问题,可转化为f’=0的问题;

    把优化问题看成方程求解问题(f’=0);

    求解f’=0的根, 把f(x)的2阶泰勒展开:

    f(x+Δx)=f(x)+f’(x)Δx+1/2f’’(x)Δx^2;

    当且仅当Δx 无限趋近于0时, f(x+Δx)=f(x)约去这两项,

    对余项式f’(x)Δx+1/2f”(x)Δx^2=0对Δx求导(注: f’(x), f’’(x)均为常数项;

    此时上式等价:

    f’(x)+f’’(x)Δx=0;

    求解:

    Δx=−f’(xn)/f’’(xn);

    得出迭代公式:

    xn+1=xn−f’(xn)f’’(xn),n=0,1,...

    一般认为牛顿法可以利用到曲线本身的信息, 比梯度下降法更容易收敛(迭代更少次数),

    如下图是一个最小化一个目标方程的例子, 红色曲线是利用牛顿法迭代求解, 绿色曲线是利用梯度下降法求解;

    图像算法:梯度vs Jacobian矩阵vs Hessian矩阵步骤阅读
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

梯度向量、Jacobian矩阵、Hessian矩阵 的相关文章

  • Spring 参考资料

    拦截器顺序参考 xff1a http www cnblogs com yjmyzz p how to custom filter provider and token in spring security3 html Spring框架详细参
  • 自定义Spring MVC中的数据绑定

    默认情况下 xff0c spring mvc的数据映射的实现是自动查找请求中的key为参数名的parameter的值 比如有以下方法 xff1a 64 RequestMapping value 61 34 xml 34 method 61
  • 微信分享实现

    本文简单的介绍在微信里打开某个网站 xff0c 希望在点击 分享到朋友圈 或 发送给朋友 时 xff0c 自定义分享的内容 xff0c 即使用 JS SDK 实现分享功能 1 前提 要想分享成功 xff0c 需要申请一个公共号 xff0c
  • Android 使用Headless Fragment 处理Configuration Changes情况

    Android开发中 xff0c AsyncTask是最常用的异步方法 xff0c 功能结构设计的也很丰富 xff0c 给使用者足够的控制 因此对于一些较短的 xff08 1 xff0c 2秒 xff09 xff0c CPU密集计算或读写文
  • PL/SQL 显示行数以及sql窗口列表

    tools gt Preferences gt user Interface gt Editor gt Other gt gt 勾上Display line numbers 如果到这里 xff0c 你地工具地SQL行数还未显示 xff0c
  • JS利用正则替换指定字符

    javaScript如何替换字符 定义和用法 replace 方法用于在字符串中用一些字符替换另一些字符 xff0c 或替换一个与正则表达式匹配的子串 语法 stringObject replace regexp replacement 参
  • myEclipse编辑器大小写转换

    就是在MyEclipse中把选中的一部分代码变成全部大写或小写 MyEclipse中把选中的一部分代码变成全部大写或小写快捷键 xff08 其实就是在编写SQL语句时 xff0c 先输入小写 xff0c 这样看着习惯些 xff0c 也容易读
  • cygwin运行常见问题(cygwin warning:MS-DOS style path detected: )

    cygwin 1 7 release 一月 5th 2010 at 11 27 日新月異 很久沒寫軟體相關的東西 xff0c 不過年前 2009年12月 正式釋出的cygwin 1 7值得一提 cygwin是win32底下最完整的一套pos
  • 人与人之间的差距,从大学拉大。(30条建议)

    1 一个年轻人 xff0c 如果在这四年的时间里 xff0c 没有任何想法 xff0c 他这一生 xff0c 就基本这个样子 xff0c 没有多大改变了 2 成功者就是胆识加魄力 xff0c 曾经在火车上听人谈起过温州人的成功 xff0c

随机推荐

  • Numpy库的下载及安装(吐血总结)

    Python很火 xff0c 我也下了个来耍耍一阵子 可是渐渐地 xff0c 我已经不满足于它的基本库了 xff0c 我把目光转到了Numpy 然而想法总是比现实容易 xff0c 因为我之前下的是Python3 3 x xff0c 所有没有
  • cygwin connection closed by ::1

    Cygwin 1 7 1版本ssh问题 解决办法一 在安装 好Cygwin 1 7 1后 xff0c 进入Cygwin会遇到mkpasswd和mkgroup提示 xff0c 强行做ssh 配置 xff0c 执行sshlocalhost 会报
  • Hadoop错误汇总(更新中)

    2012 05 24 13 40 727人阅读 评论 0 收藏 举报 1 ERROR org apache hadoop hdfs server datanode DataNode java io IOException Incompati
  • 在VMWare Workstation8.0上使用ubuntu11安装和配置Hadoop群集环境03_hadoop的安装

    将hadoop 0 21 0 tar gz通过SSH Secure File Transfer Client上传到usr目录下 1 修改 usr hadoop 0 21 0 conf 目录下的master文件 xff0c 内容如下 xff1
  • 在VMWare Workstation8.0上使用ubuntu11安装和配置Hadoop群集环境04_WordCount示例

    运行框架自带的wordcount示例 在192 168 1 61虚拟机中建立两个输入文件input1和input2 HDFS中建立一个目录input 拷贝input1和input2两个文件到HDFS的input目录中 运行wordcount
  • EVE-NG模拟器教程(四)——常用镜像导入和使用

    网络模拟器的镜像文件是指一个模拟真实设备功能和特性的操作系统 xff0c 我们可以通过在模拟器上导入并启动一个镜像系统 xff0c 来体验真实网络设备的部分功能和特性 这些镜像文件有些是由设备厂商 官方 开发和发布 xff0c 有些则是有一
  • 关于函数strtok和strtok_r的使用要点和实现原理(一)

    strtok函数的使用是一个老生常谈的问题了 该函数的作用很大 xff0c 争议也很大 以下的表述可能与一些资料有区别或者说与你原来的认识有差异 xff0c 因此 xff0c 我尽量以实验为证 交代一下实验环境是必要的 xff0c winx
  • vncserver too many security failures

    在服务器上开了几个虚拟机 xff0c 装了VNC之后 xff0c 经常遇到报错too many security failures 查了下相关资料 xff0c 原来是有人在暴力破解 xff0c 触发了VNC的黑名单机制 重置黑名单 xff0
  • Centos7 官方安装方法(略有修改),nextcloud-20.0.1版本亲测

    Centos7 官方安装方法 略有修改 nextcloud 20 0 1版本亲测 执行第一个脚本文件 文件内容如下 bin bash systemctl stop firewalld systemctl disable firewalld
  • SecureCRT_Python笔记

    文章目录 说明常用语法python脚本开头格式Sleep睡眠发送命令或文本弹出消息框 常用对象操作Application 应用程序对象属性ActivePrinter 活动打印机ScriptFullName 脚本名称Version 版本 方法
  • 常用Docker项目合集

    文章目录 使用说明docker官方一键安装脚本使普通用户可以使用Docker使用国内加速器Portainer 容器管理Portainer 官方 常用服务器备份同步使用docker部署backuppc文件备份adferrand backupp
  • Python习题(第2课)

    一 天天向上的力量 C 一年365天 xff0c 以第1天的能力值为基数 xff0c 记为1 0 当好好学习时 xff0c 能力值相比前一天提高N xff1b 当没有学习时 xff0c 由于遗忘等原因能力值相比前一天下降N 每天努力或放任
  • Openpyxl笔记

    文章目录 介绍工作薄操作创建工作薄对象打开工作薄工作薄属性工作薄方法遍历工作薄中的工作表 工作表操作创建工作表指定工作表删除工作表复制工作表获取工作表的总行数和总列数工作表的Table创建Table删除Table 工作表属性工作表方法获取工
  • xlwings笔记

    文章目录 介绍xlwings 常用实例读取 写入单元格将列表写入某个范围 xlwings 安装顶级函数顶级函数xlwings load顶级函数xlwings view appsapps 介绍apps属性查看Apps包含的所有App返回App
  • NextCloud 最新官方源代码安装包及客户端下载

    官方搬运 服务端 源代码安装包 大版本小版本V13V13 0 5下载V14V14 0 1下载V15V15 0 4下载V15V15 0 5下载V15V15 0 7下载V16V16 0 0下载V16V16 0 1下载V16V16 0 2下载V1
  • 河北保定电信家庭宽带获取原生IPv6地址,中兴F650光猫加MikroTik路由器

    先用电脑接光猫输入192 168 1 1 用户名 xff1a telecomadmin 密码 xff1a nE7jA 5mROS路由器设置
  • [翻译]Learning Deep Features for Discriminative Localization

    英文原文请点这里 摘要 在这项工作中 xff0c 我们重新审视了 Network in network 中提出的全局平均 池化层 xff08 global average pooling xff09 xff0c 并阐明了它是如何通过图片标签
  • 2. 嵌入式OpenWRT入门基础篇-----OpenWRT固件烧录

    OpenWRT固件烧录方式有很多种 xff0c 会逐渐更新烧录方法 一 此方法适用于OpenWRT 系统可以正常启动的情况 xff0c 用于OpenWRT 固件的升级 1 xff09 开发板上电 xff0c 至启动完成 2 xff09 登录
  • OpenCV源码中Haar训练及提取特征的代码

    我想计算Haar特征 xff0c 自己手动计算感觉挺麻烦 xff08 主要在取各个不同位置 不同scale的特征 xff09 xff0c 而且可能速度不够 OpenCV 的这个把所有东西都封装起来了 xff0c 由于我的online boo
  • 梯度向量、Jacobian矩阵、Hessian矩阵

    这里 xff0c 讨论三个概念 xff1a 梯度向量 Jacobian矩阵 Hessian矩阵 xff1b 由自变量x 61 x1 x2 xn T 因变量 xff1a 为一维f x 时 xff0c 此时其一阶导数构成的向量为梯度向量g x