码迷,mamicode.com
首页 > 编程语言 > 详细

优化算法——截断梯度法(TG)

时间:2015-08-28 00:51:02      阅读:983      评论:0      收藏:0      [点我收藏+]

标签:tg   截断梯度法   优化算法   

一、L1正则的表达形式

   在机器学习中,几乎无人不知无人不晓L1正则与L2正则,L1正则与L2正则都有参数控制的作用,对模型起到约束的作用,防止过拟合。但是L1正则与L2正则也有区别,L1正则更容易产生稀疏解,使得某些参数等于0,而L2正则却没有这样的优势,只能使得参数趋近于0。利用这样的优势可以使得L1具有特征选择的作用,若某些特征的系数为0表示该维特征对于模型没什么作用,故此可以丢弃。

   L1正则与L2正则相比具有了更多的优点,同时,L1正则的优化相对L2正则来讲,也变得更加难。对于L2正则,由于正则项是可导的,因此博客中的基于梯度的优化算法,如梯度下降法,牛顿法,拟牛顿法(DFP算法,BFGS算法,L-BFGS算法)都可以直接用于求解带有L2正则的优化问题。L1正则项是不可导的,因此前面的这些算法无法直接对其进行求解,因此需要对其进行修改才能用来求解带有L1约束的优化问题。带有L1正则的表达式主要有以下两种:

1、convex-constraint formulation

技术分享

技术分享

其中,技术分享表示损失函数

2、soft-regularization

技术分享

当选择合适的参数技术分享时,正两种表达形式是等价的。

二、处理大数据的方法

    由于数据量比较大,可能已经超出了内存的大小,此时无法将数据全部装入到内存中参与计算,主要有两种方法处理大数据问题
  1. 在很多机器上并行批学习
  2. 利用流式的在线学习

1、流式在线学习的流程

    本文所要介绍的截断梯度法(Truncated Gradient)是采用的第二种策略。流式的在线学习算法的流程大致为:
  1. 对于一个样本技术分享到达后;
  2. 我们利用计算好的权重向量技术分享计算出样本技术分享对应的输出技术分享
  3. 对于样本技术分享的实际标签技术分享,令技术分享,计算出权重技术分享下的损失技术分享
  4. 根据某种策略更新现在的权重:技术分享

2、随机梯度下降法

    随机梯度下降(Stochastic Gradient Descent)是最简单的在线学习算法,其基本的更新策略为:
技术分享
其中,技术分享表示学习率,通常可以取为某个常数:

技术分享

也可以取为迭代代数的函数:

技术分享

其中,技术分享表示当前的迭代代数。

三、截断梯度法(Truncated Gradient)

       正如上面所讲,L1正则可以使得某些特征的系数为0,具有特征选择的能力,这便称为稀疏性(Sparsity)L1正则能够产生稀疏的解。为了能够在利用在线学习的同时产生稀疏解,最直接的想法是采用截断的方法,截断,即通过某个阈值来控制系数的大小,若系数小于某个阈值便将该系数设置为0,这便是简单截断的含义。

1、简单截断(Simple coefficient Rounding)

    简单截断的含义是给定某个阈值技术分享,在在线学习的过程中,没隔技术分享步进行一次截断,截断是指将小于阈值技术分享的系数直接赋值为0,具体的形式如下:

技术分享

其中,技术分享表示的是阈值,函数技术分享的具体形式如下所示:

技术分享

其中,技术分享是指示性函数,其具体形式如下:

技术分享

该方法的主要缺点是对于技术分享值得选择是很难解决的问题,其次是通过简单截断,有点太暴力。

2、L1-Regularized Subgradient(次梯度)

       有关次梯度的概念将会在另一篇文章中涉及,L1-Regularized Subgradient形式也比较直观,具体的形式如下:

技术分享

其中,函数技术分享是一个符号函数,其具体形式如下:

技术分享

这样的次梯度的方法的主要缺点是在很少的情况下能够产生稀疏的解,主要的原因是前后两部分做加减法能够等于0的概率很小。

3、截断梯度法(Truncated Gradient)

       在简单截断方法中,直接的截断太过于暴力,在截断梯度法中,将截断的步骤适当放缓,其具体的更新公式如下:

技术分享

其中,技术分享称为重力参数(gravity parameter)截断函数技术分享的具体形式如下:

技术分享

与简单截断类似,每隔技术分享次对参数技术分享进行更新,其更新公式如下:

技术分享

其中,技术分享。可以通过调节参数技术分享和参数技术分享控制稀疏度,参数技术分享和参数技术分享越大,解越稀疏。

参考文献

[1] Sparse Online Learning via Truncated Gradient

版权声明:本文为博主原创文章,未经博主允许不得转载。

优化算法——截断梯度法(TG)

标签:tg   截断梯度法   优化算法   

原文地址:http://blog.csdn.net/google19890102/article/details/47422821

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!