AI:机器学习的正则化 (Regularization)
目录
- 机器学习:正则化 (Regularization)
- 正则化的方法
- 1.参数正则化
- 1.0 范数
- 1.1 L2 Regularization(Ridge Regression,权重衰减)
- 1.2 L1 Regularization:将噪点相关权重系数设为0(也叫稀疏正则化)
- 1.3 L1/L2对比:
- 2. 经验正则化(早停、丢弃Dropout)
- 博主热门文章推荐:
机器学习:正则化 (Regularization)
先一波总结:
- 为什么要正则化:让模型不要过于依赖样本数据
- 正则化主要思想:降低模型的复杂度
- 正则化主要目的:防止模型过拟合
- 正则化实现思路:最小化损失Loss+ 最小复杂度
- 正则化终极目标:提升模型泛化Generalization的能力
图自台湾大学林轩田老师 Machine Learning Techniques (机器学习技法)
那么正则化是啥,为什么需要正则化?:因为要让AI模型不过于信赖样本数据,否则是不是就不能好好学习了,
举个栗子,比如让模型小A备考一个考试,学习过程他每天过于研究历年真题,真题固定题型完全不在话下,学到只会做真题,那么真正考试中出现新题型,悲剧 , 不会了,这里也是一样。这时候老师就说了,小A要使用正则化方法,平衡真题学习力度,做到既研究好真题,又不只限于真题。。。嗯 好像老师真这样说过。。
所以说Regularization 本质上是防止模型过拟合
正则化的方法
正则化有不同的策略,目前来讲主要有参数正则化、经验正则化
1.参数正则化
参数正则的L2/L1 Regularization 范数正则化目前用的是最多的。。。
参数正则化方法的核心主要是对损失函数Loss Function 添加惩罚项 Penalty:
L2/L1正则化都是通过添加一个惩罚项,来调节模型参数(权重w),使loss最小,(例如w一开始数值大,则loss会变大,则在反向传播每次更新权重时,就会对这个w进行惩罚,既降低w,直到模型认为loss已经最优)
1.0 范数
上面所谓的L1/L2是数学中向量空间的范数
- L1范数,其表示某个向量中所有元素绝对值的和。
- L2范数, 表示某个向量中所有元素平方和再开根, 也就是欧氏距离
常用的最小二乘法(LS算法)就是L2的一个具体应用
在学习参数正则化前, 回顾下正则化核心思想和目标
- 思想:降低模型复杂度,(根据奥卡姆剃刀定律)
- 目标:最小化 损失+复杂度 为目标(结构风险最小化)
即:
为避免离群值这种影响,引入Lambda(又称正则化率)来调制正则化项的整体影响
则变成:
Lambda值需要在模型简单化和训练数据拟合之间达到适当的平衡
• Lambda高,模型简单,数据欠拟合
• Lambda低,模型复杂,数据过拟合
模型学习速率和Lambda之间强相关
现在训练优化算法有2项内容组成:损失项 + 正则化项
• 损失项:用于衡量算法模型与数据的拟合度
• 正则化项:衡量算法模型的复杂度
1.1 L2 Regularization(Ridge Regression,权重衰减)
L2范数在回归里面,它的回归叫“岭回归”(Ridge Regression),也叫它“权值衰减weight decay”
L2范数向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,即前面所说的惩罚项为:
L2实现上,直接在原来的损失函数基础上加上权重参数的平方和如下,这样调节权重w变小,实现最小化loss 损失+复杂度的小目标:
这个过程中,更小的权值w,即表示模型的复杂度更低,对数据的拟合就不会过于强烈
L2正则化核心是量化模型复杂度:L2 = 所有特征权重的平方和
加入L2正则化结果:测试Lost明显减少,训练损失有所上升,特征权重的绝对值降低(模型复杂度降低)
例如大多数LR(逻辑回归)模型都会使用L2正则化来降低模型复杂度,并且LR非常容易过拟合,因为LR会尝试让所有样本的Lost减少到0,但始终达不到,所以每个LR指示器特征的权重就会不断增大到正无穷或负无穷
在L2正则中,接近于0的权重对复杂度几乎没有影响,而离群值权重会产生巨大影响,所以是时候回引申出L1 Regularization了:
1.2 L1 Regularization:将噪点相关权重系数设为0(也叫稀疏正则化)
L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。所以L1正则化可以产生稀疏模型。
在原始的损失函数后面加上一个L1正则化项
为什么需要用L1:
特征组合可能会包含许多维度,模型太庞大占用大量RAM,因此,对权重降为0,既可以节省空间,也可以减少模型中的噪点
L1核心思想:将无意义的特征维度降为0
1.3 L1/L2对比:
• L2只能将权重变小,但是不能将他们降为0
• 采用不同方式降低权重w:L2会降低w的平方,L1是减w的绝对值,因此L2与L1具有不同的导数
2. 经验正则化(早停、丢弃Dropout)
还有一些通过经验实现正则化,例如早停法(但该方法实际操作起来困难)
另一种形式的正则是丢弃法Dropout,经常用于神经网络:
https://howiexue.blog.csdn.net/article/details/104271227
其原理就是:在梯度下降法的每一步中,随机丢弃一些网络单元,丢弃的越多,正则化效果越强
- 0 = 无丢弃正则化
- 1 = 丢弃所有内容,模型学不到任何规律
博主热门文章推荐:
一篇读懂系列:
- 一篇读懂无线充电技术(附方案选型及原理分析)
- 一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信
- 一篇读懂:Android手机如何通过USB接口与外设通信(附原理分析及方案选型)
LoRa Mesh系列:
- LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
- LoRa学习:信道占用检测原理(CAD)
- LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)
网络安全系列:
- ATECC508A芯片开发笔记(一):初识加密芯片
- SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
- 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
- AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例
嵌入式开发系列:
- 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
- IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
- Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
- Android底层调用C代码(JNI实现)
- 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
- Android/Linux设备有线&无线 双网共存(同时上内、外网)
AI / 机器学习系列:
- AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
- AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
- AI: 什么是机器学习的数据清洗(Data Cleaning)
- AI: 机器学习的模型是如何训练的?(在试错中学习)
- 数据可视化:TensorboardX安装及使用(安装测试+实例演示)
AI:机器学习的正则化 (Regularization)相关推荐
- 吴恩达——机器学习(正则化Regularization)
正则化 Regularization 1.过拟合 overfitting eg1:线性回归 图一:欠拟合,高偏差 图三:过拟合,高方差(一般在变量很多的时候发生,这种时候训练出的方程总能很好拟合训练数 ...
- Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
Coursera公开课笔记: 斯坦福大学机器学习第七课"正则化(Regularization)" +13投票 斯坦福大学机器学习第七课"正则化"学习笔记, ...
- 线性代数中的正则化(regularization)(zz)
正则化(regularization)在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题.大条件数意味着舍入误差或其它误差会严重地影响问 ...
- 正则化(regularization)
正则化(regularization)在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题.大条件数意味着舍入误差或其它误差会严重地影响问 ...
- 时雨月五| AI机器学习实战の电磁导航智能车中神经网络应用的问题与思考
"不愤不启,不悱不发.举一隅不以三隅反,则不复也". – <论语·述而> 再次将论语中的这句"不愤不启,不悱不发"引用在这里,说明学生的学习的活动部 ...
- AI机器学习实战の电磁智能车篇
简 介: 本文在这里向大家介绍我们在RT106x的小车上部署实施AI的方法,以及一个base line的电磁导引神经网络模型,希望能抛砖引玉,激发同学们开动脑筋,将AI在电磁智能车上的应用发扬光大. ...
- AI:一个20年程序猿的学习资料大全—人工智能之AI/机器学习/深度学习/计算机视觉/Matlab大赛——只有你不想要的,没有你找不到的
AI:一个20年程序猿的学习资料大全-人工智能之AI/机器学习/深度学习/计算机视觉/Matlab大赛--只有你不想要的,没有你找不到的 目录 (有偿提供,替朋友转载,扫描下方二维码提问,或者向博主扫 ...
- Azure人工智能认知服务(AI·机器学习)
最近CSDN开展了<0元试用微软 Azure人工智能认知服务,精美礼品大放送>,当前目前活动还在继续,热心的我已经第一时间报名参与,只不过今天才有时间实际的试用. 目前我在试用了 语音转文 ...
- pytorch实现L2和L1正则化regularization的方法
pytorch实现L2和L1正则化的方法 目录 目录 pytorch实现L2和L1正则化的方法 1.torch.optim优化器实现L2正则化 2. 如何判断正则化作用了模型? 2.1 未加入正则化l ...
最新文章
- js密码强度正则表达式_知道这20个前端正则表达式,能让你做项目时少写1000行甚至一万行
- go get 的不再src目录中_GO语言基础进阶教程:包的使用
- mysql远程连接错误10038--navicat for mysql (10038)
- tuning-primer.sh 性能调试工具的使用
- 深度剖析 | 基于大数据架构的BI应用
- Java进阶:SpringMVC中获取Restful风格的参数(从请求路径中获取参数 )
- 饥荒联机版把服务器删掉了怎么找回,饥荒联机服务器角色存档删除 | 手游网游页游攻略大全...
- 电池SOC仿真系列-基于遗传算法的电池参数辨识
- 【旋转摆正验证码】知苗易约小程序旋转摆正验证码识别——识别解绝方法
- 计算机经典书籍大全(内含下载方式)
- windows自定义屏幕大小,分辨率大小,自定义电脑屏幕分辨率
- Android去除烦人的默认闪退
- 下载和安装Tcl/Tk:
- SQL语句基础-子查询
- Assertion断言入门(四)——断言覆盖率
- python-操作列表
- spring boot +mybatis plus +html 最佳实践项目
- windows10快捷键(windows10常用快捷键大全)
- Qt编写安防视频监控系统文章导航
- 用C#实现一个简单的图书管理系统(课程设计)
热门文章
- 华为服务器raid卡
- Android 8.0正式发布 奥利奥新功能惊人
- databus mysql搭建_Databus架构分析与初步实践(for mysql)
- Mysql8.0安装以及连接navicat部分bug解决
- 长尾分布 long-tail distribution
- 【Flink】FLINK-CDC之入门
- 金属氧化物半导体场效应晶体管的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 计算机软件著作权转让协议
- 如何通过第三方工具维护计算机,无需第三方优化软件利用电脑自身维护功能优化系统...
- RuntimeError: one_hot is only applicable to index tensor