当前位置: 首页 > news >正文

【MLF Week 7 上】Overfitting和Regularization

过拟合和正则化

Bad generalization指的是一个状态,在这个VC维下,Error_in小,Error_out大。

Overfitting指的是一个过程,在VC维变大过程中,Error_in变小,Error_out变大。

Overfitting(过拟合)指的是当VC维很大时,学到的MODEL不能很好的举一反三。在训练数据上取得很好的效果,但是对于训练数据以外的其他数据(如测试数据),预测结果与实际值差别很大。

 

导致Overfitting的因素有:

(1)use excessive d_vc。使用的Hypothesis的model complexity过大

(2)noise。训练数据的noise过大

(3)limited data size N。训练数据量太小

如何解决Overfitting:

(1)start from simple model。优先选择简单的model进行训练

(2)data cleaning/pruning。使得训练数据更为精确,减少noise的影响

(3)data hinting。从现有训练数据或对问题的了解产生新的训练数据

(4)regularization

(5)validation

 

data cleaning/pruning

判别标准:例如classifier的错误超过一定的阈值,或者数据点离其他label的数据点集距离过近等。通过一定的判别标准,判定某些数据点的label可能出错(出错原因是由于noise的影响)

采取措施:data cleaning采取的措施是将该数据点的label修正过来;data pruning采取的措施是将该数据点从训练数据中删除。

该方法有时会有用。但不是总是有用。

原因例如:

判别数据点label错误的判别标准通常要依靠经验值选取。

当训练数据很多时,某些数据点label的修正与否对最终结果影响不大。

 

data hinting产生新的训练数据

例如对手写数字图片进行平移或旋转产生新的训练数据virtual examples。

并不是总是有效。需要确保加进去的data有道理,并且不能太偏离原来的分布。

virtual examples not i.i.d. subject to p(x,y)

 

concession for advantage现象

训练数据1由10次多项式,添加noise产生。

训练数据2由50次多项式,不添加noise产生。

现在用两个Hypothesis set来训练数据。H2是2次多项式的Hypothesis set。H10是10次多项式的Hypothesis set。

g2是H2中Error_in最小的model。

g10是H10中Error_in最小的model。

现在比较这两个model在训练数据和测试数据上的错误,Error_in和Error_out。

对于训练数据1,在从g2切换到g10时,发生了overfitting。

通过对learning curve分析,发现,当训练数据量N小时,简单的Hypothesis往往容易取胜。

 

对于训练数据2,在从g2切换到g10时,也发生了overfitting。

通过分析,目标函数的复杂性target complexity会造成与noise类似的情形,这种noise被称为deterministic noise。

 

deterministic noise 与 stochastic noise

分析3个变量对overfitting的影响:训练数据量N,Gaussian噪声强度\delta^2,目标函数复杂度Qf

定义overfit measure = Error_out(g10)-Error_out(g2)

分析得结论为:

<stochastic noise影响>当Qf固定时,noise大,训练数据量小时,会发生overfit;

<deterministic noise影响>当noise强度固定时,Qf越大,会造成overfit。

对deterministic noise的理解:

当目标函数比Hypothesis更复杂时,例如目标函数是50次多项式,而Hypothesis set是10次多项式,这时会产生deterministic noise。因为最好的g10也会在训练数据上有错误。

例如计算机中用复杂的deterministic function来产生pseudo-random随机数据。

deterministic noise与stochasticnoise区别

(1)deterministic noise与Hypothesis set有关。理论上,使用更复杂的Hypothesis,deterministic noise会下降。当然复杂的H也会带来训练的困难。

(2)fixed for a given x。对于同样的训练数据,deterministic noise是固定的。

相关文章:

  • Windows 7 下查询设备详细信息
  • Windows 7 英文版操作系统中文软件乱码解决方法
  • 如何彻底删除QQ程序
  • Windows 7时间设置问题
  • Ubuntu下载精美壁纸
  • 如何关闭Microsoft Office上载中心
  • Ubuntu安装google-chrome浏览器
  • Matlab中的匿名函数的使用
  • 搜狗输入法如何输入直角引号(「『』」 )
  • Python学习笔记(1)
  • Ubuntu修改磁盘分配空间
  • 机器学习入门
  • Python学习笔记(2)格式化字符串
  • Python学习笔记(3)Python中的转义字符
  • Python学习笔记(4)Python中super的用法
  • 【剑指offer】让抽象问题具体化
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • mongo索引构建
  • Selenium实战教程系列(二)---元素定位
  • 安装python包到指定虚拟环境
  • 前嗅ForeSpider采集配置界面介绍
  • 试着探索高并发下的系统架构面貌
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微信支付JSAPI,实测!终极方案
  • 异步
  • 智能合约Solidity教程-事件和日志(一)
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 通过调用文摘列表API获取文摘
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #pragma pack(1)
  • #stm32驱动外设模块总结w5500模块
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (JS基础)String 类型
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (九)c52学习之旅-定时器
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .NET Core 中的路径问题
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @EnableWebMvc介绍和使用详细demo
  • [.net] 如何在mail的加入正文显示图片
  • [@Controller]4 详解@ModelAttribute
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [Android View] 可绘制形状 (Shape Xml)
  • [Angular] 笔记 6:ngStyle
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [C++]拼图游戏
  • [CentOs7]iptables防火墙安装与设置
  • [CSS] 点击事件触发的动画
  • [hibernate]基本值类型映射之日期类型
  • [IE编程] 如何设置IE8的WebBrowser控件(MSHTML) 的渲染模式
  • [Jenkins] Docker 安装Jenkins及迁移流程