机器学习算法之正则化

原创 2015年11月17日 15:46:43
>By joey周琦

正则化

假设目标函数为J, 比如J可以是对数似然函数的负数形式,特征i的系数为wi, 系数向量 w=[w1,...,wK],假设一共有K个备选类。 机器学习(分类为例)的目标就是要解决一个优化问题

w=argminwL(w)

而为了避免模型的过拟合(overfitting), 所以需要在这里进行正则化(regularization)[2]。正则化的主要思想就是控制系数|w|的大小,从而控制模型的复杂度,减小过拟合,提高泛化能力,常见的正则化选择有一阶和二阶,如下
二阶(L2):

w=argminwL(w)+α/2k=1Kw2k

一阶(L1):

w=argminwL(w)+αk=1K|wk|

那么在迭代优化时:
L2的更新公式为:

wt+1k=wtkλLwkλαwk

L1的更新公式为:

wt+1k=wtkλLwkλαsgn(wk)

L1 正则化在0处不可导,但是可以采用“次梯度”替代。在batch(批量数据)模式下,L1更容易产生稀疏的解,即很多不重要的特征的系数会比较接近0,所以在从而可以达到特征选择的作用。在梯度下降优化中一般偏导数的公式是一个包含所有样本的加和形式如下

Lwk=n=1NQn

可以看出梯度下降法的一次迭代即要用到所有的训练数据,这样的迭代速度过慢。为了提高更新速度,随机梯度下降法将上述的全量加和梯度,近似为了单样本的梯度如下:

LwkQn

对于凸优化问题,相对于梯度下降法,在学习率适当的收敛和一些温和的假设下,随机梯度下降法更快速接近全局最优解[3]。
在线(online)模式,即以增量的形式更新,数据一条一条过来的时候,梯度下降法的batch模式无法应用 ,而应该使用随机梯度下降法。对于随机梯度下降法,L1正则化也得不到比较稀疏的解。所以在线模式中想要产生稀疏特征,则要利用下面讲的一些在线优化的方法。

在线优化

简单截断法

k为窗口,当t/k不为整数时,进行标准的SGD迭代wt+1k=wtkλLwk(不包含L1 or L2),当t/k为整数时

wt+1k=T0(wtkλLwk)

其中
T0(vi)={0,vi,|vi|θotherwise

其中θ是控制截断的阈值。

截断梯度法(Truncated Gradient, TG)

为了避免上述too aggressive的截断方法,TG采用了一种比较温和的截断方法
k为窗口,当t/k不为整数时,进行标准的SGD迭代wt+1k=wtkλLwk,当t/k为整数时

wt+1k=T1(wtkλLwk)

其中
T1(vi)=max(0,viα),min(0,vi+α),vi,|vi|[0,θ]|vi|[θ,0]otherwise

可以看出TG方法又增加了一个参数α来温和截断,原论文中有一个图可以形象的对比两种截断方法。这里写图片描述

参考
1 在线最优化求解,冯扬
2 wiki, Regularization (mathematics)
3 Stochastic gradient descent - Wikipedia

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

相关文章推荐

正则化方法:L1和L2 regularization、数据集扩增、dropout

本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法。(本文会不断补充)正则化方法:防止过拟合,提高泛化能力在...

谈谈自己对正则化的一些理解~

上学的时候,就一直很好奇,模式识别理论中,常提到的正则化到底

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

正则化(regularization)

正则化(regularization)在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题。大条件数意味着舍入误差或其它误差会严重地影响问...
  • xjbzju
  • xjbzju
  • 2011年07月19日 19:58
  • 35834

译文 | 批量归一化:通过减少内部协变量转移加速深度网络训练

作者:Sergey Ioffe   Christian Szegedy 翻译:七月在线DL翻译组 译者:陈媛媛 管枫 任远航 责编:翟惠良 July 声明:本译文仅供学习交流,...
  • AMDS123
  • AMDS123
  • 2017年03月22日 00:16
  • 7290

online learning,batch learning&批量梯度下降,随机梯度下降

以上几个概念之前没有完全其含义及区别,在本文浅析一下: 一、online learning vs batch learning online learning强调的是学习是实时的,流式的,每次训练...

机器学习--正则化(regularization)防止分类器过拟合

本文参考吴恩达《机器学习》课程。

机器学习中正则化项L1和L2的直观理解

正则化(Regularization)机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作l1-norm和l2-norm,中文称作L1正则化和L2正则化,或者L1...

斯坦福大学机器学习第七课“正则化(Regularization)”

【转自】:http://52opencourse.com/133/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%...

机器学习笔记05:正则化(Regularization)、过拟合(Overfitting)

说明:文章中的所有图片均属于Stanford机器学习课程 (一)过拟合问题(The Problem of Overfitting) 不管是在线性回归还是在逻辑回归中,我们都会遇到过拟合的问题。...
  • Artprog
  • Artprog
  • 2016年04月30日 20:01
  • 5202
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器学习算法之正则化
举报原因:
原因补充:

(最多只允许输入30个字)