正则化方法(regularization)

是特征选择方法的一部分,也常用来克服过拟合问题(overfit)。

嵌入式选择:

正则化的特征选择的优势是,在机器学习的过程中同时完成特征选择(与过滤式和包裹式相比)

1 L1正则化: 也称为LASSO,代价函数如下,第二项是penalty term, 采用L1 - norm(有一个额外的好处,更容易得到稀疏解(Wi出现更多零项,原因见图3))


比原始的更新规则多出了η * λ * sgn(w)/n这一项。当w为正时,更新后的w变小。当w为负时,更新后的w变大——因此它的效果就是让w往0靠,使网络中的权重尽可能为0,也就相当于减小了网络复杂度,防止过拟合。

另外,上面没有提到一个问题,当w为0时怎么办?当w等于0时,|W|是不可导的,所以我们只能按照原始的未经正则化的方法去更新w,这就相当于去掉ηλsgn(w)/n这一项,所以我们可以规定sgn(0)=0,这样就把w=0的情况也统一进来了。(在编程的时候,令sgn(0)=0,sgn(w>0)=1,sgn(w<0)=-1)

2 L2正则化: 也称为ridge regression 岭回归, 惩罚项采用L2 - norm


L2正则化项有让w“变小”的效果,w“变小”可以防止overfitting?一个所谓“显而易见”的解释就是:更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀),而在实际应用中,也验证了这一点,L2正则化的效果往往好于未经正则化的效果。当然,对于很多人(包括我)来说,这个解释似乎不那么显而易见,所以这里添加一个稍微数学一点的解释(引自知乎):

过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。

3 Dropout

L1 L2 正则化是通过修改cost function 对抗overfit, 而dropout法是通过修改神经网络本身实现的

在训练开始时,随机的删除一半隐藏层节点, 而在下一次迭代中,随机地重新删除隐藏层节点。。。直至结束

运用了dropout的训练过程,相当于训练了很多个只有半数隐层单元的神经网络(后面简称为“半数网络”),每一个这样的半数网络,都可以给出一个分类结果,这些结果有的是正确的,有的是错误的。随着训练的进行,大部分半数网络都可以给出正确的分类结果,那么少数的错误分类结果就不会对最终结果造成大的影响。故可以解决overfit问题。

4 数据集扩增 data augmentation

“有时候不是因为算法好赢了,而是因为拥有更多的数据才赢了。”

不记得原话是哪位大牛说的了,hinton?从中可见训练数据有多么重要,特别是在深度学习方法中,更多的训练数据,意味着可以用更深的网络,训练出更好的模型。

既然这样,收集更多的数据不就行啦?如果能够收集更多可以用的数据,当然好。但是很多时候,收集更多的数据意味着需要耗费更多的人力物力,有弄过人工标注的同学就知道,效率特别低,简直是粗活。

所以,可以在原始数据上做些改动,得到更多的数据,以图片数据集举例,可以做各种变换,如:

将原始图片旋转一个小角度

添加随机噪声

一些有弹性的畸变(elastic distortions),论文《Best practices for convolutional neural networks applied to visual document analysis》对MNIST做了各种变种扩增。

截取(crop)原始图片的一部分。比如DeepID中,从一副人脸图中,截取出了100个小patch作为训练数据,极大地增加了数据集。感兴趣的可以看《Deep learning face representation from predicting 10,000 classes》.

更多数据意味着什么?

用50000个MNIST的样本训练SVM得出的accuracy94.48%,用5000个MNIST的样本训练NN得出accuracy为93.24%,所以更多的数据可以使算法表现得更好。在机器学习中,算法本身并不能决出胜负,不能武断地说这些算法谁优谁劣,因为数据对算法性能的影响很大。

部分转自:http://blog.csdn.net/u012162613/article/details/44261657
细节见西瓜书 P252

UConn DataMining Math5671 课程小记 知识点:正则化方法相关推荐

  1. Uconn DataMining Math5671 课程小记(1)

    安装部分: 1 学习tensorflow 框架 2 安装anacoda --> jupyter notebook 3 安装 tensorflow, 发现python版本3.8, 不支持(pip需 ...

  2. UConn DataMining Math5671 课程小记(2)

    课程部分 主要讲 Nueral Network 原理,及数学和算法背景(略) 作业部分 Kaggle 的 Imbalance data 项目分析–Credit Card Fraud Detection ...

  3. 1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.7 理解 Dropout 回到目录 1.9 归一化输入 其他正则化方法 (Other Regularization Methods) 除了 L2L2L2 正则化和随机失活 ...

  4. 计算机课授课方法有哪些,计算机课程教学模式与方法

    虽然计算机应用于计算机教学已经得到一定程度上的专注于重视,但是目前在计算机课程教学中显露出一些问题,相关教学模式与方法的选择设置与实施仍有较大的改进空间.1计算机课程教学模式中存在的问题1.1传统教学 ...

  5. 【概率论与数理统计(研究生课程)】知识点总结8(假设检验)

    原文地址: [概率论与数理统计(研究生课程)]知识点总结8(假设检验) 目录 假设检验 依据 方法(概率论反证法) 逻辑 两类错误 第一类错误 第二类错误 解题步骤 以单正态总体均值 μ \mu μ双 ...

  6. 人工智能算法模型必会之——正则化方法综述

    https://www.toutiao.com/a6718749367164994055/ 什么是正则化? 首先英文原文为regularization,直译应为规则化,简单来说就是对模型加入规则,加入 ...

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

    https://www.toutiao.com/a6704868049352131080/ 为什么要使用正则化 我们先回顾一下房价预测的例子.以下是使用多项式回归来拟合房价预测的数据: 正则化方法:防 ...

  8. 正则化方法之DropBlock

    参考:https://blog.csdn.net/qq_14845119/article/details/85103503 正则化方法之DropBlock 论文: DropBlock: A regul ...

  9. 正则化方法/防止过拟合提高泛化能力的方法:L1和L2 regularization、数据集扩增、dropout

    转载自:http://blog.csdn.net/u012162613/article/details/44261657 本文是<Neural networks and deep learnin ...

最新文章

  1. 那些年,面试被虐过的红黑树
  2. MySQL数据库优化总结
  3. AI理论知识基础(23)-齐次坐标
  4. jQuery 阻止冒泡和默认事件
  5. mysql 备份 索引_mysql-索引、导入、导出、备份、恢复
  6. python类的魔法方法基础
  7. Javascript深入理解构造函数和原型对象
  8. 使用jpa报No query defined for that name错误
  9. 运筹说 第4期|掌握运筹学软件,走遍天下都不怕
  10. VB.net小技巧——VB中调用matlab
  11. 线性与非线性规划:可行方向法
  12. 编解码学习笔记(七):微软Windows Media系列
  13. 图计算库 igraph 在 windows 10 上的编译安装
  14. 神舟GX8的强冷模式,其他神船伙伴也可以试一试
  15. 计算机专业评副高需要发论文吗,评副高论文有没有要求字数多少
  16. JN项目-app首页订票功能实现
  17. 【JAVA - ArrayList】炸金花的模拟实现流程(买牌,洗牌,发牌)
  18. 地产爆雷,洋河“出局”
  19. php tcpdf基类,php – 使用TCPDF创建大型PDF的最有效方法是什么?
  20. 这样的老板,真想把他拖进WC爆zou一顿.....

热门文章

  1. Unity动态绘制多边形
  2. JAVA生成阿里云直播推流和拉流
  3. 英语情景对话计算机专业,英语情景对话 寒假生活 5人
  4. COPC酞菁钴,cAS号:3317-67-7磺化酞菁钴 催化剂 深蓝色粉末 磺化酞菁钴
  5. 达梦dm8可视化工具_DM8(达梦8)数据库安装和使用
  6. 一个请求式分页存储管理系统中计算机应用,操作系统概论自考2012年7月真题
  7. Typora+PicGo+阿里云OSS实现图片上传功能
  8. 在PyCharm中大型数据集indexing...加载缓慢的问题
  9. 如何在移动钱包中搭建一个小程序应用商店
  10. clip和clip-path inset