机器学习:正则化

2023-11-17

正则化

引入正则化的目的是为了解决过拟合问题。
在这里插入图片描述
左边的图中蓝色的线是目标函数,随机产生五个带噪声的点。我们理想的拟合曲线为红色的线,虽然有些许误差,但是整体拟合情况和目标函数接近。但是,事先不知道需要用二次曲线来拟合这些点。如果使用了更高次方的假设函数,可能就会出现右图中的情况。虽然在训练集上能很好的拟合这五个点,但是他与目标函数相差很大。在未来的预测过程中,犯错误的可能性也会很大。这就是过拟合。

我们称 H C H_C HC为C次多项式。如 H 10 H_{10} H10为所有10次多项式的集合。有如下关系:
在这里插入图片描述
高次多项式一定包含了低次多项式,看一个很简单的说名:十次多项式的集合中,只要让次数高于3的系数全部为0,该十次多项式就退化为一个二次多项式。
在这里插入图片描述
还是看最开始的列子。如果我们用十次多项式去拟合由二次多项式产生的五个点,如果让大于三次的项权重都为0,那就不会发生过拟合问题。
在这里插入图片描述
但是,新的问题又来了,面对一个未知的数据集。我怎么知道最初需要用几次多项式来拟合最好,很显然不可能做到未卜先知。那可以换一种思路来想这个问题。为什么会出现过拟合呢?因为多项式的次数太高了,也就是高次多项式的权重可能会很大。那么是不是可以通过限制权重的增加来解决过拟合问题呢?显然应该是可以的。
在这里插入图片描述
限制多项式的所有权重之和的平方,不能超过某个值 C C C。引入一个新的表示方式
在这里插入图片描述 H ( c ) H(c) H(c)用来表示约束条件: w T w < C w^Tw<C wTw<C

正则化权重下降

前面推导的公式可以进行转化为下面的形式:
在这里插入图片描述
E i n E_{in} Ein写成矩阵的形式,就像解线性回归问题那样。 w T w < c w^Tw<c wTw<c说明w在以
以根号c为半径的圆上面。接下来的问题就是如何求解这个最优化问题
在这里插入图片描述
上图中,蓝色的圆代表有限制的 E i n ( w ) E_{in}(w) Ein(w),红色的圆代表限制条件 w T w = c w^Tw=c wTw=c

在没有限制条件的情况下,权重向量 w w w最终会取得最小值 w l i n w_{lin} wlin,也就是谷底的位置。加上限制条件之后,权重向量被限制在红色的圆上。w到原点的距离不能超过圆的半径;这种情况下 w w w不能取得最小值,最优解位于红色的圆上,并且只能沿着切线方向变化(绿色的),红色的线和绿色的线垂直,是红色圆的法向量,也就是 w w w的方向。 w w w不能沿着该方向变化。只要 − Δ E i n ( w ) -\Delta{E_{in}(w)} ΔEin(w)不和绿色的线垂直,则 − Δ E i n ( w ) -\Delta{E_{in}(w)} ΔEin(w)一定有绿色线上的分量,即 w w w还会继续变化。当 − Δ E i n ( w ) -\Delta{E_{in}(w)} ΔEin(w)与绿色的垂直与红色的线平行时,此时的 w w w为最优解。由此得到最优解满足的条件:
在这里插入图片描述
公式中 λ \lambda λ为拉格朗日乘子,是用来求解有条件约束最优化问题的常用方法, 2 N \frac{2}{N} N2为常数。称这个公式为平行公式,此时的目标函数变为求解满足上式 w r e g w_{reg} wreg,线性回归的误差形式为:
在这里插入图片描述
由该式计算梯度,并代入上文中的公式可得:

在这里插入图片描述
最后得到的计算公式中。 Z T Z Z^TZ ZTZ半正定,只要保证 λ > 0 \lambda>0 λ>0,则 Z T Z + λ I Z^TZ+{\lambda}I ZTZ+λI一定为正定矩阵,必然可逆。

对于更一般的条件, w r e g w_{reg} wreg不是线性的,带入平行公式求解比较困难,可以换个角度进行考虑:
在这里插入图片描述
在这里插入图片描述
通过该变换,将有约束的最小化 E i n ( w ) E_{in}(w) Ein(w),转化为无约束最小化 E a u g ( w ) E_{aug}(w) Eaug(w)aug为增广误差,第二项是限制条件,也称为权重衰减项。

如果使用正则化,只要设置朗格朗日乘子大于0即可;如果不使用将 λ \lambda λ置为0即可。
在这里插入图片描述
从图中可以看出,对于过拟合的情况,通过引入不同取值的拉格朗日乘子,模型逐渐欠拟合。可以把拉格朗日乘子 λ看做惩罚项,λ 越大,权重向量 w w w就越小,对应于约束范围 C C C值就越小,即对假设模型中的高次项惩罚力度大,高阶项被削弱,模型不能表达高维空间的特征,从而导致欠拟合。在实际应用过程中,λ 取多少合适,还要根据自己的业务需求进行调整。
在这里插入图片描述

正则化和VC理论

在这里插入图片描述
以上三式中的参数说明:

  • w T w : w^Tw: wTw单个假设函数的复杂度记为: Ω ( w ) \Omega(w) Ω(w)
  • Ω ( H ( C ) ) : \Omega(H(C)): Ω(H(C)):假设空间复杂度
    在这里插入图片描述
    根据 VC-Dimention理论,整个假设空间的 d v c = d + 1 d_{vc}=d+1 dvc=d+1,这是因为,在求解最小化的过程中,所有假设函数的{ w w w}都被考虑在内。也就是说 d v c ( H ) d_{vc}(H) dvc(H)比较大代表了整个假设空间,但是由于朗格朗日乘子的限制,限定了权重向量只能取一小部分,有许多项被丢弃了,实际考虑的只有 H ( C ) H(C) H(C)。因此有效的VC-dimension d E F F ( H , A ) d_{EFF}(H,A) dEFF(H,A)比较小。:
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习:正则化 的相关文章

  • spring中@Qualifier注解的使用

    该注解可以使用在类上 属性上 参数上 方法上 1 当使用在类上的时候 如下代码 Qualifier注解里面填写的值就是当前类注入到IOC容器的bean的唯一标识 id 再使用到该Bean的地方就可以直接根据唯一标识 id 从IOC容器中获取
  • 图片归一化 img/255.0 和img/127.5 - 1对比

    在代码中看到图像的2种处理方式 img 255 0 img 127 5 1 第一种是对图像进行归一化 范围为 0 1 第二种也是对图像进行归一化 范围为 1 1 这两种只是归一化范围不同 为了直观的看出2种区别 分别对图像进行两种处理 从图

随机推荐

  • 题目 1056: 二级C语言-温度转换

    输入一个华氏温度 要求输出摄氏温度 公式为 保留两位小数 样例输入 40 00 样例输出 40 00 这道题很简单 数据代入公式就行 记得设置double或者float的浮点型 用于保留两位小数 对于保留小数 1是可以用iomanip的co
  • 汇编语言11之中断和int指令以及端口

    中断第处理外部突发事件的一个重要技术 硬件中断 外部中断 一般是外设发出的中断 内部中断 硬件出错或运算出错引起的中断 不可被屏蔽 软件中断 中断处理程序 CPU必须建立中断信息和中断处理程序之间的联系 中断信息中包含 1byte 中断类型
  • github fork别人的项目到自己仓库并进行贡献

    原文地址 转载请注明出处 https blog csdn net qq 34021712 article details 117260462 王赛超 目录 第一步 主账号上创建一个新的仓库 git demo 1 在主账号点击New创建一个新
  • React项目中关于onclick的学习

    onclick传递函数的格式 function e gt console log 我是一个函数 e
  • Nosql复习篇(三)

    Chapter3 5 1 Hadoop中的HDFS分布式文件系统解决了HBase的数据底层存储问题 实现了文件系统 数据分片 多副本容错 数据一致性等诸多功能 2 Hadoop最初的应用场景为搜索引擎的底层技术支持 3 核心组件 分布式文件
  • 慕课版软件质量保证与测试(第五章.课后作业)

    慕课版软件质量保证与测试 第五章 课后作业 一 选择题 二 填空题 三 判断题 四 解答题 一 选择题 1 软件测试是软件质量保证的重要手段 下述哪种测试是软件测试的最基础环节 A 集成测试 B 单元测试 C 系统测试 D 验收测试 参考答
  • 祝贺

    热烈祝贺合肥 NET俱乐部第二期技术沙龙圆满成功 感恩参与活动的每一位小伙伴 正是因为有你们才促成了这次聚会的成功 现对此次活动进行简单回顾并附上精彩的活动图片 每一位参与活动者名单 以及此次活动讲师分享的PPT供大家学习下载 作者 依乐祝
  • Python爬取旅游网站数据机票酒店价格对比分析

    本文将介绍如何使用Python爬虫从旅游网站上获取机票和酒店的价格数据 并实现价格对比分析 帮助你做出明智的旅行决策 我们提供了完善的方案和代码 让你能够轻松操作并获得实际价值 使用Python爬虫获取旅游网站上的机票和酒店价格数据 可以帮
  • CSS样式显示异常问题

    解决方法 对于服务端跳转 访问的viewUser jsp的CSS文件引入不需要要加 效果 当服务端访问viewUser jsp正常 但如果客户端地址栏范围 就还是CSS异常 不影响正常功能
  • python关掉警告信息(warning)

    在GCN normalization由于版本问题出现 除0 警告 RuntimeWarning divide by zero encountered in power d inv sqrt np power row sum 0 5 flat
  • flutter doctor --android-licenses报错解决方案

    C Users 32148 gt flutter doctor android licenses Flutter assets will be downloaded from https storage flutter io cn Make
  • 小米手环nfc门卡摸拟成功后不能开门_如何使用小米手环5 NFC版进行门卡模拟(如公司门禁卡、小区门禁卡、学校门禁卡等)?...

    由于本人最近购入了小米手环5 NFC版 所以对小米手环模拟门禁卡比较清楚一点 说一下用该手环模拟门禁的方法吧 我本人模拟的是学校公寓的门禁卡 不过学校的门禁卡是加密卡 可能操作起来稍微比不加密的门禁卡麻烦一点 因为不加密的门禁卡直接就可以模
  • PLSQL之动态SQL与异常

    1 动态 SQL 动态 SQL 是指在PL SQL程序执行时生成的 SQL 语句 编译程序对动态 SQL 不做处理 而是在程序运行时动态构造语句 对语句进行语法分析并执行 DDL 语句命令和会话控制语句不能在 PL SQL 中直接使用 但是
  • 微信公众号-测试号

    最近碰到了一个H5的公众号项目 需要openid来判断用户是否存在 视乎好多年都没碰这玩意了 完全忘记了 挨着看文档 一路各种坑 好不容易用测试号把本地测试环境调通了 环境不同可能使用的方法方式都不一样 微信测试号 需要微信扫码登陆 1 获
  • unity图片相似度识别

    public static SimilarPhoto Instance
  • 2022最新快捷键大全

    一 常用快捷键 ctrl c v 复制 粘贴 ctrl a 全选 ctrl s 保存 ctrl f 查找 ctrl z 撤销 ctrl x 剪切 win r 命令运行框 win d 隐藏 显示当前页面或者应用 win l 锁屏 alt Ta
  • json数组如何转换成string类型(超级好用)

    先上代码 下面解释 这个jar包地址之后更新的时候再给出来的 包的地址 JSONObject job ace text a 此时job里面的数据格式为 logid 2075 words result words acb words and
  • Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0

    项目 taro3 vue3 描述 运行时警告 Deprecation Warning Using for division outside of calc is deprecated and will be removed in Dart
  • LeetCode 102. 二叉树的层序遍历BFS

    LeetCode 102 二叉树的层序遍历BFS 给你二叉树的根节点 root 返回其节点值的 层序遍历 即逐层地 从左到右访问所有节点 示例 1 输入 root 3 9 20 null null 15 7 输出 3 9 20 15 7 示
  • 机器学习:正则化

    正则化 引入正则化的目的是为了解决过拟合问题 左边的图中蓝色的线是目标函数 随机产生五个带噪声的点 我们理想的拟合曲线为红色的线 虽然有些许误差 但是整体拟合情况和目标函数接近 但是 事先不知道需要用二次曲线来拟合这些点 如果使用了更高次方