【转载请注明出处】http://www.cnblogs.com/mashiqi

Today I try to give a brief inspection on why we always choose one-norm as the approximation of zero-norm, which is a sparsity indicator. This blog is not rigorous in theory, but I just want give a intuitive explanation. It may be extended to be more comprehensive in the future.

I begin to know something about zero-norm totally from the emergence of the so-called Compressive Sensing theory. While CS brings us a bunch of encouraging tools to handle some problems, such as image denoising, we also know that it is hard to operate directly on the zero-norm (in fact it is NP-hard). Therefore many scholars regard one-norm as an agreeable alternative for zero-norm! But why one-norm, why isn't two-norm or other?

There is a picture (with some small modefication for my own usage) from [Davenport et al. 2011] that gives a illustrative explanation of what I want to express.

We see that the intersection $\hat{x}$ when $p=1/2$ is equivalent to $\hat{x}$ when $p=1$--both are the intersection of solid line and y-axis. But the corresponding intersection of $p=2$ and $p=\infty$ is not so--they are in somewhere out of any axis. Further, for the first two intersections each is only have one coordinate that is non-zero, and $0 \leq p \leq 1$. Then I give my intuitive explanation of the main question of this blog: the shape of the contour of some critical points, such as intersections of unit circle and axes, of the $l_p$ space attributes a lot to the sparsity of the solution of an algorithm performed in this $l_p$ space, and these intersections is like a sharp vertex when $0 \leq p \leq 1$, while they are dull when $p > 1$. I'll show this a simple mathematical example.

Let's consider the $l_p$ unit cirle in two-dimensional space: $$\|(x,y)\|_p = (x^p + y^p)^{1/p} = x^p + y^p = 1,~(p \geq 0)$$ For simplicity, I only plot the unit cirle in the first quadrant ($y = (1 - x^p)^{1/p},~(x \geq 0, y \geq 0)$):

It is very necessary to investigate the detail around $x=0$, and the tangential of the unit circle in that point is the key point to understand my intuitive explanation. Now let's see the detail and the tangential in $x=0$ to see what happened there.

In these figure, blue lines are unit circle and red lines is the tangential line of the point $(0,1)$. We see that the tangential line is vertial when $p = 0.2$ and $p = 0.8$, and is horizontal when $p = 1.2$ and $p = 1.8$. $p = 1$ is the cut-off point. In fact we can do some simple mathematics to prove that the tangential is vertial when $0 \leq p < 1$ and horizontal when $p > 1$, and only when $p = 1$ the tangential is on an angle of 45 degree. Therefore when $0 \leq p < 1$, there is a sharp vertex in $(1,0)$.

Reference:

Davenport, Mark A., et al. "Introduction to compressed sensing." Preprint 93 (2011).

Why one-norm is an agreeable alternative for zero-norm?的更多相关文章

  1. norm函数的作用,matlab

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的返回A中最大一列和,即max(sum(abs(A))) 2 返回A的最大奇异值,和n=norm(A)用法一样 inf 返回A中最大一行 ...

  2. MATLAB 中NORM运用

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM   Matrix or vector ...

  3. (转)几种范数的解释 l0-Norm, l1-Norm, l2-Norm, … , l-infinity Norm

    几种范数的解释 l0-Norm, l1-Norm, l2-Norm, - , l-infinity Norm from Rorasa's blog l0-Norm, l1-Norm, l2-Norm, ...

  4. matlab norm的使用

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vector n ...

  5. matlab norm 范式

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 p  返回值  1  返回A中最大一列和,即max(sum(abs(A)))  2 返回A的 ...

  6. Matlab norm 用法小记

    Matlab norm 用法小记 matlab norm (a) 用法以及实例 norm(A,p)当A是向量时norm(A,p)   Returns sum(abs(A).^p)^(1/p), for ...

  7. matlab中norm与svd函数用法

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释: NORM Matrix or vector ...

  8. matlab中norm函数的用法

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM   Matrix or vecto ...

  9. python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)

    求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axi ...

随机推荐

  1. [问题2014A05] 复旦高等代数 I(14级)每周一题(第七教学周)

    [问题2014A05]  (1) 设 \(x_1,x_2\cdots,x_n,x\) 都是未定元, \(s_k=x_1^k+x_2^k+\cdots+x_n^k\,(k\geq 1)\), \(s_0 ...

  2. ubuntu14.04纯命令行下连接有线网和无线网

    在ubuntu下网络管理器Network Manager莫名奇妙出现无法连接无线网的情况,于是昨天就开始着手解决这一问题: 一 :卸载 1.第一步卸载Network-Manager (具体字母的大小写 ...

  3. VMware技巧01

    1.20160930 VMware® Workstation 10.0.4 build-2249910,使用中遇到问题(WinXP sp3):网卡 桥接模式,NAT模式 都连不上网... 今天,尝试了 ...

  4. linux详细redis安装和php中redis扩展

    第一部分:安装redis 希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: 1 2 3 4 5 6 ...

  5. Python centOS 安装

    Python 默认版本是2.4.3的,如果需要使用其他版本的需要下载安装 1.下载安装 # cd /usr/local/src # wget https://www.python.org/ftp/py ...

  6. html中button自动提交表单?

    在ie中,button默认的type是button,而其他浏览器和W3C标准中button默认的属性都是submit

  7. DELETE与TRUNCATE的区别

    当执行 DELETE FROM TABLE后,会发现针对一个DELETE语句,该表中有多少行内容,数据库日志文件中,相对应的记录是就是多少条,每一条记录,对应的是行级别的删除.而且对应的LSN编号也是 ...

  8. SPSS数据分析—多元方差分析

    之前的单因素方差分析和多因素方差分析,都在针对一个因变量,而实际工作中,经常会碰到多个因变量的情况,如果单纯的将其拆分为多个单因变量的做法不妥,需要使用多元方差分析或因子分析 多元方差分析与一元方差分 ...

  9. windows上安装numpy,scipy

    题外话:本来按照python官方的设计,可以直接使用easy_install或者pip在线安装各个组件,但是国内的网络你懂得!老老实实下载文件本地安装吧. 1.安装windows 的python 2, ...

  10. WebView注入Java对象注意事项

    在android4.2以前,注入步骤如下: webview.getSetting().setJavaScriptEnable(true); class JsObject { public String ...