范数的理解

在看图卷积的时候,碰到了范数的问题(其实之前也遇到过,但是没有仔细的整理,主要是懒),然后,这次决定查阅一波资料整理一下。

1.向量的范数

向量的1-范数: ∣ ∣ X ∣ ∣ 1 = ∑ i = 0 n ∣ x i ∣ ||X||_1 = \sum_{i=0}^n |x_i| X1=i=0nxi它表示的就是各个元素的绝对值之和。
向量的2-范数: ∣ ∣ X ∣ ∣ 2 = ( ∑ i = 0 n x i 2 ) 1 / 2 = ∑ i = 1 n x i 2 ||X||_2 = (\sum_{i=0}^{n} x_i^2)^{1/2} = \sqrt{\sum_{i=1}^n x_i^2} X2=(i=0nxi2)1/2=i=1nxi2 表示的就是元素的开方和再开平方根。
向量的无穷范数: ∣ ∣ X ∣ ∣ ∞ = max ⁡ 1 ≤ i ≤ n ∣ x i ∣ ||X||_{\infty} = \max_{1\le i\le n} |x_i| X=1inmaxxi
p-范数: ∣ ∣ X ∣ ∣ p = ( ∑ i = 1 n ∣ x i ∣ p ) ||X||_p = (\sum_{i=1}^n |x_i|^p) Xp=(i=1nxip)
其中正整数 p ≥ 1 p \ge 1 p1,并且有 lim ⁡ p → ∞ = max ⁡ 1 ≤ i ≤ n ∣ x i ∣ \lim_{p\to \infty} = \max_{1 \le i\le n}|x_i| plim=1inmaxxi
假设 向量X=【2,3,-5,-7】,求向量的1-范数、2-范数和无穷范数。
向量的1-范数:各个元素的绝对值之和; ∥ X ∥ 1 = 2 + 3 + 5 + 7 = 17 {\left\| X \right\|_1}=2+3+5+7=17 X1=2+3+5+7=17
向量的2-范数:每个元素的平方和再开平方根
∣ ∣ X ∣ ∣ 2 = ( 2 × 2 + 3 × 3 + 5 × 5 + 7 × 7 ) 1 2 = 9.3274 ||X||_2 = (2\times2+3\times3+5\times5+7\times7)^{\frac{1}{2}}=9.3274 X2=(2×2+3×3+5×5+7×7)21=9.3274
向量的无穷范数:

  • 正无穷范数:向量的所有的元素的绝对值最大的;即 X X X的正无穷范数:7;
  • 负无穷范数:向量的所有元素的绝对值中最小的;即 X X X的负无穷范数为:2;
2.矩阵的范数

设向量 X ∈ R n X \in R^n XRn,矩阵 A ∈ R m × n A \in R^{m\times n} ARm×n,例如矩阵A为:
A = [ 2 , 3 , − 5 , − 7 ; 4 , 6 , 8 , − 4 ; 6 , − 11 , − 3 , 16 ] A=[2,3,-5,-7; 4,6,8,-4; 6,-11,-3,16] A=[2,3,5,7;4,6,8,4;6,11,3,16];

  1. 矩阵的1-范数(列模): ∣ ∣ A ∣ ∣ 1 = max ⁡ X ≠ 0 ∣ ∣ A X ∣ ∣ 1 ∣ ∣ X ∣ ∣ 1 = max ⁡ 1 ≤ j ≤ n ∑ i = 1 n ∣ a i j ∣ ||A||_1 = \max_{X \neq 0}\frac{||AX||_1}{||X||_1}=\max_{1\le j \le n}\sum_{i=1}^n|a_{ij}| A1=X=0maxX1AX1=1jnmaxi=1naij即 矩阵的每一列上的元素绝对值先求和,再从中取最大的(列和最大);示例中矩阵 A A A的1-范数为27
  2. 矩阵的2-范数(谱模): ∣ ∣ A ∣ ∣ 2 = max ⁡ X ≠ 0 ∣ ∣ A X ∣ ∣ 2 ∣ ∣ X ∣ ∣ 2 = λ m a x ( A T A ) = max ⁡ 1 ≤ i ≤ n ∣ λ i ∣ ||A||_2 = \max_{X\neq 0} \frac{||AX||_2}{||X||_2} = \sqrt{\lambda_{max}(A^TA)}=\sqrt{\max_{1\le i\le n}|\lambda_i|} A2=X=0maxX2AX2=λmax(ATA) =1inmaxλi
    其中, λ i \lambda_i λi A T A A^TA ATA的特征值;矩阵 A T A A^TA ATA的最大特征值开平方根。
  3. 矩阵的无穷范数(行模):
    ∣ ∣ A ∣ ∣ ∞ = max ⁡ X ≠ 0 ∣ ∣ A X ∣ ∣ ∞ ∣ ∣ X ∣ ∣ ∞ = max ⁡ 1 ≤ i ≤ n ∑ j = 1 n ∣ a i j ∣ ||A||_\infty =\max_{X \neq 0}\frac{||AX||_\infty}{||X||_\infty}=\max_{1\le i\le n}\sum_{j=1}^n{|a_{ij}|} A=X=0maxXAX=1inmaxj=1naij
    矩阵的每一行上的元素绝对值先求和,再从中取大的(行和最大)
3.机器学习中常用的范数

在机器学习中,我们的目标函数一般可以表示为(监督学习):
w ∗ = arg min ⁡ w ∑ i L ( y i , f ( x i ; w ) ) + λ Ω ( w ) w^* = \argmin_{w}\sum_i L(y_i,f(x_i;w))+\lambdaΩ(w) w=wargminiL(yi,f(xi;w))+λΩ(w)
第一项的 L ( y i , f ( x i ; w ) ) L(y_i,f(x_i;w)) L(yi,f(xi;w))衡量的是我们的模型(分类或者回归)对第i个样本的预测值 f ( x i ; w ) f(x_i;w) f(xi;w)和真实的标签 y i y_i yi之间的误差。因为我们的模型是要拟合我们的训练样本的嘛,所以我们要求这一项最小,也就是要求我们的模型尽量的拟合我们的训练数据。但是我们不仅要保证训练误差最小,我们更希望我们的模型测试误差小,所以我们需要加上第二项,也就是对参数w的规则化函数Ω(w)去约束我们的模型尽量的简单。
规则化函数Ω(w)也有很多种选择,一般是模型复杂度的单调递增函数,模型越复杂,规则化值就越大。比如,规则化项可以是模型参数向量的范数。然而,不同的选择对参数w的约束不同,取得的效果也不同,但我们在论文中常见的都聚集在:零范数、一范数、二范数、迹范数、Frobenius范数和核范数等等。

  1. L0范数:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏。
  2. L1范数:矩阵中的每个元素绝对值之和,它又叫做"稀疏规则算子",那么为什么L1范数会使权值稀疏呢?因为它是L0范数的最优凸近似,因此它可以近似表示稀疏;但是有一种更好的的回答方式是:对于任何的规则化算子,如果它在 W i W_i Wi=0的地方不可微,并且可以分解为一个"求和"的形式,那么这个规则化算子就可以实现稀疏。可能这样说还不是很直观,我们在后面结合L2范数来对比分析。 竟然L1也可以表示稀疏,那么L1范数和L0范数的区别是什么呢?
    简单总结的话就是, L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。

在这里再啰嗦的插播两次实况,希望不要被打(懂的客官请直接跳过,都懂了就顺手点个赞),我们要我们的参数稀疏有什么用处呢?

1)特征选择(Feature Selection)

 一般来说, x i x_i xi的大部分元素(也就是特征)都是和最终的输出 y i y_i yi没有关系或者不提供任何信息的,在最小化目标函数的时候考虑 x i x_i xi这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确 y i y_i yi的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。

2)可解释性(Interpretability)

 模型更容易解释。例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型: y = w 1 ∗ x 1 + w 2 ∗ x 2 + … + w 1000 ∗ x 1000 + b y=w_1*x_1+w_2*x_2+…+w_{1000}*x_{1000}+b y=w1x1+w2x2++w1000x1000+b(当然了,为了让y限定在[0,1]的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的w*就只有很少的非零元素,例如只有5个非零的 w i w_i wi,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。但如果1000个 w i w_i wi都非0,医生面对这1000种因素,那就可能自己也会患病的吧(累觉不爱)。

  1. F范数:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的优点在于它是一个凸函数,可以求导求解,易于计算。它是更受宠爱的规则化范数。
    在回归里面,有人把有它的回归叫"岭回归"(Ridge Regression),有人也叫它"权值衰减weight decay"。应该是很熟悉的名字,它的强大功效是改善机器学习里面一个非常重要的问题:过拟合(不解释)。
    L2范数(F范数)是向量各元素的平方和然后求平方根。我们让L2范数的规则项| ∣ W ∣ ∣ 2 |W||_2 W2很小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这里是有很大的区别的。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。为什么越小的参数说明模型越简单?我也不懂,我的理解是:限制了参数很小,实际上就限制了多项式某些分量的影响很小,这样就相当于减少参数个数。
    总结一下的话就是,通过L2范数,我们可以实现对模型空间的限制,从而在一定程度上避免过拟合,而且还可以让我们的优化求解变得稳定和快速。
    最后我们兑现一下在上面L1范数中的承诺,即L1和L2的一个对比,或者说是两者之间的差别。为什么一个让绝对值最小,一个让平方最小,会有这么大的差别。
    从两种几何上的来直观的解释。
    1)下降速度:
     L1和L2都是规则化的方式,我们将权值参数以L1或者L2的方式放到代价函数里面去。然后模型就会尝试去最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的差别就在于这个"坡"不同,如下图:L1就是按绝对值函数的"坡"下降的,而L2是按二次函数的"坡"下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快。所以会非常快得降到0。不过我觉得这里解释的不太中肯,当然了也不知道是不是自己理解的问题。
    在这里插入图片描述
    2)模型空间的限制
    对于L1和L2规则化的代价函数来说,我们可以写成以下形式:
    L a s s o : min ⁡ w 1 n ∣ ∣ y − X w ∣ ∣ , s . t . ∣ ∣ w ∣ ∣ 1 ≤ C Lasso: \min_w \frac{1}{n}||y-Xw||,s.t.||w||_1\le C Lasso:minwn1yXws.t.w1C
    R i d g e : min ⁡ w 1 n ( y − X w ) 2 , s . t . ∣ ∣ w ∣ ∣ 2 ≤ C Ridge:\min_w \frac{1}{n}(y-Xw)^2,s.t.||w||_2\le C Ridge:minwn1(yXw)2s.t.w2C
    在这里插入图片描述
    可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有"角"出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有 w 1 = 0 w_1=0 w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。
     相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。
     因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。
  2. L21范数:矩阵先以每一列为单位,球每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可认为是向量1的范数),很容易看出它是介于L1和L2之间的一种范数。
  3. 核范数:矩阵的奇异值(将矩阵SVD分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩—低秩)
    嗯?你可能会问低秩有什么用呢?(又不是低脂,还能用来减减肥)
    不知道还记不记得线性代数中关于秩的概念,我们简单的回忆一下,初中的方程组的求解:
    { x 1 + x 2 + x 3 = 5 x 1 + x 2 − x 3 = 7 2 x 1 + x 2 + 2 x 3 = 14 \left\{ \begin{aligned} x_1+x_2+x_3 = 5 \\ x_1+x_2-x_3=7\\ 2x_1+x_2+2x_3=14 \end{aligned} \right. x1+x2+x3=5x1+x2x3=72x1+x2+2x3=14
    第三个方程跟第一个方程有着完全相同的解,对于这个方程组来说,它是多余的,放到机器学习中的话就是,它没有到来任何的信息量,把它干掉,对于我方程的求解没有任何的影响。为了把方程组中多余的方程干掉,进而就引出了“矩阵的秩”一个概念。
    从物理意义上讲,矩阵的秩度量的就是矩阵的行列之间的相关性。如果矩阵的各行或列是线性无关的,矩阵就是满秩的,也就是秩等于行数。
    OK。既然秩可以度量相关性,而矩阵的相关性实际上是带有了矩阵的结构信息。如果矩阵之间各行的相关性很强,那么就表示这个矩阵实际可以投影到更低维的线性子空间,也就是用几个向量就可以完全表达了,它就是低秩的。所以我们总结的一点就是:如果矩阵表达的是结构性信息,例如图像、用户-推荐表等等,那么这个矩阵各行之间存在这一定的相关性,那这个矩阵一般就是低秩的。
    如果X是一个m行n列的数值矩阵,rank(X)是X的秩,假如rank (X)远小于m和n,则我们称X是低秩矩阵。低秩矩阵每行或每列都可以用其他的行或列线性表出,可见它包含大量的冗余信息。利用这种冗余信息,可以对缺失数据进行恢复,也可以对数据进行特征提取。
    好了,低秩有了,那约束低秩只是约束rank(w)呀,和我们的核范数有什么关系呢?他们的关系和L0与L1的关系一样。因为rank()是非凸的,在优化问题里面很难求解,那么就需要寻找它的凸近似来近似它了。对的,机智如你应该可以猜得到,rank(w)的凸近似就是核范数||W||*。

核范数的应用

1)矩阵填充(Matrix Completion):

矩阵填充用在哪个地方呢?一个主流的应用是在推荐系统里面。我们知道,推荐系统有一种方法是通过分析用户的历史记录来给用户推荐的。例如我们在看一部电影的时候,如果喜欢看,就会给它打个分,例如3颗星。然后系统就会分析这些数据,看看到底每部影片的题材到底是怎样的?针对每个人,喜欢怎样的电影,然后会给对应的用户推荐相似题材的电影。但有一个问题是:我们的网站上面有非常多的用户,也有非常多的影片,不是所有的用户都看过说有的电影,不是所有看过某电影的用户都会给它评分。假设我们用一个"用户-影片"的矩阵来描述这些记录,例如下图,可以看到,会有很多空白的地方。如果这些空白的地方存在,我们是很难对这个矩阵进行分析的,所以在分析之前,一般需要先对其进行补全。也叫矩阵填充。
嗯,之前在毕业设计的时候,做的图书推荐模块的时候,就用到了这个矩阵填充的东西,嗯…但是,好像当时也不知道什么核函数,就是拿起键盘一顿emmm。
但是是怎么填的呢,其实也简单,每一个空白的地方的信息,针对于电影来说,空白地方就是你没有看过的电影。
它可以用如下的模型表述:已知数据是一个给定的m*n矩阵A,如果其中一些元素因为某种原因丢失了,我们能否根据其他行和列的元素,将这些元素恢复?当然,如果没有其他的参考条件,想要确定这些数据很困难。但如果我们已知A的秩rank(A)<<m且rank(A)<<n,那么我们可以通过矩阵各行(列)之间的线性相关将丢失的元素求出。你会问,这种假定我们要恢复的矩阵是低秩的,合理吗?实际上是十分合理的,比如一个用户对某电影评分是其他用户对这部电影评分的线性组合。或者换一种说法,需要填充的地方就是跟你看过的电影且已经评价过的,有相似评价的人对这个电影评价的一个线性组合。所以,通过低秩重构就可以预测用户对其未评价过的视频的喜好程度。从而对矩阵进行填充。

2)鲁棒性PCA:

主成分分析:可以有效的找出数据中最"主要"的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。我们知道,最简单的主成分分析方法就是PCA了。从线性代数的角度看,PCA的目标就是使用另一组基去重新描述得到的数据空间。希望在这组新的基下,能尽量揭示原有的数据间的关系。这个维度即最重要的"主元"。PCA的目标就是找到这样的"主元",最大程度的去除冗余和噪音的干扰。

鲁棒主成分分析(Robust PCA)考虑的是这样一个问题:一般我们的数据矩阵X会包含结构信息,也包含噪声。那么我们可以将这个矩阵分解为两个矩阵相加,一个是低秩的(由于内部有一定的结构信息,造成各行或列间是线性相关的),另一个是稀疏的(由于含有噪声,而噪声是稀疏的),则鲁棒主成分分析可以写成以下的优化问题:
min ⁡ A , E r a n k ( A ) + λ ∣ ∣ E ∣ ∣ 0 s . t X = A + E \min_{A,E}rank(A)+\lambda||E||_{0}s.tX=A+E A,Eminrank(A)+λE0s.tX=A+E

与经典PCA问题一样,Robust PCA本质上也是寻找数据在低维空间上的最佳投影问题。对于低秩数据观测矩阵X,假如X受到随机(稀疏)噪声的影响,则X的低秩性就会破坏,使X变成满秩的。所以我们就需要将X分解成包含其真实结构的低秩矩阵和稀疏噪声矩阵之和。找到了低秩矩阵,实际上就找到了数据的本质低维空间。那有了PCA,为什么还有这个Robust PCA呢?Robust在哪?因为PCA假设我们的数据的噪声是高斯的,对于大的噪声或者严重的离群点,PCA会被它影响,导致无法正常工作。而Robust PCA则不存在这个假设。它只是假设它的噪声是稀疏的,而不管噪声的强弱如何。
min ⁡ A , E ∣ ∣ A ∣ ∣ ∗ + λ ∣ ∣ E ∣ ∣ 1 s . t X = A + E \min_{A,E} ||A||_* + \lambda||E||_{1} s.t X=A+E A,EminA+λE1s.tX=A+E
说个应用。考虑同一副人脸的多幅图像,如果将每一副人脸图像看成是一个行向量,并将这些向量组成一个矩阵的话,那么可以肯定,理论上,这个矩阵应当是低秩的。但是,由于在实际操作中,每幅图像会受到一定程度的影响,例如遮挡,噪声,光照变化,平移等。这些干扰因素的作用可以看做是一个噪声矩阵的作用。所以我们可以把我们的同一个人脸的多个不同情况下的图片各自拉长一列,然后摆成一个矩阵,对这个矩阵进行低秩和稀疏的分解,就可以得到干净的人脸图像(低秩矩阵)和噪声的矩阵了(稀疏矩阵),例如光照,遮挡等等
在这里插入图片描述
3)背景建模:

 背景建模的最简单情形是从固定摄相机拍摄的视频中分离背景和前景。我们将视频图像序列的每一帧图像像素值拉成一个列向量,那么多个帧也就是多个列向量就组成了一个观测矩阵。由于背景比较稳定,图像序列帧与帧之间具有极大的相似性,所以仅由背景像素组成的矩阵具有低秩特性;同时由于前景是移动的物体,占据像素比例较低,故前景像素组成的矩阵具有稀疏特性。视频观测矩阵就是这两种特性矩阵的叠加,因此,可以说视频背景建模实现的过程就是低秩矩阵恢复的过程。
在这里插入图片描述

4.规则化参数的选择

复制自大佬,怕以后找不到了,会自己给哭死的。
w ∗ = arg min ⁡ w ∑ i L ( y i , f ( x i ; w ) ) + λ Ω ( w ) w^* = \argmin_{w}\sum_i L(y_i,f(x_i;w))+\lambdaΩ(w) w=wargminiL(yi,f(xi;w))+λΩ(w)
里面除了loss和规则项两块外,还有一个参数λ。它也有个霸气的名字,叫hyper-parameters(超参)。你不要看它势单力薄的,它非常重要。它的取值很大时候会决定我们的模型的性能,事关模型生死。它主要是平衡loss和规则项这两项的,λ越大,就表示规则项要比模型训练误差更重要,也就是相比于要模型拟合我们的数据,我们更希望我们的模型能满足我们约束的Ω(w)的特性。反之亦然。举个极端情况,例如λ=0时,就没有后面那一项,代价函数的最小化全部取决于第一项,也就是集全力使得输出和期待输出差别最小,那什么时候差别最小啊,当然是我们的函数或者曲线可以经过所有的点了,这时候误差就接近0,也就是过拟合了。它可以复杂的代表或者记忆所有这些样本,但对于一个新来的样本泛化能力就不行了。毕竟新的样本会和训练样本有差别的嘛。
那我们真正需要什么呢?我们希望我们的模型既可以拟合我们的数据,又具有我们约束它的特性。只有它们两者的完美结合,才能让我们的模型在我们的任务上发挥强大的性能。所以如何讨好它,是非常重要。在这点上,大家可能深有体会。还记得你复现了很多论文,然后复现出来的代码跑出来的准确率没有论文说的那么高,甚至还差之万里。这时候,你就会怀疑,到底是论文的问题,还是你实现的问题?实际上,除了这两个问题,我们还需要深入思考另一个问题:论文提出的模型是否具有hyper-parameters?论文给出了它们的实验取值了吗?经验取值还是经过交叉验证的取值?这个问题是逃不掉的,因为几乎任何一个问题或者模型都会具有hyper-parameters,只是有时候它是隐藏着的,你看不到而已,但一旦你发现了,证明你俩有缘,那请试着去修改下它吧,有可能有"奇迹"发生哦。
OK,回到问题本身。我们选择参数λ的目标是什么?我们希望模型的训练误差和泛化能力都很强。这时候,你有可能还反映过来,这不是说我们的泛化性能是我们的参数λ的函数吗?那我们为什么按优化那一套,选择能最大化泛化性能的λ呢?Oh,sorry to tell you that,因为泛化性能并不是λ的简单的函数!它具有很多的局部最大值!而且它的搜索空间很大。所以大家确定参数的时候,一是尝试很多的经验值,这和那些在这个领域摸爬打滚的大师是没得比的。当然了,对于某些模型,大师们也整理了些调参经验给我们。例如Hinton大哥的那篇A Practical Guide to Training RestrictedBoltzmann Machines等等。还有一种方法是通过分析我们的模型来选择。怎么做呢?就是在训练之前,我们大概计算下这时候的loss项的值是多少?Ω(w)的值是多少?然后针对他们的比例来确定我们的λ,这种启发式的方法会缩小我们的搜索空间。另外一种最常见的方法就是交叉验证Cross validation了。先把我们的训练数据库分成几份,然后取一部分做训练集,一部分做测试集,然后选择不同的λ用这个训练集来训练N个模型,然后用这个测试集来测试我们的模型,取N模型里面的测试误差最小对应的λ来作为我们最终的λ。如果我们的模型一次训练时间就很长了,那么很明显在有限的时间内,我们只能测试非常少的λ。例如假设我们的模型需要训练1天,这在深度学习里面是家常便饭了,然后我们有一个星期,那我们只能测试7个不同的λ。这就让你遇到最好的λ那是上辈子积下来的福气了。那有什么方法呢?两种:一是尽量测试7个比较靠谱的λ,或者说λ的搜索空间我们尽量广点,所以一般对λ的搜索空间的选择一般就是2的多少次方了,从-10到10啊什么的。但这种方法还是不大靠谱,最好的方法还是尽量让我们的模型训练的时间减少。例如假设我们优化了我们的模型训练,使得我们的训练时间减少到2个小时。那么一个星期我们就可以对模型训练7*24/2=84次,也就是说,我们可以在84个λ里面寻找最好的λ。这让你遇见最好的λ的概率就大多了吧。这就是为什么我们要选择优化也就是收敛速度快的算法,为什么要用GPU、多核、集群等来进行模型训练、为什么具有强大计算机资源的工业界能做很多学术界也做不了的事情(当然了,大数据也是一个原因)的原因了。

Reference

L0、L1与L2范数、核范数

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值