优化问题

作者: 9933fdf22087 | 来源:发表于2019-06-21 11:26 被阅读2次

优化问题

凸优化

1.基本概念:

定义:函数L(\cdot)是凸函数当且仅当对定义域中的任意两点x,y和任意实数\lambda\in[0,1]总有L(\lambda x+(1-\lambda) y) \leqslant \lambda L(x)+(1-\lambda) L(y)

直观解释:凸函数曲面上任意两点的连线而成的线段,其上的任意一点都不会处于该函数曲面的下方。


image.png

2.实例讲解:

对于二分类问题,Y=\{1,-1\},假设模型参数为\theta,则逻辑回归的优化问题为:

\min _{\theta} L(\theta)=\sum_{i=1}^{n} \log \left(1+\exp \left(-y_{i} \theta^{\mathrm{T}} x_{i}\right)\right)

可以通过计算目标函数的二阶Hessian矩阵来验证:

L_{i}(\theta)=\log \left(1+\exp \left(-y_{i} \theta^{\top} x_{i}\right)\right)

对该函数求一阶导,得到:

\begin{aligned} \nabla L_{i}(\theta) &=\frac{1}{1+\exp \left(-y_{i} \theta^{\mathrm{T}} x_{i}\right)} \exp \left(-y_{i} \theta^{\mathrm{T}} x_{i}\right) \cdot\left(-y_{i} x_{i}\right) \\ &=\frac{-y_{i} x_{i}}{1+\exp \left(y_{i} \theta^{\mathrm{T}} x_{i}\right)} \end{aligned}

继续求导,得到函数的Hessian矩阵:
\begin{aligned} \nabla^{2} L_{i}(\theta) &=\frac{y_{i} x_{i} \cdot \exp \left(y_{i} \theta^{\mathrm{T}} x_{i}\right) \cdot y_{i} x_{i}^{\mathrm{T}}}{\left(1+\exp \left(y_{i} \theta^{\mathrm{T}} x_{i}\right)\right)^{2}} \\ &=\frac{\exp \left(y_{i} \theta^{\mathrm{T}} x_{i}\right)}{\left(1+\exp \left(y_{i} \theta^{\mathrm{T}} x_{i}\right)\right)^{2}} x_{i} x_{i}^{\mathrm{T}} \end{aligned}

该矩阵满足半正定的性质\nabla^{2} L_{i}(\theta) \succeq 0,因此\nabla^{2} L(\theta)=\sum_{i=1}^{n} \nabla^{2} L_{i}(\theta) \geq 0,函数L(\cdot)为凸函数。对于凸优化问题,所有的局部极小值都是全局极小值。

主成分分析对应的优化问题是非凸优化问题。令X=\left[x_{1}, \ldots, x_{n}\right]为数据中心后构成的矩阵,则主成分分析的优化问题为\min _{V V^{T}=I_{k}} L(V)=\left\|X-V^{T} V X\right\|_{F}^{2},通过凸函数的定义可以验证该优化问题的目标函数为非凸函数。令V^*为优化问题的全局极小值,则-V^*也是该问题的全局极小值,且有:
\begin{aligned} L\left(\frac{1}{2} V^{*}+\frac{1}{2}\left(-V^{*}\right)\right)=L(0) &=\|X\|_{\mathrm{F}}^{2}>\left\|X-V^{* \mathrm{T}} V^{*} X\right\|_{\mathrm{F}}^{2} \\ &=\frac{1}{2} L\left(V^{*}\right)+\frac{1}{2} L\left(-V^{*}\right) \end{aligned}

这不满足凸函数的定义,因此主成分分析的优化问题为非凸优化问题。

3.知识补充:

定义:设A是实对称矩阵。如果对任意的实非零列向量xx^TAx≥0,就称A为半正定矩阵。如果x^TAx>0,则为正定矩阵。
几何解释:正定/半正定矩阵A指的是一个向量经过A的变化后的向量与其本身的夹角小于/小于等于90度。

实数矩阵与其转置矩阵相乘为半正定矩阵,如果可逆,则为正定矩阵。

一些明显的凸函数:

  1. 指数函数是凸函数;
  2. 对数函数是凹函数,然后负对数函数就是凸函数;
  3. 对于一个凸函数进行仿射变换,可以理解为线性变换,结果还是凸函数;
  4. 二次函数是凸函数(二次项系数为正);
  5. 高斯分布函数是凹函数;
  6. 多个凸函数的线性加权,如果权值是大于等于零的,那么整个加权结果函数是凸函数。

相关文章

  • 凸优化-概述

    参考教材《凸优化》,参考视频2011中科大凌青《最优化理论》 一.数学优化 1.定义 数学优化问题或者说是优化问题...

  • 从View的工作原理介绍Android view的性能优化

    在开发过程中,经常会接触到“性能优化”这个问题,比如内存优化、网络优化、视图优化。为了解决优化内存和网络问题,通常...

  • 数学优化问题(最优化问题)

      数学优化(Mathematical Optimization)问题,也叫最优化问题,是指在一定约束条件下,求解...

  • 优化方法基础系列-优化问题分类

    最优化问题可以按照优化问题的状态来进行分类,可分了两类,即静态问题和动态问题。本优化方法系列主要从静脉问题方面进行...

  • SVM-part1-KKT条件

    从三类优化问题开始: 1 无约束优化。 2 带等式约束带优化。 3 不等式约束优化。 而SVM的优化问题,即不等式...

  • 拉格朗日对偶

    Lagrange优化问题:   标准形式的优化问题(原问题):      其中,自变量。设问题的定义域是非空集...

  • 优化问题

    我们通常建议创业公司选择一个他们能够达到的增长速率,然后每周要做的只是尽力去完成它。关键的一个词是「只是」。如果他...

  • 优化问题

    优化问题 凸优化 1.基本概念: 定义:函数是凸函数当且仅当对定义域中的任意两点x,y和任意实数总有 直观解释:凸...

  • iOS的优化

    面试的时候,优化的问题,问的挺多的iOS的优化分为很多,卡顿优化,耗电优化,启动优化,网络优化等 卡顿优化 首先的...

  • 前端性能优化-开篇

    前端性能优化问题是每个前端需要掌握的技术。这篇文章从渲染优化、代码优化、资源优化、构建优化、传输加载优化、更多流行...

网友评论

    本文标题:优化问题

    本文链接:https://www.haomeiwen.com/subject/eglhqctx.html