【机器学习笔记】Hessian矩阵
2017-10-03 14:35
211 查看
看牛顿法的时候,遇到的这个问题
原问题是要用牛顿法求对数似然函数 l(θ) 的最大值,也就是似然函数导数的零点,即迭代过程为:
θ:=θ−l′(θ)l′′(θ)
如果 θ 为向量,就会想,函数对向量求导怎么求?
所以查了一下:
事实上这就是所谓的Gradient,即对于一般标量函数 f(x) , 其中向量为 x=(x1,...,xn),导数为:
∂f∂x=(∂f∂x1,...∂f∂xn)
也记为: ∇f
∂f∂x=∂fT∂x=[∂f1∂x,...∂fm∂x]=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂f1∂x1⋮∂f1∂xn⋯⋱⋯∂fm∂x1⋮∂fm∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥
这个矩阵也叫做 Jacobian 矩阵
H(f)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂2f∂x21∂2f∂x2∂x1⋮∂2f∂xn∂x1∂2f∂x1∂x2∂2f∂x22⋮∂2f∂xn∂x2⋯⋯⋱⋯∂2f∂x1∂xn∂2f∂x2∂xn⋮∂2f∂x2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
或者可以用更抽象的定义:
Hi,j=∂2f(x)∂xi∂xj
明确了这一点,就能够给出 θ 时的迭代形式了:
θ:=θ−H−1∇θl(θ)
http://blog.csdn.net/linolzhang/article/details/60151623
原问题是要用牛顿法求对数似然函数 l(θ) 的最大值,也就是似然函数导数的零点,即迭代过程为:
θ:=θ−l′(θ)l′′(θ)
如果 θ 为向量,就会想,函数对向量求导怎么求?
所以查了一下:
1. 标量对向量求导:
结果是向量事实上这就是所谓的Gradient,即对于一般标量函数 f(x) , 其中向量为 x=(x1,...,xn),导数为:
∂f∂x=(∂f∂x1,...∂f∂xn)
也记为: ∇f
2. 向量对向量求导:
结果是矩阵一阶导
这个当然也是gradient,当然这准确的说应该叫matrix gradient. 即对于向量值函数 f(x) , 其中 x=(x1,...,xn) , f=(f1,...,fm) , 导数为:∂f∂x=∂fT∂x=[∂f1∂x,...∂fm∂x]=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂f1∂x1⋮∂f1∂xn⋯⋱⋯∂fm∂x1⋮∂fm∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥
这个矩阵也叫做 Jacobian 矩阵
二阶导:
二阶导数就是Hessian矩阵,形式如下:H(f)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂2f∂x21∂2f∂x2∂x1⋮∂2f∂xn∂x1∂2f∂x1∂x2∂2f∂x22⋮∂2f∂xn∂x2⋯⋯⋱⋯∂2f∂x1∂xn∂2f∂x2∂xn⋮∂2f∂x2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
或者可以用更抽象的定义:
Hi,j=∂2f(x)∂xi∂xj
明确了这一点,就能够给出 θ 时的迭代形式了:
θ:=θ−H−1∇θl(θ)
参考:
https://www.zhihu.com/question/58312854http://blog.csdn.net/linolzhang/article/details/60151623
相关文章推荐
- 机器学习笔记_数学基础_5-矩阵理论_续1_QR分解
- 【ML学习笔记】6:机器学习中的数学基础6(对角矩阵,对称矩阵,正交矩阵,特征分解)
- Andrew Ng 机器学习笔记 03 :线性代数之矩阵
- 【机器学习】梯度、Hessian矩阵、平面方程的法线以及函数导数的含义
- 机器学习----神经网络(一)Jacobian矩阵和Hessian矩阵
- 机器学习笔记之正规矩阵的不可逆性
- 吴恩达 机器学习笔记三(lecture 3)(矩阵和向量)
- 机器学习笔记(二)矩阵和线性代数 例:用Python实现SVD分解进行图片压缩
- 机器学习笔记_数学基础_5-矩阵理论
- 机器学习笔记(三)矩阵和线性代数
- 【ML学习笔记】4:机器学习中的数学基础4(线性变换的矩阵描述)
- [机器学习] UFLDL笔记 - Convolutional Neural Network - 矩阵运算
- 程序员的机器学习入门笔记(三):数据挖掘中矩阵的那些事
- 七月算法机器学习笔记3 线性代数与矩阵
- 七月算法机器学习笔记2--机器学习中的数学之矩阵分析与应用
- 斯坦福大学Andrew Ng - 机器学习笔记(3) -- 神经网络模型
- 机器学习课堂笔记(四)
- 机器学习笔记(XIV)神经网络(I)基本概念
- 机器学习笔记 Day1
- opencv学习笔记[9]:Opencv的基本数据类型和矩阵结构