l1范数正则化

所谓范数及其在机器学习中的作用

断了今生、忘了曾经 提交于 2020-01-26 03:21:09
本文参考: 1、 https://www.jianshu.com/p/4bad38fe07e6 2、 https://zhuanlan.zhihu.com/p/26884695 3、深度学习入门:基于Python的理论与实现 斋藤康毅(作者) 理解范数 - : 在很多机器学习相关书籍中我们经常看到各种各样的距离及范数,如 、 其中, , 分别表示向量和矩阵。 也有其他的欧氏距离、均方差之类,例如,向量 的欧式范数 (Euclidean norm)为 用于表示向量的大小,这个也被叫 -范数。 为方便统一,一般将任意向量 的 -范数定义为 主要有三类: 、 、 范数的定义: 根据 -范数的定义,当p=0时,我们就有了 -范数 表示向量x中非0元素的个数(0的0次方是0,非零的0次方是1,所以所有的零元素全都没了,只剩下非零元素变成的1了) 大佬是这么说的: 在诸多机器学习模型中,比如压缩感知 (compressive sensing),我们很多时候希望最小化向量的 -范数。一个标准的 -范数优化问题往往可以写成如下形式: 然而,由于 -范数仅仅表示向量中非0元素的个数,因此,这个优化模型在数学上被认为是一个NP-hard问题,即直接求解它很复杂、也不可能找到解。 需要注意的是,正是由于该类优化问题难以求解,因此,压缩感知模型是将 -范数最小化问题转换成 -范数最小化问题。 我就看不懂了

线性模型正则化

寵の児 提交于 2020-01-25 19:56:07
一、正则线性模型 减少过度拟合的一个好办法就是对模型 正则化 (即约束它):它拥有的自由度越低,就越不容易过度拟合数据。比如,将多项式模型正则化的简单方法就是降低多项式的阶数。 对线性模型来说,正则化通常通过约束模型的权重来实现。常见的对权重进行约束的方法有:岭回归(Ridge Regression)、套索回归(lasso Regression)及弹性网络(Elastic Regression)。 二、岭回归 岭回归 (也叫作吉洪诺夫正则化)是线性回归的正则化版:在成本函数中添加一个等于 α ∑ i = 1 n θ i 2 \alpha\sum_{i=1}^n\theta_i^2 α ∑ i = 1 n ​ θ i 2 ​ 的正则项。这使得学习中的算法不仅需要拟合数据,同时还要让模型权重保持最小。 正则项只能在训练的时候添加到成本函数中,一旦训练完成,我们需要使用未经正则化的性能指标来评估模型性能。 超参数 α \alpha α 控制的是对模型进行正则化的程度。如果 α = 0 \alpha=0 α = 0 ,则岭回归就是线性模型。如果 α \alpha α 非常大,那么所有的权重都将非常接近于零,结果是一条穿过数据平均值的水平线。 岭回归的成本函数: J ( θ ) = M S E ( θ ) + α 1 2 ∑ i = 1 n θ i 2 J(\theta)=MSE(

面试——正则化

谁说我不能喝 提交于 2020-01-06 19:37:52
文章目录 什么是正则化?简述一下范数的意义是? L1,L2正则化的原理和区别?为什么L1正则化会产生稀疏解而L2正则化会产生平滑解? L1和L2除了正则化防止过拟合还有什么作用 L1正则不是连续可导的(L1正则怎么处理0点不可导的情形?)那么还能用梯度下降么,如果不能的话如何优化求解 Ridge和Lasso的实现,他们的区别是什么?分别是如何求解的? 什么是正则化?简述一下范数的意义是? 正则化就是结构风险最小化策略的实现,是在经验风险最小化的情况下加入一个正则化项或者罚项。 范数是一种用来度量某个向量空间(或矩阵)中的每个向量的长度或大小的手段。 L1,L2正则化的原理和区别?为什么L1正则化会产生稀疏解而L2正则化会产生平滑解? 正则化是结构风险最小化策略的实现,L1和L2正则化属于正则化手段中的两种实现方式,L1正则化是在损失函数中加入 参数向量中各个元素的绝对值之和作为损失函数的惩罚项的,L2正则化是在损失函数中加入 参数向量中各个元素的平方,求和,然后再求平方根作为损失函数的惩罚项的。这就是二者的原理与区别。 L1正则化代表的约束条件的多维空间是超立方体和坐标轴存在很多“角”交点,目标函数大部分时候会在“角”的地方和约束条件相交,所以L1正则化容易产生稀疏的参数向量,而L2正则化是一个超球体,因为没有“角”交点

如何防止过拟合

前提是你 提交于 2020-01-01 21:08:47
如何防止过拟合 通常过拟合由以下三种原因产生:1. 假设过于复杂;2. 数据存在很多噪音;3. 数据规模太小。 过拟合的解决方法通常有:1. early stopping;2. 数据集扩增;3. 正则化;4. Dropout。 正则化方法: 正则化是指在优化目标函数或代价函数是,在目标函数后面加上一个正则项。正则项通常有L1正则项和L2正则项。 L1正则项是为了使得那些原先处于零(即|w|≈0)附近的参数w往零移动,使得部分参数为零,从而降低模型的复杂度 L2正则是基于L2范数,尽量使全部特征的权值变小, 每个特征都用到 参考: https://blog.csdn.net/weixin_37933986/article/details/69681671 来源: CSDN 作者: 御剑归一 链接: https://blog.csdn.net/wj1298250240/article/details/103792854

基础 --- > 正则化

孤街醉人 提交于 2019-12-23 05:33:50
文章目录 L1, L2正则化 贝叶斯先验分布 结构风险最小化 dropout earlystopping batch normalization 数据增强 权值共享 增加噪声 对抗学习 模型组合 L1, L2正则化 贝叶斯先验分布 最大似然估计 如果有数据集(X, Y),并且Y是有白噪音(就是测量的Y与真实的 Y r e a l Y_{real} Y r e a l ​ 有均值为0的高斯分布误差),目的是新产生的X来得到Y,线性模型表示有: f ( X ) = ∑ i ( x i θ i ) + ϵ = X θ T + ϵ f(X) = \sum_i(x_i\theta_i) + \epsilon= X\theta^T + \epsilon f ( X ) = i ∑ ​ ( x i ​ θ i ​ ) + ϵ = X θ T + ϵ 其中 X = ( x 1 , x 2 , . . . , X n ) , ϵ X=(x_1,x_2,...,X_n),\epsilon X = ( x 1 ​ , x 2 ​ , . . . , X n ​ ) , ϵ 是白噪音,即 ϵ ∼ N ( 0 , δ 2 ) \epsilon \sim N(0, \delta^2) ϵ ∼ N ( 0 , δ 2 ) 。对于一数据集 ( X i , Y i ) (X_i, Y_i) ( X i ​ , Y

对于L1和L2正则化的理解

ⅰ亾dé卋堺 提交于 2019-12-18 03:01:35
首先我们先说明下L1和L2正则化的公式。 L1正则化公式: C = C 0 + λ n ∑ w ∣ w ∣ C=C_{0}+\frac{\lambda}{n} \sum_{w}|w| C = C 0 ​ + n λ ​ w ∑ ​ ∣ w ∣ L2正则化公式: C = C 0 + λ 2 n ∑ w w 2 C=C_{0}+\frac{\lambda}{2 n} \sum_{w} w^{2} C = C 0 ​ + 2 n λ ​ w ∑ ​ w 2 C0代表原始的代价函数 首先先说一下他们的相同点,就是都可以防止过拟合 。那么什么是过拟合呢?我们先用一张图来简单描述下。 上面这张图就很很好的展现了数据呈现过拟合的例子,为了学习到每一个数据的分布,最终形成的拟合函数的波动非常大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。 而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况 。 L1正则化 先看下L1正则化是如何解决这个问题的。 C = C 0 + λ n ∑ w ∣ w ∣ C=C_{0}+\frac{\lambda}{n} \sum_{w}|w| C = C 0 ​ + n λ ​ w ∑ ​ ∣ w ∣ 首先我们对L1公式参数进行求导: ∂

正则化

狂风中的少年 提交于 2019-12-05 11:32:20
正则化 解释 L1正则化在尖角处更大概率发生碰撞,此时的解 \(w_1 = 0\) L2正则化:使得模型的解偏向于范数较小的 \(W\) ,通过限制 \(W\) 范数的大小实现了对模型空间的限制,从而在一定程度上避免了过拟合。不过岭回归并不具有产生稀疏解的能力,得到的系数仍然需要数据中的所有特征才能计算预测结果,从计算量上来说并没有得到改观 L1正则化:能产生稀疏性,导致 W 中许多项变成零。 稀疏的解除了计算量上的好处之外,更重要的是更具有“可解释性” L0正则化的值是模型参数中非零参数的个数,但难以求解。L1正则是L0正则的最优凸近似 约束解释 带正则项和带约束条件是等价的。为了约束 \(w\) 的可能取值空间防止过拟合,加上约束(这里的限制条件是2范数,对应于L2正则化)的优化问题变为: \[\begin{aligned} \begin{cases} \mathop{\min} \sum \limits_{i=1}^N (y_i - w^Tx_i)^2 \\ s.t. ||w||^2_2 \leq m \end{cases} \end{aligned}​\] 对应拉格朗日函数 \(\sum \limits_{i=1}^N(y_i - w^Tx_i)^2 + \lambda (||w||_2^2 - m)\) 若 \(w^*\) 和 \(\lambda^*\)

L0、L1、L2范数正则化

无人久伴 提交于 2019-12-04 10:46:46
参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读,方可全面了解LR): (1). https://zhuanlan.zhihu.com/p/74874291 (2). 逻辑回归与交叉熵 (3). https://www.cnblogs.com/pinard/p/6029432.html (4). https://zhuanlan.zhihu.com/p/76563562 (5). https://www.cnblogs.com/ModifyRong/p/7739955.html 一、逻辑回归介绍   逻辑回归(Logistic Regression)是一种广义线性回归。线性回归解决的是回归问题,预测值是实数范围,逻辑回归则相反,解决的是分类问题,预测值是[0,1]范围。所以逻辑回归名为回归,实为分类。接下来让我们用一句话来概括逻辑回归(LR): 逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。 这句话包含了五点,接下来一一介绍: 逻辑回归的假设 逻辑回归的损失函数 逻辑回归的求解方法 逻辑回归的目的 逻辑回归如何分类 二、逻辑回归的假设 任何的模型都是有自己的假设,在这个假设下模型才是适用的。 逻辑回归的第一个基本假设是假设数据服从伯努利分布。 伯努利分布:是一个离散型概率分布,若成功,则随机变量取值1;若失败

过拟合解决方案之正则化

﹥>﹥吖頭↗ 提交于 2019-12-04 08:12:37
1.过拟合问题 对于过拟合问题,通常原因是模型选择太过复杂,也有可能是训练数据太少。对于模型太复杂的情况,我们一般有如下考虑:一是通过分析删除部分特征(比如重复多余的特征或者对输出值贡献不太大的特征),但是这样有可能会损失一部分信息。所以,我们可以通过正则化的方法来降低参数值,从而避免过拟合问题。对于过拟合问题的详细描述,可以查看我的另一篇博客 机器学习之欠拟合与过拟合 。 2.正则化 回顾一下,在回归问题中,在确定模型之后,要根据该损失函数找出使得损失函数最小的参数矩阵。在整个回归过程中,最为重要的一步是确定回归模型。通常情况下,如果选择的模型太简单,就会欠拟合。如果模型选择太复杂,就会过拟合。正则化可以很好地解决之一问题,通过对某些参数进行“惩罚”,就可以达到降低参数值的目的。正则化的方法有很多,这里仅介绍L1正则化和L2正则化,对应的分别是Lasson回归和Ridge回归。正则化就是在损失函数中加入正则项(用 \(\Omega(\theta)\) 表示),L1正则对应的正则项为: \(L1 = \lambda\sum_{i=1}^n|\theta_i|\) ,L2对应的正则项是: \(L2 = \lambda\sum_{i=1}^n\theta_i^2\) 。例如线性回归的正则化损失函数为: \[J(\theta)={1\over 2m} \sum_{i=1}^m (h_

L0、L1、L2范数正则化

微笑、不失礼 提交于 2019-12-03 02:27:54
一、范数的概念 向量范数是定义了向量的类似于长度的性质,满足正定,齐次,三角不等式的关系就称作范数。 一般分为L0、L1、L2与L_infinity范数。 二、范数正则化背景 1. 监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。 2 .  因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性 。 这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因。一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下