L1、L2范式及稀疏性约束

L1、L2范式及稀疏性约束

假设需要求解的目标函数为:

E(x) = f(x) + r(x)

其中f(x)为损失函数,用来评价模型训练损失,必须是任意的可微凸函数,r(x)为规范化约束因子,用来对模型进行限制,根据模型参数的概率分布不同,r(x)一般有:L1范式约束(模型服从高斯分布),L2范式约束(模型服从拉普拉斯分布);其它的约束一般为两者组合形式。

L1范式约束一般为:

L2范式约束一般为:

L1范式可以产生比较稀疏的解,具备一定的特征选择的能力,在对高维特征空间进行求解的时候比较有用;L2范式主要是为了防止过拟合。

稀疏性约束

在文章Non-negative Matrix Factorization With Sparseness Constraints中,将L1范式和L2范式组合起来形成新的约束条件,用稀疏度来表示L1范式和L2范式之间的关系(转发时注:下面公式,根号内应该是求平方和):

当向量x中只有一个非零的值时,稀疏度为1,当所有元素非零且相等的时候稀疏度为0。n表示向量x的维度。不同稀疏度的向量表示如下:

时间: 2024-11-05 04:39:04

L1、L2范式及稀疏性约束的相关文章

机器学习中的规则化范数(L0, L1, L2, 核范数)

目录: 一.L0,L1范数 二.L2范数 三.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 监督机器学习问题无非就是"minimizeyour error while regularizing your parameters",也

浅谈压缩感知(九):范数与稀疏性

问题: 压缩感知问题求稀疏解时,一般采用0范数或者1范数来建立数学模型.那么为什么0范数或1范数可以得到稀疏解呢? 解释与分析: 1.范数 常见的有L0范数.L1范数.L2范数,经常要将L0范数等价为L1范数去求解,因为L1范数求解是一个凸优化问题,而L0范数求解是一个NP难问题. L0范数指的是x中非零元素的个数,即x的稀疏度,如果x是K稀疏的,则l0范数等于K: L1范数指的是x中所有元素模值的和: L2范数指的是x中所有元素模值平方的和 再平方,这个带公式就可以了,它代表着距离的概念: 还

线性模型 泛化优化 之 L1 L2 正则化

认识 L1, L2 从效果上来看, 正则化通过, 对ML的算法的任意修改, 达到减少泛化错误, 但不减少训练误差的方式的统称 训练误差 这个就损失函数什么的, 很好理解. 泛化错误 假设 我们知道 预测值 和 真实值 之前的 "误差" , 这就是泛化错误 跟训练数据没关系, 就是在用模型预测的时候, 给预测值 "加" 是一个项来修正模型 类似于 给 模型的预测值, 加上了一个 "修正项" 损失函数 = Loss + 正则化项 举个线性回归的栗子

利用ReLU输出稀疏性加速卷积

一篇讲利用ReLU输出的稀疏性来加速卷积计算的论文,其目的和另一篇文章<More is less> 有点类似. 实验效果似乎还不错,但似乎并没有很大的创新. 文章链接: <Speeding up Convolutional Neural Networks By Exploiting the Sparsity of Rectifier Units> Motivation 下图的结论是:使用ReLU作为激活函数的网络,其网络输出通常都非常稀疏. 另一方面,目前的稀疏矩阵运算效率并不高.

mysql为表添加外键完成性约束 报错Can&#39;t create table &#39;sfkbbs.#sql-513_25&#39; (errno: 150)

代码 alter table sfk_son_module add constraint foreign key(father_module_id) references sfk_father_module(id) on delete restrict on update restrict; (constraint 后面可以加上约束名字) 错误原因是之前两张表的id的类型不一样,一个时int,一个时bigint 解决办法时修改表, alter table sfk_father_module mo

习题2.5 两个有序链表序列的合并(15 分)&lt;有疑问?L1 L2 没办法变空&gt;

习题2.5 两个有序链表序列的合并(15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode L

L1范式和L2范式的区别

L1 and L2 regularization add a cost to high valued weights to prevent overfitting. L1 regularization is an absolute value cost function and tends to set more weights to 0 (places more mass on zero weights) compared to L2 regularization. Difference be

L1&amp;L2 Regularization

正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大--因为训练出来的网络过拟合了训练集,对训练集外的数据却不work. 为了防止overfitting,可以用的方法有很多,下文就将以此展开.有一个概念需要先说明,在机器学习算法中,我们常常将原始数据集分为三部分:t

稀疏自动编码之自动编码器和稀疏性

到目前为止,已经叙述了神经网络的监督学习,即学习的样本都是有标签的.现在假设我们有一个没有标签的训练集,其中. 自动编码器就是一个运用了反向传播进行无监督学习的神经网络,学习的目的就是为了让输出值和输入值相等,即.下面就是一个自动编码器: 自动编码器试图学习一个函数. 换句话说,它试图逼近一个等式函数,使得该函数的输出  和输入  很近似.举一个具体的例子,假设输入  是来自一个  图像(共100个像素点)像素点的灰度值,在  层有  个隐层节点. 注意输出 . 由于隐层节点只有50个,所以网络