pytorch l2正则化_理解机器学习中的 L2 正则化
零、前言
在机器学习建模过程中,正则化是控制模型复杂度,对抗过拟合,追求更优预测效果的重要手段。本文从多个角度对 L2 正则化进行讲解,内容涵盖线性回归、岭回归、贝叶斯、主成分分析、奇异值分解、模型自由度、偏置-方差平衡等。
本文提纲为:
- 介绍线性回归(Linear Regression)和岭回归(Ridge Regression),从岭回归引入 L2 正则化(L2 Regularization);
- 在贝叶斯视角下,从最大化似然概率(Likelihood Probability)和后验概率(Posterior Probability)的角度理解最小二乘和 L2 正则化;
- 从主成分分析(principle component analysis)的角度理解 L2 正则化,阐述 L2 正则化如何对方差小的主成分方向进行惩罚;
- 从偏置(bias)-方差(variance)平衡和模型自由度的角度理解 L2 正则化如何对抗过拟合。
本文先导知识包括:线性代数(矩阵乘法、向量内积、转置、线性独立、向量正交、线性空间及其基、逆矩阵、矩阵的秩和迹、矩阵特征值和特征向量),概率(期望、方差、协方差、多元正态分布、贝叶斯公式)。
一、线性回归、岭回归与 L2 正则化
下文默认向量
对每一个样本计算模型预测的平方误差(squared error),在
mean squared error)。mse 衡量了
把每一个训练样本的转置
将
能够使
least square)。
解此方程得到:
于是模型对训练集的预测就是:
称
trace,对角线元素之和)是:
其中
最小化
式 [1.7] 存在一个问题。假如
这就是岭回归(Ridge Regression)的解公式。岭回归的预测值是:
按照上面对自由度的定义,岭回归的自由度应该是变换矩阵
最小二乘解是使均方误差 mse 最小的解。那么岭回归的解是否最小化了什么东西呢?请看下面的损失函数:
解该式得到:
可看到
L2 正则化项。它其实是
长度)的平方。它度量的是各个系数的绝对值大小。将它作为惩罚项加入损失函数,迫使最优解的各系数接近 0 。
二、贝叶斯观点下的最小二乘和 L2 正则
所谓训练,是指观察到一组训练样本和目标值
即
等号右侧分子的第一项是似然概率,第二项是先验概率。第一节提到线性回归问题预设:
其中
对
注意右边的第二项。撇开与
但是我们的终极目标是最大化后验概率。最小二乘解最大化的是似然概率,相当于预设
对
忽略与
三、主成分与 L2 正则
本节假设训练集
可以多重)。这些特征值对应的特征向量线性独立且两两正交(此事实本文不证明,可参考 [1])。令
也就是:
一个对称矩阵(这里是
其非对角线元素为 0 ,即
要谈主成分与 L2 正则的关系,就需要先介绍奇异值分解。若
因为
这就是矩阵
上式第四个等号成立是因为
所以有
最后,
模为 1):
推导过程中记住
以及
以
与之前的结论一致)。
L2 正则化终于要登场了:
在带 L2 正则化的岭回归问题中,
于是可以看到,相比于最小二乘, 岭回归在预测
乘上小于 1 的系数)。正则系数
它的迹为:
可见,加入 L2 正则化之后模型的自由度小于参数个数
四、偏置-方差权衡与 L2 正则化的作用
对于一个新样本点
这导致了
):
第一步根据平方的期望等于期望的平方加上方差。第二步利用事实:训练集外再观察一次得到的
上节说过 L2 正则压抑小方差主成分方向的影响从而降低预测的方差。这是有代价的。它使模型的预测变得有偏。考察一下最小二乘解和岭回归解在训练样本集
式 [1.8] 和 式 [1.11])的均值和方差:
由此看出,最小二乘解的预测是无偏的。
预测值第
而岭回归的预测值
估计不再无偏。但是
预测值第
可见 L2 正则化牺牲了偏置,但减小了预测值的方差。
模型自由度即模型复杂性。根据线性模型自由度的定义
五、参考数目
线性代数及其应用 (豆瓣)book.douban.com
统计学习基础(第2版)(英文) (豆瓣)book.douban.com
pytorch l2正则化_理解机器学习中的 L2 正则化相关推荐
- [机器学习必知必会]如何理解机器学习中的正则化
正则化综述 机器学习中经常会在损失函数 中加入正则项,称之为正则化(Regularize). 目的:防止模型过拟合 原理:在损失函数上加上某些规则(限制),缩小解空间,从而减少求出过拟合解的可能性 例 ...
- 机器学习 处理不平衡数据_在机器学习中处理不平衡数据
机器学习 处理不平衡数据 As an ML engineer or data scientist, sometimes you inevitably find yourself in a situat ...
- 深入理解机器学习中的:目标函数,损失函数和代价函数
参考知乎回答整理:https://www.zhihu.com/question/52398145 主要参考:https://www.zhihu.com/question/52398145/answer ...
- drools规则中调用其它规则_简化机器学习中的关联规则
你可能遇到在超市结账时,POS机自动为你打印优惠券.或者曾经观看过您的流媒体服务为您生成的视频播放列表.或者去网上购物时看到标有"你可能会感兴趣......"的产品清单中确实包含了 ...
- 机器学习中激活函数和模型_探索机器学习中的激活和丢失功能
机器学习中激活函数和模型 In this post, we're going to discuss the most widely-used activation and loss functions ...
- 你真的理解机器学习中偏差 - 方差之间的权衡吗?
作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 简书地址:http://www.jianshu.com/p/f143... 我认为对偏差 - 方差之间的 ...
- 透彻理解机器学习中极大似然估计MLE的原理(附3D可视化代码)
文章目录 相关资料 一.什么是概率,什么是似然 二.极大似然估计 Maximum Likelihood Estimation (MLE) 的含义 2.1 机器学习中的极大化似然函数 2.2 极大似然估 ...
- (Latent Space)理解机器学习中的潜在空间
原文链接:https://zhuanlan.zhihu.com/p/369946876 搬运自 https://towardsdatascience.com/understanding-latent- ...
- 高斯过程是什么?从视觉上理解机器学习中的高斯过程——Gaussian Process
--如何将一组小型构建块转变为解决回归问题的灵活的工具. 目录 Introduction 简介 Multivariate Gaussian distributions 多元高斯分布 Marginali ...
- python中元组_理解python中的元组
理解 python 中的元组 引言 在 Python 中元组是这样的: 元组是是这样一种数据结构:不变的或者不可改变的(简单来说不能重新赋值) .元素的有序序列.因为元组是 不变的,所以他的数值是不能 ...
最新文章
- 《编译与反编译技术实战》——第2章编译器实践概述
- CTFshow php特性 web98
- PHP5魔术函数与魔术常量
- 机器人的自述作文_机器人的自述作文600字
- SQL Server 导入bak备份出错
- python 字典列表指定key排序
- 迅捷cad_迅捷泛型
- Error fetching https://gems.ruby-china.org/: 	bad response Not Found 404 (https://gems.ruby-china.or
- C. mathematican 的二进制
- MATLAB人脸识别系统
- 数据可视化_科学统计图表5——ggplot绘制南丁格尔玫瑰图
- 基于DFSMN-CTC及CTC-CE联合训练的声学模型
- 《数据库原理与应用》马春梅 禹继国 黄宝贵 祝永志 编著 P30 六个表的实现
- 知乎上的100条简短深刻的回答
- ARM开发板使用GDB调试程序
- c++语言打开文件对话框,C++采用openfilename打开文件对话框用法实例
- 彻底解决DNS劫持污染,如何彻底解决DNS劫持污染,方法介绍
- hugo使用katex
- [转帖] 中国手机设计公司IDH 大史记
- 人工智能时代,有哪些新的职业机会?
热门文章
- BW Delta (增量)更新方法 .
- 9.软件架构设计:大型网站技术架构与业务架构融合之道 --- 高可用与稳定性
- 14. model(2)
- 1.Chrome开发者工具不完全指南(一、基础功能篇)
- 27. Location reload() 方法
- 1.3 Zend_Acl (3)
- maven学习七之用户密码修改和添加用户
- 5 helloword 开发运行步骤
- Java动态代理的实现机制
- bzoj1831 逆序对 (dp+树状数组)