点击上方“视学算法”,星标公众号
重磅干货,第一时间送达
作者:草yang年华

一、正则化介绍

问题:为什么要正则化?

  NFL(没有免费的午餐)定理:

    没有一种ML算法总是比别的好

    好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样

    前提:所有问题等概率出现且同等重要

    实际并非如此,具体情况具体分析,把当前问题解决好就行了

    不要指望找到放之四海而皆准的万能算法!

方差和偏差:

  

过拟合与欠拟合:

  训练集和测试集

机器学习目标:

  特定任务上表现良好的算法

  泛化能力强-->验证集上的误差小,训练集上的误差不大(不必追求完美,否则可能会导致过拟合)即可。

如何提升泛化能力:

  (1)数据

    数据和特征是上限,而模型和算法只是在逼近这个上限而已

    预处理:离散化、异常值、缺失值等

    特征选择

    特征提取:pca

    构造新的数据:平移不变性

  (2)模型

    数据中加入噪音

    正则化项:减少泛化误差(非训练误差)

    集成方法

几种训练情形:

  (1)不管真实数据的生成过程---欠拟合,偏差大

  (2)匹配真实数据的生成过程---刚刚好

  (3)不止真实数据的生成过程,还包含其他生成过程---过拟合,方差大

正则的目标:

  从(3)--->(2),偏差换方差,提升泛化能力

注:

  永远不知道训练出来的模型是否包含数据生成过程!

  深度学习应用领域极为复杂,图像、语音、文本等,生成过程难以琢磨

  事实上,最好的模型总是适当正则化的大型模型

正则化是不要的!!!

  XTX不一定可逆(奇异),导致无法求逆(PCA)

  解决:加正则,XTX--->XTX+αI(一定可逆),说明:α--阿尔法,I--大写的i,即单位阵。

  大多数正则化能保证欠定(不可逆)问题的迭代方法收敛

  注:伪逆

二、深度网络正则化

深度网络中的正则化策略有哪些?——传统ML方法的扩展

方法:

  增加硬约束(参数范数惩罚):限制参数,如L1,L2

  增加软约束(约束范数惩罚):惩罚目标函数

  集成方法

  其他

约束和惩罚的目的

  植入先验知识

  偏好简单模型

三、参数范数惩罚

从线性模型说起:

  形式:y=Wx+b

  W:两变量间的相互作用——重点关注

  b:单变量——容易欠拟合,次要

  仿射变换=线性变换+平移变换

参数范数惩罚:

  通常只惩罚权重W,不管b——b是单变量,且容易过拟合

  θ=(W;b)≈(W)

  

  α是惩罚力度,Ω是正则项。

最常见,L2参数范数惩罚:

  权重衰减(weight decay)

  岭回归,Tikhonov正则

形式:

  

效果:

  

  正则项Ω挤占原始目标J的空间,逼迫J

  权重接近于原点(或任意点)

  详细推导过程见P142-P143

L2正则能让算法“感知”到较高方差的输入x

线性缩放每个wi

L1参数范数惩罚:LASSO

形式:

效果:

  L1与L2大不一样:线性缩放wi-->增加wi同号的常数

  某些wi=0,产生稀疏解,常用于特征选择

除了L1,稀疏解的其他方法?

  Student-t先验导出的惩罚

  KL散度惩罚

注:不同于L1惩罚参数,惩罚激活单元

约束范数惩罚:

  本质:约束问题--> 无约束问题

形式:

  参数范数惩罚:

  

  约束范数惩罚:

  

  

  

  

五、数据增强

提升泛化能力的最好办法:

  数据增强:创造假数据

方法:

  (1)数据造假:平移、旋转、缩放——不能改变类别

    图像,语音

  (2)注入噪声

    输入层≈权重参数惩罚

    隐含层:去噪编码器、dropout

    权重:RNN

    输出层:标签平滑(反例)

      softmax永远无法真正预测0或1,需要做平滑,防止走极端

噪声鲁棒性:

  注入噪声远比简单收缩参数强大,特别是加入隐含层

六、早停止

问题

  随着时间推移,训练集误差逐渐减少,而验证集误差再次上升

  能不能在转折点处提前终止呢?

早停止

  当验证集误差在指定步数内没有改进,就停止

  有效,简单,高效的超参选择算法

  训练步数是唯一跑一次就能尝试很多值的超参

第二轮训练策略(验证集)

  (1)再次初始化模型,使用所有数据再次训练

    使用第一轮步数

  (2)保持第一轮参数,使用全部数据继续训练

    避免重新训练高成本,但表现没那么好,不保证终止

早停止为何有正则化效果?

  表象:验证集误差曲线呈U型

  本质:将参数空间限制在初始参数θ0的小邻域内(εt)

    εt等效于权重衰减系数的倒数

    相当于L2正则,但更具优势

    自动确定正则化的正确量

七、参数绑定和参数共享

参数范数惩罚:

  对偏离0(或固定区域)的参数进行惩罚,使用参数彼此接近

  一种方式,还有吗?

参数共享:

  强迫某些参数相等

  优势:只有参数子集需要存储,节省内存。如CNN

 八、集成方法

集成方法:

  集合几个模型降低泛化误差的技术

  模型平均:强大可靠

  kaggle比赛中前三甲基本都是集成方法

Bagging:

  有放回抽样,覆盖2/3

  多个网络的集成

  偏差换方差

Boosting:

  单个网络的集成

  方差换偏差

Dropout:

  集成大量深层网络的bagging方法

  多个弱模型组成一个强模型

  施加到隐含层的掩掩码噪声

  一般5-10个网络,太多会很难处理

示例:

  2个输入,1个输出,2个隐含层

  一共24=64种情形

  问题:大部分没有输入,输入到输出的路径

  网络越宽,这种问题概率越来越小

注:

  不同于bagging,模型独立

  dropout所有模型共享参数

  推断:对所有成员累计投票做预测

效果:

  Dropout比其他标准正则化方法更有效

    权重衰减、过滤器范数约束、稀疏激活

  可以跟其他形式正则一起使用

优点:

  计算量小

  不限制模型和训练过程

注:

  随机性对dropout方法不必要,也不充分

九、对抗训练

人类不易察觉对抗样本与原始样本的差异,但网络可以

小扰动导致数据点流行变化

再次附上:

- END -
如果看到这里,说明你喜欢这篇文章,请转发、点赞。扫描下方二维码或者微信搜索「perfect_iscas」,添加好友后即可获得10套程序员全栈课程+1000套PPT和简历模板向我私聊「进群」二字即可进入高质量交流群。
扫描二维码进群↓


在看 

学习笔记:深度学习中的正则化相关推荐

  1. 学习笔记--深度学习入门--基于Pyrhon的理论与实现--[日]斋藤康毅 -- 持续更新中

    关于这本 "神作" 的简介 这本书上市不到 2 年,就已经印刷 10 万册了.日本人口数量不大,但是却有这么多人读过这本书,况且它不是一本写真集,是实实在在的技术书,让人觉得很不可 ...

  2. 人工智障学习笔记——深度学习(4)生成对抗网络

    概念 生成对抗网络(GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一.模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discrimi ...

  3. 人工智障学习笔记——深度学习(2)卷积神经网络

    上一章最后提到了多层神经网络(deep neural network,DNN),也叫多层感知机(Multi-Layer perceptron,MLP). 当下流行的DNN主要分为应对具有空间性分布数据 ...

  4. 人工智障学习笔记——深度学习(1)神经网络

    一.神经网络 我们所说的深度学习,其最基础最底层的模型称之为"神经网络"(neural network),因为我们希望机器能够像我们人类大脑的神经网络处理事件一样去解决问题,最终达 ...

  5. Matlab深度学习笔记——深度学习工具箱说明

    本文是Rasmus Berg Palm发布在Github上的Deep-learning toolbox的说明文件,作者对这个工具箱进行了详细的介绍(原文链接:https://github.com/ra ...

  6. 学习笔记︱深度学习以及R中并行算法的应用(GPU)

    笔记源于一次微课堂,由数据人网主办,英伟达高级工程师ParallerR原创.大牛的博客链接:http://www.parallelr.com/training/ 由于本人白痴,不能全部听懂,所以只能把 ...

  7. 3Blue1Brown深度学习笔记 深度学习之神经网络的结构 Part 1 ver 2.0

    神经元 3B1B先讨论最简单的MLP(多层感知器),只是经典的原版,就已经能识别手写数字. 这里一开始我们把神经元看作装有数字的容器,装着一个0~1之间的数字.但是最后更准确一些,我们把神经元看作一个 ...

  8. 人工智障学习笔记——深度学习(3)递归神经网络

    传统的神经网络模型中,输入层到隐含层再到输出层他们的层与层之间是全连接的,但是每层之间的节点是无连接的.这样就会造成一个问题,有些情况,每层之间的节点可能是存在某些影响因素的.例如,你要预测句子的下一 ...

  9. 系列笔记 | 深度学习连载(5):优化技巧(下)

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 深度学习中我们总结出 5 大技巧: 本节继续从第三个开始讲起. 3. Early stoppi ...

  10. 系列笔记 | 深度学习连载(6):卷积神经网络基础

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 卷积神经网络其实早在80年代,就被神经网络泰斗Lecun 提出[LeNet-5, LeCun ...

最新文章

  1. 第二课.初识机器学习
  2. 不符合核销规则条件_1136家建筑企业资质核查不符合条件,复查合格率仅50
  3. python request timeout是什么意思_request timeout是什么意思
  4. 《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一2.4 ESXi 5.0的简单设置...
  5. 程序员的福音,AI可以自动修复bug了!
  6. 波卡链Substrate (3)SRML框架
  7. Xcode 7新特性Lightweight Generics 轻量级泛型与__kindof修饰符
  8. php符号教程,PHP教程:网站开发编程中的特殊符号处理_php
  9. poj 3469(网络流模版)
  10. Centos 下PHP编译安装fileinfo扩展
  11. 主板和cpu搭配表_主板和CPU如何搭配?主板和处理器搭配方法
  12. 两轮差速驱动机器人运动模型及应用分析(图片版)
  13. Mac上运行windows,你还在用双系统or虚拟机?
  14. CentOS忘记root登录密码
  15. 数百Windows XP系统文件一一诠释(转)
  16. maven集成tomcat7
  17. 《统计学》第八版贾俊平第九章分类数据分析知识点总结及课后习题答案
  18. 微信小程序在线考试项目开发-注册登录功能
  19. 李宏毅2022机器学习hw4
  20. 《算法笔记》学习日记——5.2 最大公约数与最小公倍数5.3 分数的四则运算5.4 素数

热门文章

  1. 广东电大计算机绘图试题,电大计算机绘图期末复习试题及答案参考小抄.doc
  2. 简介+原理+绘制,详解 Python「瀑布图」的整个制作流程!
  3. AI 还原康乾盛世三代皇帝的样貌,简直太太太好玩了!
  4. 支付宝账单出来后,除了总消费,你看到你的学习支出了吗?
  5. CTA核心技术及应用峰会开幕!(附第二日参会攻略)
  6. 一文搞懂K近邻算法(KNN),附带多个实现案例
  7. 双十一,程序员前女友发来消息。。。
  8. 高逼格的 SQL 写法:行行比较
  9. 阿里面试题:分库分表无限扩容后的瓶颈以及解决方案
  10. 轻松两步,我在 SpringBoot 服务上实现了接口限流