无约束凸优化算法

1. 对于一个二分类的算法, 我们一般是找到一个决策边界函数h(x), 当h(x) < 0 则是属于类I, 当h(x)>0则是属于类II,

    当h(x)=0则处于边界上。

    即是, 我们用一个符号函数来表示:

   sgn(z) = 0,±1   {当z<0为-1, z=0为0, z>0为+1}

   这样, 决策函数算法就是 sgn(h(x))

   即是将决策边界函数的值域归一到±1.

 

2. 为了求得最佳的决策边界函数, 我们需要对经验误差的最小值,

    但是, 由sgn所定义的误差函数是离散的,不可导的, 因而很不便。

    于是人们放弃直接使用sgn, 而是寻找其他的可导函数来计算即时经验误差。

    显然, 即时经验误差是一个关于x(样本值)和y(样本标注, ±1)的函数。

    最常用的是以下三个:

    logistic损失:  ln(1+ exp(-y × h(h)))

    hinge损失:  max(0, 1-y×h(h))

    指数损失: exp(-y×h(h))

    在以上的算法中, 都出现了 -y×h(h), 这是因为, 当这个值大于0, 表示标注正确, 小于0表示标注错误.

 

3. 对于函数类F中的一个函数f, 当我们把一个定义的即时误差函数应用于, 训练集的所有元素, 然后加起来除以N(数学期望),

    就可以得到这个函数f对应的经验误差。

    如果对所有函数都执行这样的运算, 则得到一个函数, 表示各个函数的经验误差。 然后我们就可以找出最小的那一个。

    但是实际操作中, 对又有函数都直接算出经验误差是不可行的。

    假如F中的各个函数f是通过参数w来相互区分的, 则这个误差函数中就是一个关于w的函数L(w).

    显然, 这个函数是和函数类F的形式(h(x))和误差函数的形式(logistic等)有关的。

    如果按照上面样子, 则是和 -y×h(x) 和 误差函数的形式 相关。

    求得经验误差取最小值时候的w, 则直接得到对应的函数f,   即是边界 h(x) = F<w>(x)

    理论上讲w可以是“任何形式的”数据, 但是那样的话, 我们又会回到很难求最小值的困境。

    所以, 一般w是一个实数或者向量。

 

4. 如果最后得到的损失函数是凸的, 并且连续二阶可导,

    则在最小值(w*)附近可以用一个局部二次逼近来近似。

    当w是一个向量, 则可以把向量的每个分量看做一个变量, 这样误差函数就成为一个多元函数。

    在使用泰勒展开的时候,

    一阶导数需要用到梯度▽ (各个(多元)变量的偏导组成的向量),

    二阶导数需要到黑塞矩阵(Hessian Matrix, 海森矩阵、海瑟矩阵、海塞矩阵)(二阶偏导矩阵)。

    (同理,三阶就需要用到三阶张量了)。

    一般只用到二阶导数近似。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值