文章目录
- 1. 梯度下降[线搜索方法]
- 1.1 线搜索方法,运用一阶导数信息
- 1.2 经典牛顿方法,运用二阶导数信息
- 2. hessian矩阵和凸函数
- 2.1 实对称矩阵函数求导
- 2.2. 线性函数求导
- 3. 无约束条件下的最值问题
- 4. 正则化
- 4.1 定义
- 4.2 性质
- 5. 回溯线性搜索法
1. 梯度下降[线搜索方法]
我们之前经常用到的梯度下降,
1.1 线搜索方法,运用一阶导数信息
- 迭代公式:
x k + 1 = x k − s k ∇ f ( x k ) \begin{equation} x_{k+1}=x_k-s_k\nabla f(x_k) \end{equation} xk+1=xk−sk∇f(xk) - 步长: s k s_k sk,也叫学习率
- 方向: − ∇ f ( x k ) -\nabla f(x_k) −∇f(xk)负梯度方向
1.2 经典牛顿方法,运用二阶导数信息
详细推导请点击链接
- 迭代公式:
x k + 1 = x k − [ H j k ] − 1 ∇ f ( x ) \begin{equation} x_{k+1}=x_k-[H_{jk}]^{-1}\nabla f(x) \end{equation} xk+1=xk−[Hjk]−1∇f(x) - 步长: s k = 1 s_k=1 sk=1,把步长和方向结合起来放到方向里面去了。
- 方向:
hessian matrix 可逆时
[ H j k ] − 1 ∇ f ( x ) [H_{jk}]^{-1}\nabla f(x) [Hjk]−1∇f(x)
2. hessian矩阵和凸函数
- 如果
hessian matrix
H j k H_{jk} Hjk是半正定矩阵[positive semi-definite]
或正定矩阵[positive definite]
可得为函数是一般凸函数
- 如果
hessian matrix
H j k H_{jk} Hjk是正定矩阵[positive definite]
可得为函数是强凸函数
2.1 实对称矩阵函数求导
假设我们有一个实对称矩阵S和二次型函数表示如下:
S
=
[
1
0
0
b
]
,
f
(
x
)
=
1
2
x
T
S
x
=
1
2
(
x
2
+
b
y
2
)
\begin{equation} S=\begin{bmatrix}1&0\\\\0&b\end{bmatrix},f(x)=\frac{1}{2}x^TSx=\frac{1}{2}(x^2+by^2) \end{equation}
S=
100b
,f(x)=21xTSx=21(x2+by2)
- 矩阵S的特征值,条件数
κ
(
S
)
\kappa(S)
κ(S)分别表示如下,假设
b
<
1
b<1
b<1:
λ max = 1 , λ min = b , κ ( S ) = 1 b \begin{equation} \lambda_{\max}=1,\lambda_{\min}=b,\kappa(S)=\frac{1}{b} \end{equation} λmax=1,λmin=b,κ(S)=b1 - 通过
f
(
x
)
f(x)
f(x)函数可以明显看出最小值点为(0,0)
arg min x ∗ = 0 f ( x ) = 0 \begin{equation} \argmin \limits_{x^*=0}f(x)=0 \end{equation} x∗=0argminf(x)=0 - 函数一阶导数如下:
d f ( x , y ) d X = d 1 2 X T S X d X = S X = [ 1 0 0 b ] [ x y ] = [ x b y ] \begin{equation} \frac{\mathrm{d}f(x,y)}{\mathrm{d}X}=\frac{\mathrm{d}\frac{1}{2}X^TSX}{\mathrm{d}X}=SX=\begin{bmatrix}1&0\\\\0&b\end{bmatrix}\begin{bmatrix}x\\\\y\end{bmatrix}=\begin{bmatrix}x\\\\by\end{bmatrix} \end{equation} dXdf(x,y)=dXd21XTSX=SX= 100b xy = xby - 函数二阶导数如下:
d 2 f ( x , y ) d X 2 = S = [ 1 0 0 b ] \begin{equation} \frac{\mathrm{d}^2f(x,y)}{\mathrm{d}X^2}=S=\begin{bmatrix}1&0\\\\0&b\end{bmatrix} \end{equation} dX2d2f(x,y)=S=