机器学习中的优化算法 第二课

机器学习中的优化算法 第二课


算法收敛的速度:

序列误差为\mathbf{e}_{k}=\mathbf{x}_{k}-\mathbf{x}^{*}

如果复合下面的关系,就称作是Q线性的:\lim _{k \rightarrow \infty} \frac{\left\|\mathbf{e}_{k+1}\right\|}{\left\|\mathbf{e}_{k}\right\|^{r}}=C, \quad(C<\infty)

如果r=1,C在0,1之间,那么就是线性。C是0就是超线性,C是1就是次线性。

如果r≥2.就是高次收敛。


解决给定的问题时候计算量是守恒的,如果需要更少的迭代次数,那么势必每一步的计算会更复杂。




对于梯度的定义,就是domain是什么形状的(scalar,vector,matrix),那么对每个分量求导之后放到相应的形状里面。

这样子就可以做内积。


例子:对于f(\mathbf{X})=\|\mathbf{X}\|_{F}^{2}函数求梯度,那么就是\nabla f=2X

          对于f(\mathbf{X})=\log \operatorname{det} \mathbf{X},那么\nabla f(\mathbf{X})=\mathbf{X}^{-1}





链式法则例子:

如果f: \mathbb{R}^{n} \rightarrow \mathbb{R}, g: \mathbb{R} \rightarrow \mathbb{R}, \text { and } h(\mathbf{x})=g(f(\mathbf{x})),那么\nabla h(\mathbf{x})=g^{\prime}(f(\mathbf{x})) \nabla f(\mathbf{x})

二阶导数:\nabla^{2} h(\mathbf{x})=g^{\prime}(f(\mathbf{x})) \nabla^{2} f(\mathbf{x})+g^{\prime \prime}(f(\mathbf{x})) \nabla f(\mathbf{x}) \nabla f(\mathbf{x})^{T}

如果g(\mathbf{x})=f(\mathbf{A} \mathbf{x}+\mathbf{b}),那么\nabla g(\mathbf{x})=\mathbf{A}^{\top} \nabla f(\mathbf{A} \mathbf{x}+\mathbf{b})

二阶导数:\nabla^{2} g(\mathbf{x})=\mathbf{A}^{\top} \nabla^{2} f(\mathbf{A} \mathbf{x}+\mathbf{b}) \mathbf{A}




求梯度,hessian的一个方法:

利用展开的式子:

如果可以做相应的展开,就能写出一阶导数和二阶导数:

例子


它的二阶导数不那么容易写出来,因为是四阶的张量。





三类型的矩阵诱导范数:

1.\|\mathbf{A}\|_{1}=\max _{j} \sum_{i}\left|A_{i j}\right|最大行绝对值和范数,由l1范数诱导

2.\|\mathbf{A}\|_{\infty}=\max _{i} \sum_{j}\left|A_{i j}\right|最大列绝对值和范数,由l无穷范数诱导

3.\|\mathbf{A}\|_{2}=\sigma_{1}(\mathbf{A}) l2范数诱导




核范数:

矩阵的核范数是所有奇异值的和。

基于下面的理由,核范数经常用来接近矩阵的秩。

核范数相关的几个范数有比较不等式:

1. \|\mathbf{A}\|_{2} \leq\|\mathbf{A}\|_{F} \leq\|\mathbf{A}\|_{*}\\
2. \|\mathbf{A}\|_{2} \leq \sqrt{\|\mathbf{A}\|_{1}\|\mathbf{A}\|_{\infty}}



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容