机器学习——凸优化

一、计算几何

(一)计算几何的定义

计算几何是指的对几何外形信息的计算机表示、分析和综合。

  1. 几何外形信息
    那些用来确定某些几何外形的离散数据点或特征多边形
  2. 计算机表示
    按照给定的信息,建立一定的数学模型,再通过计算机进行计算,求得其他所需的信息
  3. 分析和综合
    对所建立的数学模型特性及误差等进行分析、综合,以便逼真地反映出几何形体

(二)直线的表达方式

  1. 初中数学表达
    直线l上的两点P1、P2的坐标分别为(x1,y1)、(x2,y2),且(x1≠x2),所以直线l的斜率 K = y 2 − y 1 x 2 − x 1 { K=\frac{y_2-y_1}{x_2-x_1}} Kx2x1y2y1
    在直线l上任意取一点P(x,y),将直线l的斜率K,P点的坐标代入直线的点斜式方程 y − y 1 = k ( x − x 1 ) {y-y_1=k(x-x_1)} yy1=k(xx1)中得
    y − y 1 = y 2 − y 1 x 2 − x 1 ∗ ( x − x 1 ) { y-y_1=\frac{y_2-y_1}{x_2-x_1}*(x-x_1)} yy1=x2x1y2y1(xx1)
    即直线 l 的两点式方程 y − y 1 y 2 − y 1 = x − x 1 x 2 − x 1 { \frac{y-y_1}{y_2-y_1}=\frac{x-x_1}{x_2-x_1}} y2y1yy1x2x1xx1
  2. 计算几何表达(凸集)
    直线的表示(x1≠x2)
    y = θ x 1 + ( 1 − θ ) x 2 {y=θx_1 +(1−θ)x _2} y=θx1+(1θ)x2
  3. 两者的对比
    初中数学表达上能够表示二维空间下,除坐标轴以外的其他直线,是学习空间几何的起点。计算几何表式能够表示n维欧式空间内所有的两个点连成的直线,扩大了表示的维度,更具有泛化性。

二、凸集

(一)凸集的定义

  1. 凸集
    凸集(convex set)是在凸组合下闭合的仿射空间的子集。
    更具体地说,在欧氏空间中,凸集是对于集合内的每一对点,连接该对点的直线段上的每个点也在该集合内。(任何中空的或具有凹痕的都不是凸集)
  2. 仿射集
    仿射集亦称仿射流形、线性流形、仿射簇,是实线性空间中的一类子集。
    非空间射集 M 的维数定义为上述子空间 L 的维数。空集的维数定义为-1。维数分别为0、1,以及2的仿射集为点、直线和平面。

    直线是凸集,也是仿射集

(二)平面的表达

  1. 点法式方程
    法向量n=(A,B,C),平面上的点 M 0 ( x 0 , y 0 , z 0 ) {M_0(x_0,y_0,z_0)} M0x0,y0,z0)
    A ( x − x 0 ) + B ( y − y 0 ) + C ( z − z 0 ) = 0 {A(x-x_0)+B(y-y_0)+C(z-z_0)=0} A(xx0)+B(yy0)+C(zz0)=0
  2. 一般方程
    A x + B y + C z + D = 0 {Ax+By+Cz+D=0} Ax+By+Cz+D=0
  3. 截距型方程
    平面上的点A(a,0,0),B(0,b,0),C(0,0,c)
    x a + y b + z c = 0 {\frac{x}{a}+\frac{y}{b}+\frac{z}{c}=0} ax+by+cz=0

(三)超平面的表达

  1. 超平面定义
    超平面是指n维线性空间中维度为n-1的子空间。它可以把线性空间分割成不相交的两部分。比如二维空间中,一条直线是一维的,它把平面分成了两块;三维空间中,一个平面是二维的,它把空间分成了两块。
  2. 超平面公式
    法向量 ω {\omega} ω,常数b
    公式: ω T x + b = 0 {\omega^Tx+b=0} ωTx+b=0
    详细内容,请参考下面链接:
    https://www.jianshu.com/p/ba02b92baaaf

三、凸函数

(一)凸函数的定义

凸函数是一个定义在某个向量空间的凸子集C上的实值函数f,而且对于凸子集C中任意两个向量x1、x2有 f ( x 1 + x 2 2 ) ≥ f ( x 1 + x 2 ) 2 { f(\frac{x_1+x_2}{2})\geq\frac{f(x_1+x_2)}{2}} f(2x1+x2)2f(x1+x2)成立。

(二)Hessian Matrix 矩阵

Hessen矩阵是是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率,利用Hessian矩阵可判定多元函数的极值问题

(三)凸函数的判别

  1. 对于一元函数f(x),我们可以通过其二阶导数f′′(x)的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数
  2. 对于多元函数f(X),我们可以通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数
  3. 判别 f ( x ) = x 3 {f(x)=x^3} f(x)=x3函数是否为凸函数
    ①对f(x)求二阶导
    y’’=6x
    ②判断二阶导的值
    x>0, y’‘非负,x<0 y’'为负,所以函数不是凹函数。

四、凸规划

(一)凸规划的定义

在这里插入图片描述

(二)凸规划问题的判别

  1. 判断f(x)是否为凸函数
  2. 判断不等式约束函数是否为凸函数
  3. 举例说明
    { m i n f ( x ) = x 1 2 + x 2 2 − 4 x 1 + 4 g 1 ( x ) = − x 1 + x 2 − 2 ≤ 0 g 2 ( x ) = x 1 2 − x 2 + 1 ≤ 0 x 1 , x 2 ≥ 0 \begin{cases} minf(x)=x_1^2+x_2^2-4x_1+4\\ g_1(x)=-x_1+x_2-2\leq 0\\ g_2(x)=x_1^2-x_2+1\leq 0\\ x_1,x_2\geq 0\\ \end{cases} minf(x)=x12+x224x1+4g1(x)=x1+x220g2(x)=x12x2+10x1x20
    判断过程
    在这里插入图片描述
    对于正定和半正定矩阵的判断,请参考下面链接
    https://blog.csdn.net/u010420283/article/details/83660450

五、参考资料

  1. 机器学习必备知识点——凸优化
  2. 凸优化基础知识
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值