证明l1空间中Pl1范数不可微等价

范数_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
范数(norm)是数学中的一种基本概念。在中,它定义在赋范线性空间中,并满足一定的条件,即①非负性;②齐次性;③三角不等式。它常常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。
范数名词定义
范数,是具有“长度”概念的函数。在、及相关的数学领域,范数是一个函数,是内的所有矢量赋予非零的正长度或大小。半范数可以为非零的矢量赋予零长度。
定义范数的矢量空间是赋范矢量空间;同样,定义半范数的矢量空间就是赋半范矢量空间。
注:在二维的欧氏几何空间 R中定义欧氏范数,在该矢量空间中,元素被画成一个从原点出发的带有箭头的有向,每一个矢量的有向线段的长度即为该矢量的欧氏范数。
上的,V的半范数是一个函数
(非负性)
(正值齐次性)
范数=半范数+额外性质
赋范线性空间
是上的线性空间,泛函
(1)正定性:
(2)正齐次性:
(3)次可加性(三角不等式):
上的一个范数。
如果上定义了范数,则称之为赋范线性空间。
是零矢量(正定性)时,
是零矢量;若拓扑矢量空间的可以被范数导出,那么这个拓扑矢量空间被称为赋范矢量空间。
内积、度量、拓扑和范数的关系
,因此赋范线性空间是;但是由度量不一定可以得到范数。
(2) 如果赋范线性空间作为(由其范数自然诱导度量
的)度量空间是完备的,即任何(Cauchy)序列在其中都收敛,则称这个赋范线性空间为巴拿赫(Banach)空间。
;范数不一定可以推出;当范数满足平行四边形公式
时,这个范数一定可以诱导内积;完备的内积空间称为。
(4) 如果去掉范数定义中的正定性,那么得到的泛函称为半范数(seminorm或者叫准范数),相应的线性空间称为赋准范线性空间。
对于X上的两种范数
,若存在正常数C满足:
,那么称这两种范数等价。
可以证明,有限维空间上的范数都等价,无限维空间上至少有阿列夫(实数集的基数)种不等价的范数。
范数算子范数
的线性算子,那么可以按下述方式定义
根据定义容易证明:
对于多个空间之间的复合算子,也有,
如果一个算子T的范数满足
那么称T是,否则称T是无界算子。
如,在常用的范数下,积分是有界的,是无界的。
容易证明,有限的所有线性算子都有界。
范数空间范数
范数基本性质
有限上的范数具有良好的性质,主要体现在以下几个定理:
对于有限维赋范线性空间的任何一组基,范数是元素(在这组基下)的坐标的连续函数。
性质2(Minkowski定理):
有限维线性空间的所有范数都等价。
性质3(Cauchy收敛原理):
实数域(或复数域)上的有限维线性空间(按任何范数)必定完备。
有限维赋范线性空间中的序列按坐标收敛的充要条件是它按任何范数都收敛。
范数常用范数
这里以Cn空间为例,Rn空间类似。
最常用的范数就是p-范数。若
可以验证p-范数确实满足范数的定义。其中三角不等式的证明不是平凡的,这个结论通常称为(Minkowski)不等式。
的时候分别是以下几种最简单的情形:
1-范数:║x║1=│x1│+│x2│+…+│xn│
2-范数:║x║2=(│x1│2+│x2│2+…+│xn│2)1/2
∞-范数:║x║∞=max(│x1│,│x2│,…,│xn│)
其中2-范数就是通常意义下的距离。
对于这些范数有以下:║x║∞ ≤ ║x║2 ≤ ║x║1 ≤ n1/2║x║2 ≤ n║x║∞
另外,若p和q是赫德尔(H&lder)共轭指标,即1/p+1/q=1,那么有赫德尔不等式:
|&x,y&| = ||xH*y| ≤ ║x║p║y║q
当p=q=2时就是柯西-许瓦兹(Cauchy-Schwarz)不等式。
范数矩阵范数
一般来讲范数除了正定性,和之外,还规定其必须满足相容性:
。所以通常也称为相容范数。
如果║·║α是相容范数,且任何满足║·║β≤║·║α的范数║·║β都不是相容范数,那么║·║α称为极小范数。对于n阶实方阵(或复方阵)全体上的任何一个范数║·║,总存在唯一的实数k&0,使得k║·║是极小范数。
注:如果不考虑相容性,那么矩阵范数和范数就没有区别,因为mxn矩阵全体和mn维同构。引入相容性主要是为了保持矩阵作为线性的特征,这一点和算子范数的相容性一致,并且可以得到Mincowski定理以外的信息。
范数诱导的范数
把矩阵看作线性算子,那么可以由向量范数诱导出
║A║ = max{║Ax║:║x║=1}= max{║Ax║/║x║: x≠0}
它自动满足对向量范数的相容性
║Ax║ ≤ ║A║║x║
并且可以由此证明:
║AB║ ≤ ║A║║B║。
⒈ 上述定义中可以用max代替sup是因为有限维空间的单位闭球是紧的(有限开覆盖定理),从而上面的连续函数可以取到最值。
⒉ 单位矩阵的算子范数为1。
常用的三种p-范数推导出的:
║A║1 = max{ ∑|ai1|,∑|ai2|,……,∑|ain| } (列和范数,A每一列元素绝对值之和的最大值)(其中∑|ai1|第一列元素绝对值的和∑|ai1|=|a11|+|a21|+...+|an1|,其余类似);
║A║2 = A的最大奇异值 = (max{ λi(AH*A) }) 1/2 (谱范数,即A^H*Aλi中最大者λ1的平方根,其中AH为A的转置);
║A║∞ = max{ ∑|a1j|,∑|a2j|,...,∑|amj| } (行和范数,A每一行元素绝对值之和的最大值)(其中∑|a1j| 为第一行元素绝对值的和,其余类似);
其它的p-范数则没有很简单的表达式。
对于p-范数而言,可以证明║A║p=║AH║q,其中p和q是共轭指标。
简单的情形可以直接验证:║A║1=║AH║∞,║A║2=║AH║2,一般情形则需要利用║A║p=max{yH*A*x:║x║p=║y║q=1}。
范数非诱导范数
有些矩阵范数不可以由向量范数来诱导,比如常用的Frobenius范数(也叫Euclid范数,简称F-范数或者E-范数):
║A║F= (∑∑ aij2)1/2 (A全部元素平方和的平方根)。
容易验证F-范数是相容的,但当min{m,n}&1时F-范数不能由向量范数诱导(||E11+E22||F=2&1)。
可以证明任一种总有与之相容的范数。
定义║x║=║X║,其中X=[x,x,…,x]是由x作为列的。由于向量的F-范数就是2-范数,所以F-范数和向量的2-范数相容。
另外还有以下结论:
║AB║F &= ║A║F ║B║2
║AB║F ≤ ║A║2 ║B║F
范数矩阵谱半径
A是n阶方阵,λi是其特征值,i=1,2,…,n。则称特征值的绝对值的最大值为A的,记为ρ(A)。
注:注意要将谱半径与谱范数(2-范数)区别开来,谱范数是指A的最大奇异值,即AH*A最大特征值的算术平方根。
谱半径是矩阵的函数,但不是。谱半径和范数的关系是以下几个结论:
谱半径不大于矩阵范数,即ρ(A)≤║A║。
因为任一特征对λ,x,Ax=λx,可得Ax=λx。两边取范数并利用相容性即得结果。
对于任何方阵A以及任意正数e,存在一种矩阵范数使得║A║&ρ(A)+e。
定理3(Gelfand定理):
ρ(A)=lim_{k-&;∞} ║Ak║1/k。
推论1:矩阵序列 I,A,A2,…Ak,… 收敛于零的充要条件是ρ(A)&1。
推论2:级数 I+A+A2+... 收敛到(I-A)-1的充要条件是ρ(A)&1。
范数酉不变范数
如果范数║·║满足║A║=║UAV║对任何矩阵A以及U,V成立,那么这个范数称为酉不变范数。
容易验证,2-范数和F-范数是酉不变范数。因为酉变换不改变矩阵的,所以由奇异值得到的范数是酉不变的,比如2-范数是最大奇异值,F-范数是所有奇异值组成的向量的2-范数。反之可证明,所有的酉不变范数都和奇异值有密切联系:
Von Neumann定理:在酉不变范数和对称度规函数(symmetric gauge function)之间存在一一对应关系。也就是说任何酉不变范数事实上就是所有奇异值的一个对称度规函数。
本词条认证专家为
副教授审核
西南大学电子信息工程学院
清除历史记录关闭& 相关文章 &
欧几里得向量范数(欧式范数…
原文地址:欧几里得向量范数(欧式范数) 作者:finerain 以下摘自时空交互的博客。欧式范数其实就是三维空间距离向欧式空间的延伸。 欧式范数:在欧式空间里,它表示两点间的距离(向量x的模长)。至于欧式空间的定义可以查查百度百科。 欧式范数也称为2-范数,其定义式为: 可见,就是N维空间下的距离的定义。
类似的形式一般化后,就是所谓p-范数,其定义式为:
特别地,有∞-范数,其定义式为: 对于这些范数,有以下的不等式成立:
0范数——向量中非0的元素的个数 无穷范数——向量中最大元素的绝对值 Nuclear Norm 矩阵的1范数: 矩阵的2范数: 矩阵的F范数: 矩阵的无穷范数: 向量范数: 转自:matlab自带help~
弗罗贝尼乌斯范数(Frobenius norm)
弗罗贝尼乌斯范数 对 p = 2,这称为弗罗贝尼乌斯范数(Frobenius norm)或希尔伯特-施密特范数( Hilbert–Schmidt norm),不过后面这个术语通常只用于希尔伯特空间。这个范数可用不同的方式定义: 这里 A* 表示 A 的共轭转置,σi 是 A 的奇异值,并使用了迹函数。弗罗贝尼乌斯范数与 Kn 上欧几里得范数非常类似,来自所有矩阵的空间上一个内积。 弗罗贝尼乌斯范范数是服从乘法的且在数值线性代数中非常有用。这个范数通常比诱导范数容易计算。
%X为向量,求欧几里德范数,即 。 n = norm(X,inf) %求 -范数,即 。 n = norm(X,1) %求1-范数,即 。 n = norm(X,-inf) %求向量X的元素的绝对值的最小值,即 。 n = norm(X, p) %求p-范数,即 ,所以norm(X,2) = norm(X)。 命令 矩阵的范数函数 norm格式 n = norm(A) %A为矩阵,求欧几里德范数 ,等于A的最大奇异值。 n = norm(A,1) %求A的列范数 ,等于A的列向量的1-范数
矩阵论 第四章 矩阵分析(1) 范数
|| 称为x的范数. 以上也是范数的三条公理. 一般讨论为有限维空间. 常见的范数有: 1范数(向量每个元素的绝对值之和), 无穷范数(向量元素中绝对值最大的元素的绝对值), 2范数(所有元素绝对值的平方和的1/2次方, 即酉空间由内积诱导的范数.) p-范数是: 把2范数里的平方换成p次方, 最后1/2换成1/p次方,即是p-范数. 根据定义即可证明它们满足范数条件. 两个泛函分析中的基本不等式: Holder不等式: 设p,q&1, 且 1/p + 1/q = 1, 则任意x,y∈V, 有
机器学习中的规则化范数(L0, L1, L2, 核范数)
机器学习中的规则化范数(L0, L1, L2, 核范数)
L1 L2范数 概念
1 范数 向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离。 向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| &= 0,齐次性||cx|| = |c| ||x|| ,三角不等式||x+y|| &= ||x|| + ||y||。 常用的向量的范数: L0范数:||x||0为x向量各个非零元素的个数 L1范数:
||x||1 为x向量各个元素绝对值之和。 L2范数:
||x||2为x向量各个元素平方和的1/2次方,L2范数又称
范数:是对向量和矩阵的一种度量,实际上是二维和三维向量长度概念的推广,是绝对值概念的自然推广。 定义1:若向量的某个实值函数f(x)=||x||,满足,
(1)正定性:||x||=&0,且||x||=0当且仅当x=0。
(2)齐次性:对任意实数,都有。
(3)三角不等式:对任意,有||x+y||&=||x||+||y||。 则称:||x||为上的一个向量范数(vector norms) 常用的有
向量的范数以及矩阵的范数
1:向量的范数是这么定义的: 也就是说只要满足这个定义的函数,所求出来的值都是可以成为这个向量的范数,那么常见的这个函数有以下几种: 2:同样矩阵的范数的定义也是如此,定义如下: 同样可以看出来,只要满足矩阵范数定义的函数所对矩阵求出来的值也都叫矩阵的范数,常见的有如下: 但是有个最常见的就是F范,它是这样子的: 好了结束,很多我是截图讲义上的。。
长度,线性赋范空间相当于定义了长度的空间,所有的线性赋范空间都是距离空间。
以有限维空间来说,向量的范数相当于向量的模的长度。但是在有限维欧式空间中还有一个很重要的概念—向量的夹角,特别是两个向量的正交。内积空间是特殊的线性赋范空间,在这类空间中可以引入正交的概念以及投影的概念,从而在内积空间中建立起相应的几何学。用内积导出的范数来定义距离,Banach空间就成为了希尔伯特空间。
在距离空间中通过距离的概念引入了点列的极限,但是只有距离结构、没有代数结构的空间,在应用过程中
(diag(A'*A))) 2、如果A为向量
返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意 1&p&+∞. norm(A)
返回向量A的2范数,即等价于norm(A,2)。 norm(A,inf)
返回max(abs(A)) norm(A,-inf)
返回min(abs(A))
矩阵 (向量) 的范数运算 为了反映了矩阵 (向量) 某些特性,线性代数中引入了范数的概念,它分为2-范数,1-范数,无穷范数
返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意 1&p&+∞. norm(A)
返回向量A的2范数,即等价于norm(A,2)。 norm(A,inf)
返回max(abs(A)) norm(A,-inf)
返回min(abs(A))
矩阵 (向量) 的范数运算 为了反映了矩阵 (向量) 某些特性,线性代数中引入了范数的概念,它分为2-范数,1-范数,无穷范数和Frobenius范数等.在MATLAB中,用函数norm( )或normest
一、范数 被选择的参数,应该使算出的函数曲线与观测值之差的平方和最小。用函数表示为: 用欧几里得度量表达为: 1-范数:是指向量(矩阵)里面非零元素的个数。类似于求棋盘上两个点间的沿方 格边缘的距离。
||x||1 = sum(abs(xi)); 2-范数(或Euclid范数):是指空间上两个向量矩阵的直线距离。类似于求棋盘上两点见的直线距离
(无需只沿方格边缘)。
||x||2 = sqrt(sum(xi.^2)); ∞-范数
范数的物理意义(转)
事物,自然也可以抽象为映射空间中的一个点,这就是泛函中需要研究的对象——函数。 从一个线性空间到另一个线性空间的线性映射,可以用一个矩阵来表达,矩阵被看线性作映射,线性映射的性质可以通过研究矩阵的性质来获得,比如矩阵的秩反映了线性映射值域空间的维数,可逆矩阵反映了线性映射的可逆,而矩阵的范数又反映了线性映射的哪些方面的性质呢?矩阵范数反映了线性映射把一个向量映射为另一个向量,向量的“长度”缩放的比例。 范数是把一个事物映射到非负实数,且满足非负性、齐次性、三角不等式,符合以上定义的都可以称之为
今天学习了《Basic LinearAlgebra Subprobrams for Fortran Usage》。
为什么开发BLAS包
抽象线性代数运算的底层操作,便于设计和编程,提高代码的自文档性,方便从底层基本操作入手优化整个程序运行时间,一些底层操作涉及到一般程序难以考虑的问题,增加可移植性等等。
BLAS包的组成
函数 名称 点积 DOT 常数乘以向量加另一个向量 AXPY 准备Givens旋转 ROTG 实施旋转 ROT 准备修改过的Givens旋转 ROTMG 实施修改过的旋转 GOTM 把x复制到y COPY 交换x和y SWAP 2-范数(欧几里得长度) NRM2 绝对值求和 ASUM 常数乘以向量 SCAL 最大绝对值元素的索引 AMAX
向量X的归一化及其Matlab简单示例
Come from: 链接地址 归一化是要把需要处理的数据经过处理后限制在一定范围内,例如:[-1,1]或[0,1]。归一化是为了后续数据处理的方便,也使得算法程序收敛加快。 在Matlab里面,归一化的方法共有3种: (1) mapminmax % 范围映射 (2)mapstd % 均值与偏差 (3)自定义函数 在数据预处理过程中,对数据集按行或者按列(统一记为向量X)进行L1或者L2范数归一化是一种常见的处理方式。 对于向量X(x1,x2,...,xn),记norm(X)为向量X的范数
, is defined as: the conjugate transpose
7. 向量范数 1-范数: 2-范数: -范数: p-范数: 8. 矩阵范数 Frobenius范数,或简称F-范数: 列和范数、谱范数和行和范数: If the singular values are denoted by σi, then the Schatten p-norm is defined by The most familiar cases are p = 1, 2, ∞. The case p
两者相同的地方,就是在机器学习中都可以用来计算相似度,但是两者的含义有很大差别,以我的理解就是: 前者是看成坐标系中两个点,来计算两点之间的距离; 后者是看成坐标系中两个向量,来计算两向量之间的夹角。 前者因为是点,所以一般指位置上的差别,即距离; 后者因为是向量,所以一般指方向上的差别,即所成夹角。 如下图所示: 数据项A和B在坐标图中当做点时,两者相似度为距离dist(A,B),可通过欧氏距离(也叫欧几里得距离)公式计算: 当做向量时,两者相似度为cosθ,可通过余弦公式计算: 假设
函的方法寻找函数),那么考虑使用一个叫 做"范数"的概念来表达这种度量。曼哈顿距离是1范数,欧式直线距离时二范数,还有N范数各自代表不同的意义。这个范数是为了满足某些我们想要的性质而人 为构造出来的,是向量空间向标量空间的一个映射(数和量的统一,几何到代数的映射)。当我们找到了这样的一个函数的时候,我们就叫N范数,用双直 线||x||表示。如果一个向量空间上面的元素/关系都能被这个范数映射到标量空间中,我们就把这个向量空间叫做赋范空间----也就是这个空间的元素, 存在某种可以度量的属性,具有
浅显易懂的关于点到超平面的欧式距离的说明,以及说明了在SVM为何要求距离最大化。 SVM入门(三)线性分类器Part 2 载自链接地址
嘉士伯的Java小屋 上回说到对于文本分类这样的不适定问题(有一个以上解的问题称为不适定问题),需要有一个指标来衡量解决方案(即我们通过训练建立的分类模型)的好坏,而分类间隔是一个比较好的指标。 在进行文本分类的时候,我们可以让计算机这样来看待我们提供给它的训练样本,每一个样本由一个向量(就是那些文本特征所组成的向量)和一个标记(标示出这个样本属于哪个
& 2012 - 2016 & aiuxian.com &All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";范数概念_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢豆丁微信公众号
君,已阅读到文档的结尾了呢~~
范数全全 日   若范数满足:   1
正定性:║x║≥0,且║x║ 0
齐次性:║cx║ │c│║x║;
次可加性 三角不等式 :║x y║≤║x║ ║y║。
  注意到║x y║≤║x║ ║y║中如令y
x,再利用║ x║ ║x║可以得到║x║≥0,即║x║≥0在定义中不是必要的。
  如果线性空间上定义了范数,则称之为赋范线性空间。
  注记:范..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口机器学习中的范数规则化之(一)L0、L1与L2范数
我的图书馆
机器学习中的范数规则化之(一)L0、L1与L2范数
机器学习中的范数规则化之(一)L0、L1与L2范数&& & & &今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化。我们先简单的来理解下常用的L0、L1、L2和核范数规则化。最后聊下规则化项参数的选择问题。这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文。知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正。谢谢。&& & & &监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。多么简约的哲学啊!因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性。这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因。一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下,它肯定能更快的学习相应的任务。只是由于人和机器的交流目前还没有那么直接的方法,目前这个媒介只能由规则项来担当了。& & & &还有几种角度来看待规则化的。规则化符合奥卡姆剃刀(Occam's razor)原理。这名字好霸气,razor!不过它的思想很平易近人:在所有可能选择的模型中,我们应该选择能够很好地解释已知数据并且十分简单的模型。从贝叶斯估计的角度来看,规则化项对应于模型的先验概率。民间还有个说法就是,规则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或惩罚项(penalty term)。& & & &一般来说,监督学习可以看做最小化下面的目标函数: & & & &其中,第一项L(yi,f(xi;w)) 衡量我们的模型(分类或者回归)对第i个样本的预测值f(xi;w)和真实的标签yi之前的误差。因为我们的模型是要拟合我们的训练样本的嘛,所以我们要求这一项最小,也就是要求我们的模型尽量的拟合我们的训练数据。但正如上面说言,我们不仅要保证训练误差最小,我们更希望我们的模型测试误差小,所以我们需要加上第二项,也就是对参数w的规则化函数Ω(w)去约束我们的模型尽量的简单。& & & & OK,到这里,如果你在机器学习浴血奋战多年,你会发现,哎哟哟,机器学习的大部分带参模型都和这个不但形似,而且神似。是的,其实大部分无非就是变换这两项而已。对于第一项Loss函数,如果是Square loss,那就是最小二乘了;如果是Hinge Loss,那就是著名的SVM了;如果是exp-Loss,那就是牛逼的 Boosting了;如果是log-Loss,那就是Logistic Regression了;还有等等。不同的loss函数,具有不同的拟合特性,这个也得就具体问题具体分析的。但这里,我们先不究loss函数的问题,我们把目光转向“规则项Ω(w)”。& & & &规则化函数Ω(w)也有很多种选择,一般是模型复杂度的单调递增函数,模型越复杂,规则化值就越大。比如,规则化项可以是模型参数向量的范数。然而,不同的选择对参数w的约束不同,取得的效果也不同,但我们在论文中常见的都聚集在:零范数、一范数、二范数、迹范数、Frobenius范数和核范数等等。这么多范数,到底它们表达啥意思?具有啥能力?什么时候才能用?什么时候需要用呢?不急不急,下面我们挑几个常见的娓娓道来。&一、L0范数与L1范数& & & &L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。这太直观了,太露骨了吧,换句话说,让参数W是稀疏的。OK,看到了“稀疏”二字,大家都应该从当下风风火火的“压缩感知”和“稀疏编码”中醒悟过来,原来用的漫山遍野的“稀疏”就是通过这玩意来实现的。但你又开始怀疑了,是这样吗?看到的papers世界中,稀疏不是都通过L1范数来实现吗?脑海里是不是到处都是||W||1影子呀!几乎是抬头不见低头见。没错,这就是这节的题目把L0和L1放在一起的原因,因为他们有着某种不寻常的关系。那我们再来看看L1范数是什么?它为什么可以实现稀疏?为什么大家都用L1范数去实现稀疏,而不是L0范数呢?& & & &L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。现在我们来分析下这个价值一个亿的问题:为什么L1范数会使权值稀疏?有人可能会这样给你回答“它是L0范数的最优凸近似”。实际上,还存在一个更美的回答:任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。这说是这么说,W的L1范数是绝对值,|w|在w=0处是不可微,但这还是不够直观。这里因为我们需要和L2范数进行对比分析。所以关于L1范数的直观理解,请待会看看第二节。& & & &对了,上面还有一个问题:既然L0可以实现稀疏,为什么不用L0,而要用L1呢?个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以大家才把目光和万千宠爱转于L1范数。 & & & &OK,来个一句话总结:L1范数和L0范数可以实现稀疏,L1因具有比L0更好的优化求解特性而被广泛应用。& & & &好,到这里,我们大概知道了L1可以实现稀疏,但我们会想呀,为什么要稀疏?让我们的参数稀疏有什么好处呢?这里扯两点:1)特征选择(Feature Selection):& & & &大家对稀疏规则化趋之若鹜的一个关键原因在于它能实现特征的自动选择。一般来说,xi的大部分元素(也就是特征)都是和最终的输出yi没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xi这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确yi的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。2)可解释性(Interpretability):& & & &另一个青睐于稀疏的理由是,模型更容易解释。例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型:y=w1*x1 w2*x2 … w1000*x1000 b(当然了,为了让y限定在[0,1]的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的w*就只有很少的非零元素,例如只有5个非零的wi,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。但如果1000个wi都非0,医生面对这1000种因素,累觉不爱。&二、L2范数& & & &除了L1范数,还有一种更受宠幸的规则化范数是L2范数: ||W||2。它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的很多吧,因为它的强大功效是改善机器学习里面一个非常重要的问题:过拟合。至于过拟合是什么,上面也解释了,就是模型训练时候的误差很小,但在测试的时候误差很大,也就是我们的模型复杂到可以拟合到我们的所有训练样本了,但在实际预测新的样本的时候,糟糕的一塌糊涂。通俗的讲就是应试能力很强,实际应用能力很差。擅长背诵知识,却不懂得灵活利用知识。例如下图所示(来自Ng的course): & & & &上面的图是线性回归,下面的图是Logistic回归,也可以说是分类的情况。从左到右分别是欠拟合(underfitting,也称High-bias)、合适的拟合和过拟合(overfitting,也称High variance)三种情况。可以看到,如果模型复杂(可以拟合任意的复杂函数),它可以让我们的模型拟合所有的数据点,也就是基本上没有误差。对于回归来说,就是我们的函数曲线通过了所有的数据点,如上图右。对分类来说,就是我们的函数曲线要把所有的数据点都分类正确,如下图右。这两种情况很明显过拟合了。 & & & &OK,那现在到我们非常关键的问题了,为什么L2范数可以防止过拟合?回答这个问题之前,我们得先看看L2范数是个什么东西。& & & &L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这里是有很大的区别的哦。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。为什么越小的参数说明模型越简单?我也不懂,我的理解是:限制了参数很小,实际上就限制了多项式某些分量的影响很小(看上面线性回归的模型的那个拟合的图),这样就相当于减少参数个数。其实我也不太懂,希望大家可以指点下。& & & &这里也一句话总结下:通过L2范数,我们可以实现了对模型空间的限制,从而在一定程度上避免了过拟合。& & & &L2范数的好处是什么呢?这里也扯上两点:1)学习理论的角度:& & & &从学习理论的角度来说,L2范数可以防止过拟合,提升模型的泛化能力。2)优化计算的角度:& & & &从优化或者数值计算的角度来说,L2范数有助于处理 condition number不好的情况下矩阵求逆很困难的问题。哎,等等,这condition number是啥?我先google一下哈。& & & &这里我们也故作高雅的来聊聊优化问题。优化有两大难题,一是:局部最小值,二是:ill-condition病态问题。前者俺就不说了,大家都懂吧,我们要找的是全局最小值,如果局部最小值太多,那我们的优化算法就很容易陷入局部最小而不能自拔,这很明显不是观众愿意看到的剧情。那下面我们来聊聊ill-condition。ill-condition对应的是well-condition。那他们分别代表什么?假设我们有个方程组AX=b,我们需要求解X。如果A或者b稍微的改变,会使得X的解发生很大的改变,那么这个方程组系统就是ill-condition的,反之就是well-condition的。我们具体举个例子吧: & & & &咱们先看左边的那个。第一行假设是我们的AX=b,第二行我们稍微改变下b,得到的x和没改变前的差别很大,看到吧。第三行我们稍微改变下系数矩阵A,可以看到结果的变化也很大。换句话来说,这个系统的解对系数矩阵A或者b太敏感了。又因为一般我们的系数矩阵A和b是从实验数据里面估计得到的,所以它是存在误差的,如果我们的系统对这个误差是可以容忍的就还好,但系统对这个误差太敏感了,以至于我们的解的误差更大,那这个解就太不靠谱了。所以这个方程组系统就是ill-conditioned病态的,不正常的,不稳定的,有问题的,哈哈。这清楚了吧。右边那个就叫well-condition的系统了。& & & &还是再啰嗦一下吧,对于一个ill-condition的系统,我的输入稍微改变下,输出就发生很大的改变,这不好啊,这表明我们的系统不能实用啊。你想想看,例如对于一个回归问题y=f(x),我们是用训练样本x去训练模型f,使得y尽量输出我们期待的值,例如0。那假如我们遇到一个样本x’,这个样本和训练样本x差别很小,面对他,系统本应该输出和上面的y差不多的值的,例如0.00001,最后却给我输出了一个0.9999,这很明显不对呀。就好像,你很熟悉的一个人脸上长了个青春痘,你就不认识他了,那你大脑就太差劲了,哈哈。所以如果一个系统是ill-conditioned病态的,我们就会对它的结果产生怀疑。那到底要相信它多少呢?我们得找个标准来衡量吧,因为有些系统的病没那么重,它的结果还是可以相信的,不能一刀切吧。终于回来了,上面的condition number就是拿来衡量ill-condition系统的可信度的。condition number衡量的是输入发生微小变化的时候,输出会发生多大的变化。也就是系统对微小变化的敏感度。condition number值小的就是well-conditioned的,大的就是ill-conditioned的。& & & &如果方阵A是非奇异的,那么A的conditionnumber定义为: & & & &也就是矩阵A的norm乘以它的逆的norm。所以具体的值是多少,就要看你选择的norm是什么了。如果方阵A是奇异的,那么A的condition number就是正无穷大了。实际上,每一个可逆方阵都存在一个condition number。但如果要计算它,我们需要先知道这个方阵的norm(范数)和Machine Epsilon(机器的精度)。为什么要范数?范数就相当于衡量一个矩阵的大小,我们知道矩阵是没有大小的,当上面不是要衡量一个矩阵A或者向量b变化的时候,我们的解x变化的大小吗?所以肯定得要有一个东西来度量矩阵和向量的大小吧?对了,他就是范数,表示矩阵大小或者向量长度。OK,经过比较简单的证明,对于AX=b,我们可以得到以下的结论: & & & &也就是我们的解x的相对变化和A或者b的相对变化是有像上面那样的关系的,其中k(A)的值就相当于倍率,看到了吗?相当于x变化的界。& & & &对condition number来个一句话总结:conditionnumber是一个矩阵(或者它所描述的线性系统)的稳定性或者敏感度的度量,如果一个矩阵的condition number在1附近,那么它就是well-conditioned的,如果远大于1,那么它就是ill-conditioned的,如果一个系统是ill-conditioned的,它的输出结果就不要太相信了。& & & &好了,对这么一个东西,已经说了好多了。对了,我们为什么聊到这个的了?回到第一句话:从优化或者数值计算的角度来说,L2范数有助于处理 condition number不好的情况下矩阵求逆很困难的问题。因为目标函数如果是二次的,对于线性回归来说,那实际上是有解析解的,求导并令导数等于零即可得到最优解为: & & & &然而,如果当我们的样本X的数目比每个样本的维度还要小的时候,矩阵XTX将会不是满秩的,也就是XTX会变得不可逆,所以w*就没办法直接计算出来了。或者更确切地说,将会有无穷多个解(因为我们方程组的个数小于未知数的个数)。也就是说,我们的数据不足以确定一个解,如果我们从所有可行解里随机选一个的话,很可能并不是真正好的解,总而言之,我们过拟合了。& & & &但如果加上L2规则项,就变成了下面这种情况,就可以直接求逆了: & & & &这里面,专业点的描述是:要得到这个解,我们通常并不直接求矩阵的逆,而是通过解线性方程组的方式(例如高斯消元法)来计算。考虑没有规则项的时候,也就是λ=0的情况,如果矩阵XTX的 condition number 很大的话,解线性方程组就会在数值上相当不稳定,而这个规则项的引入则可以改善condition number。& & & &另外,如果使用迭代优化的算法,condition number 太大仍然会导致问题:它会拖慢迭代的收敛速度,而规则项从优化的角度来看,实际上是将目标函数变成λ-strongly convex(λ强凸)的了。哎哟哟,这里又出现个λ强凸,啥叫λ强凸呢?& & & &当f满足: & & & &时,我们称f为λ-stronglyconvex函数,其中参数λ&0。当λ=0时退回到普通convex 函数的定义。& & & &在直观的说明强凸之前,我们先看看普通的凸是怎样的。假设我们让f在x的地方做一阶泰勒近似(一阶泰勒展开忘了吗?f(x)=f(a) f'(a)(x-a) o(||x-a||).): & & & &直观来讲,convex 性质是指函数曲线位于该点处的切线,也就是线性近似之上,而 strongly convex 则进一步要求位于该处的一个二次函数上方,也就是说要求函数不要太“平坦”而是可以保证有一定的“向上弯曲”的趋势。专业点说,就是convex 可以保证函数在任意一点都处于它的一阶泰勒函数之上,而strongly convex可以保证函数在任意一点都存在一个非常漂亮的二次下界quadratic lower bound。当然这是一个很强的假设,但是同时也是非常重要的假设。可能还不好理解,那我们画个图来形象的理解下。 & & & &大家一看到上面这个图就全明白了吧。不用我啰嗦了吧。还是啰嗦一下吧。我们取我们的最优解w*的地方。如果我们的函数f(w),见左图,也就是红色那个函数,都会位于蓝色虚线的那根二次函数之上,这样就算wt和w*离的比较近的时候,f(wt)和f(w*)的值差别还是挺大的,也就是会保证在我们的最优解w*附近的时候,还存在较大的梯度值,这样我们才可以在比较少的迭代次数内达到w*。但对于右图,红色的函数f(w)只约束在一个线性的蓝色虚线之上,假设是如右图的很不幸的情况(非常平坦),那在wt还离我们的最优点w*很远的时候,我们的近似梯度(f(wt)-f(w*))/(wt-w*)就已经非常小了,在wt处的近似梯度?f/?w就更小了,这样通过梯度下降wt 1=wt-α*(?f/?w),我们得到的结果就是w的变化非常缓慢,像蜗牛一样,非常缓慢的向我们的最优点w*爬动,那在有限的迭代时间内,它离我们的最优点还是很远。& & & &所以仅仅靠convex 性质并不能保证在梯度下降和有限的迭代次数的情况下得到的点w会是一个比较好的全局最小点w*的近似点(插个话,有地方说,实际上让迭代在接近最优的地方停止,也是一种规则化或者提高泛化性能的方法)。正如上面分析的那样,如果f(w)在全局最小点w*周围是非常平坦的情况的话,我们有可能会找到一个很远的点。但如果我们有“强凸”的话,就能对情况做一些控制,我们就可以得到一个更好的近似解。至于有多好嘛,这里面有一个bound,这个 bound 的好坏也要取决于strongly convex性质中的常数α的大小。看到这里,不知道大家学聪明了没有。如果要获得strongly convex怎么做?最简单的就是往里面加入一项(α/2)*||w||2。& & & &呃,讲个strongly convex花了那么多的篇幅。实际上,在梯度下降中,目标函数收敛速率的上界实际上是和矩阵XTX的 condition number有关,XTX的 condition number 越小,上界就越小,也就是收敛速度会越快。这一个优化说了那么多的东西。还是来个一句话总结吧:L2范数不但可以防止过拟合,还可以让我们的优化求解变得稳定和快速。& & & &好了,这里兑现上面的承诺,来直观的聊聊L1和L2的差别,为什么一个让绝对值最小,一个让平方最小,会有那么大的差别呢?我看到的有两种几何上直观的解析:1)下降速度:& & & &我们知道,L1和L2都是规则化的方式,我们将权值参数以L1或者L2的方式放到代价函数里面去。然后模型就会尝试去最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的差别就在于这个“坡”不同,如下图:L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快。所以会非常快得降到0。不过我觉得这里解释的不太中肯,当然了也不知道是不是自己理解的问题。 & & & &L1在江湖上人称Lasso,L2人称Ridge。不过这两个名字还挺让人迷糊的,看上面的图片,Lasso的图看起来就像ridge,而ridge的图看起来就像lasso。2)模型空间的限制:& & & &实际上,对于L1和L2规则化的代价函数来说,我们可以写成以下形式: & & & &也就是说,我们将模型空间限制在w的一个L1-ball 中。为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解: & & & &可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。& & & &相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。& & & &因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。& & & &OK,就聊到这里。下一篇博文我们聊聊核范数和规则化项参数选择的问题。全篇的参考资料也请见下一篇博文,这里不重复列出。谢谢。
喜欢该文的人也喜欢

我要回帖

更多关于 l1范数 的文章

 

随机推荐