范数规则化之核范数与规则项参数选择

  • 时间:
  • 浏览:0

2)鲁棒PCA:

       以上章节所介绍的针对图像的低秩逼近算法,仅仅考虑图像样本之间像素的这类性,却这样 考虑到图像作为二维的像素集合,其两种所具有的规律性。事实上,对于未加旋转的图像,之前 图像的对称性与自这类性,亲戚大伙儿 才能将其看做是另还有一个 带噪声的低秩矩阵。当图像由端正所处旋转时,图像的对称性和规律性就会被破坏,也后来说各行像素间的线性相关性被破坏,有之前 矩阵的秩就会增加。

       那到底如保填呢?如保才能无中生有呢?每个空白的地方的信息否有含晒 在有些已有的信息之上了呢?之前 有,如保提取出来呢?Yeah,这后来低秩生效的地方了。这叫低秩矩阵重构问题报告 ,它才能用如下的模型表述:已知数据是另还有一个 给定的m*n矩阵A,之前 其含晒 些元素之前 两种意味丢失了,亲戚大伙儿 才能根据有些行和列的元素,将什么元素恢复?当然,之前 这样 有些的参考条件,要我挑选什么数据很困难。但之前 亲戚大伙儿 已知A的秩rank(A)<<m且rank(A)<<n,这样 亲戚大伙儿 才能通过矩阵各行(列)之间的线性相关将丢失的元素求出。让他问,有些假定亲戚大伙儿 要恢复的矩阵是低秩的,合理吗?实际上是十分合理的,比如另还有一个 用户对某电影评分是有些用户对这部电影评分的线性组合。后来,通过高 秩重构就才能预测用户对其未评价过的视频的喜好程度。从而对矩阵进行填充。

[3] http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf

3)背景建模:

       后边除了loss和规则项两块外,还有另还有一个 参数λ。它后该个霸气的名字,叫hyper-parameters(超参)。你我很多 看它势单力薄的,它非常重要。它的取值很大之前 该决定亲戚大伙儿 的模型的性能,事关模型生死。它主后来平衡loss和规则项这两项的,λ越大,就表示规则项要比模型训练误差更重要,也后来相比于要模型拟合亲戚大伙儿 的数据,亲戚大伙儿 更希望亲戚大伙儿 的模型能满足亲戚大伙儿 约束的Ω(w)的内部结构。反之亦然。举个极端情形,这类λ=0时,就这样 后边那一项,代价函数的最小化完整版取决于第一项,也后来集全力使得输出和期待输出差别最小,那什么之前 差别最小啊,当然是亲戚大伙儿 的函数之前 曲线才能经过所有的点了,这之前 误差就接近0,也后来过拟合了。它才能简化的代表之前 记忆所有什么样本,但对于另还有一个 新来的样本泛化能力就不行了。毕竟新的样本会和训练样本有差别的嘛。

       低秩纹理映射算法(TransformInvariant Low-rank Textures,TILT)是两种用低秩性与噪声的稀疏性进行低秩纹理恢复的算法。它的思想是通过几何变换τ把D所代表的图像区域校正成正则的区域,如具有横平竖直、对称等内部结构,什么内部结构才能通过高 秩性来进行刻画。

       说个应用吧。考虑同一副人脸的多幅图像,之前 将每一副人脸图像看成是另还有一个 行向量,并将什么向量组成另还有一个 矩阵搞笑的话,这样 才能肯定,理论上,有些矩阵应当是低秩的。有之前 ,之前 在实际操作中,每幅图像会受到一定程度的影响,这类遮挡,噪声,光照变化,平移等。什么干扰因素的作用才能看做是另还有一个 噪声矩阵的作用。后来亲戚大伙儿 才能把亲戚大伙儿 的同另还有一个 人脸的多个不同情形下的图片该人拉长一列,有之前 摆成另还有一个 矩阵,对有些矩阵进行低秩和稀疏的分解,就才能得到干净的人脸图像(低秩矩阵)和噪声的矩阵了(稀疏矩阵),这类光照,遮挡等等。至于有些的用途,你懂得。

       亲戚大伙儿 首先搞笑的话矩阵填充用在哪。另还有一个 主流的应用是在推荐系统后边。亲戚大伙儿 知道,推荐系统有两种土辦法 是通过分析用户的历史记录来给用户推荐的。这类亲戚大伙儿 在看一部电影的之前 ,之前 喜欢看,就会给它打个分,这类3颗星。有之前 系统,这类Netflix等知名网站就会分析什么数据,看想看 底每部影片的题材到底是如保的?针对每被委托人,喜欢如保的电影,之前 该给对应的用户推荐这类题材的电影。但有另还有一个 问题报告 是:亲戚大伙儿 的网站后边有非常多的用户,后该非常多的影片,后该所有的用户都想看 说有的电影,后该所有想看 某电影的用户后该给它评分。假设亲戚大伙儿 用另还有一个 “用户-影片”的矩阵来描述什么记录,这类下图,才能想看 ,会有后来空白的地方。之前 什么空白的地方所处,亲戚大伙儿 是没能对有些矩阵进行分析的,后来在分析之前 ,一般才能 先对其进行补全。也叫矩阵填充。

       曾经 们真正才能 什么呢?亲戚大伙儿 希望亲戚大伙儿 的模型既才能拟合亲戚大伙儿 的数据,又具有亲戚大伙儿 约束它的内部结构。才都能否 它们两者的完美结合,才能让亲戚大伙儿 的模型在亲戚大伙儿 的任务上发挥强大的性能。后来如保讨好它,是非常重要。在这点上,亲戚大伙儿 之前 深有体会。还记得你复现了后来论文,有之前 复现出来的代码跑出来的准确率这样 论文说的这样 高,甚至还差之万里。这之前 ,你就会怀疑,到底是论文的问题报告 ,还有你实现的问题报告 ?实际上,除了这另还有一个 问题报告 ,亲戚大伙儿 还才能 深入思考曾经 问题报告 :论文提出的模型否有具有hyper-parameters?论文给出了它们的实验取值多会儿?经验取值还是经过交叉验证的取值?有些问题报告 是逃不掉的,之前 几乎任何另还有一个 问题报告 之前 模型后该具有hyper-parameters,后来有之前 它是隐藏着的,你看才能 而已,但一旦你发现了,证明你俩有缘,那请试着去修改下它吧,有之前 有“奇迹”所处哦。

五、参考资料

四、规则化参数的挑选

       OK。既然秩才能度量相关性,而矩阵的相关性实际上有含晒 了矩阵的内部结构信息。之前 矩阵之间各行的相关性很强,这样 就表示有些矩阵实际才能投影到更低维的线性子空间,也后来用有十几个 向量就才能完整版表达了,它后来低秩的。后来亲戚大伙儿 总结的有些后来:之前 矩阵表达的是内部结构性信息,这类图像、用户-推荐表等等,这样 有些矩阵各行之间所处有些定的相关性,那有些矩阵一般后来低秩的。

[1] http://fastml.com/large-scale-l1-feature-selection-with-vowpal-wabbit/

       核范数||W||*是指矩阵奇异值的和,英文称呼叫Nuclear Norm。有些相对于后边火热的L1和L2来说,之前 亲戚大伙儿 就会陌生点。那它是干嘛用的呢?霸气登场:约束Low-Rank(低秩)。OK,OK,曾经 们得知道Low-Rank是啥?用来干啥的?

1)矩阵填充(Matrix Completion):

       与经典PCA问题报告 一样,鲁棒PCA本质上也是寻找数据在低维空间上的最佳投影问题报告 。对于低秩数据观测矩阵X,有之前 X受到随机(稀疏)噪声的影响,则X的低秩性就会破坏,使X变成满秩的。后来亲戚大伙儿 就才能 将X分解成含晒 其真实内部结构的低秩矩阵和稀疏噪声矩阵之和。找到了低秩矩阵,实际上就找到了数据的本质低维空间。那有了PCA,如保还有有些Robust PCA呢?Robust在哪?之前 PCA假设亲戚大伙儿 的数据的噪声是高斯的,对于大的噪声之前 严重的离群点,PCA会被它影响,意味无法正常工作。而Robust PCA则不所处有些假设。它后来假设它的噪声是稀疏的,而不管噪声的强弱如保。

[5] http://nm.mathforcollege.com/mws/gen/04sle/mws_gen_sle_spe_adequacy.pdf

[4] GradientDescent, Wolfe's Condition and Logistic Regression

       背景建模的最简单情形是从固定摄相机拍摄的视频中分离背景和前景。亲戚大伙儿 将视频图像序列的每一帧图像像素值拉成另还有一个 列向量,这样 多个帧也后来多个列向量就组成了另还有一个 观测矩阵。之前 背景比较稳定,图像序列帧与帧之间具有极大的这类性,后来仅由背景像素组成的矩阵具有低秩内部结构;一齐之前 前景是移动的物体,所处像素比例较低,故前景像素组成的矩阵具有稀疏内部结构。视频观测矩阵后来这两种内部结构矩阵的叠加,有之前 ,才能说视频背景建模实现的过程后来低秩矩阵恢复的过程。

三、核范数

       主成分分析,有些土辦法 才能有效的找出数据中最“主要"的元素和内部结构,去除噪音和冗余,将原有的简化数据降维,揭示隐藏在简化数据面前的简单内部结构。亲戚大伙儿 知道,最简单的主成分分析土辦法 后来PCA了。从线性代数的深度1看,PCA的目标后来使用另一组基去重新描述得到的数据空间。希望在这组新的基下,能尽量揭示原有的数据间的关系。有些维度即最重要的“主元"。PCA的目标后来找到曾经 的“主元”,最大程度的去除冗余和噪音的干扰。

       之前 X是另还有一个 m行n列的数值矩阵,rank(X)是X的秩,有之前 rank (X)远小于m和n,则亲戚大伙儿 称X是低秩矩阵。低秩矩阵每行或每列都才能用有些的行或列线性表出,可见它含晒 大量的冗余信息。利用有些冗余信息,才能对缺失数据进行恢复,才才能对数据进行内部结构提取。

       低秩的应用非常多,亲戚大伙儿 有兴趣的才能去找些资料深入了解下。

       好了,到这里,我也没什么好说的了,之前 我也是稍微翻想看 下有些东西,后来也还这样 深入去看它。但我发现了这玩意还有后来很有意思的应用,下面亲戚大伙儿 举有十几个 典型的吧。

       鲁棒主成分分析(Robust PCA)考虑的是曾经 另还有一个 问题报告 :一般亲戚大伙儿 的数据矩阵X会含晒 内部结构信息,也含晒 噪声。这样 亲戚大伙儿 才能将有些矩阵分解为另还有一个 矩阵相加,另还有一个 是低秩的(之前 内部内部结构有一定的内部结构信息,造成各行或列间是线性相关的),曾经 是稀疏的(之前 含晒 噪声,而噪声是稀疏的),则鲁棒主成分分析才能写成以下的优化问题报告 :

       对后边的线性方程组,第另还有一个 方程和第还有一个方程有不同的解,而第另还有一个 方程和第还有一个方程的解完整版相同。从有些意义上说,第还有一个方程是“多余”的,之前 它这样 带来任何的信息量,把它加带,所得的方程组与曾经 的方程组同解。为了从方程组中加带多余的方程,自然就导出了“矩阵的秩”有些概念。

       好了,低秩有了,那约束低秩后来约束rank(w)呀,和亲戚大伙儿 这节的核范数有什么关系呢?亲戚大伙儿 的关系和L0与L1的关系一样。之前 rank()是非凸的,在优化问题报告 后边没能求解,这样 就才能 寻找它的凸近似来近似它了。对,你没猜错,rank(w)的凸近似后来核范数||W||*

       OK,回到问题报告 两种。亲戚大伙儿 挑选参数λ的目标是什么?亲戚大伙儿 希望模型的训练误差和泛化能力都很强。这之前 ,你有之前 还反映过来,这后该说亲戚大伙儿 的泛化性能是亲戚大伙儿 的参数λ的函数吗?曾经 们如保按优化那一套,挑选能最大化泛化性能的λ呢?Oh,sorry to tell you that,之前 泛化性能并后该λ的简单的函数!它具有后来的局部最大值!有之前 它的搜索空间很大。后来亲戚大伙儿 挑选参数的之前 ,一是尝试后来的经验值,这和什么在有些领域摸爬打滚的大师是没了比的。当然了,对于有些模型,大师们也分发了些调参经验给亲戚大伙儿 。这类Hinton大哥的那篇A Practical Guide to Training RestrictedBoltzmann Machines等等。还有两种土辦法 是通过分析亲戚大伙儿 的模型来挑选。如保做呢?后来在训练之前 ,亲戚大伙儿 离米 计算下这之前 的loss项的值是有十几个 ?Ω(w)的值是有十几个 ?有之前 针对亲戚大伙儿 的比例来挑选亲戚大伙儿 的λ,有些启发式的土辦法 会缩小亲戚大伙儿 的搜索空间。另外两种最常见的土辦法 后来交叉验证Cross validation了。先把亲戚大伙儿 的训练数据库分成几份,有之前 取一帕累托图做训练集,一帕累托图做测试集,有之前 挑选不同的λ用有些训练集来训练N个模型,有之前 用有些测试集来测试亲戚大伙儿 的模型,取N模型后边的测试误差最小对应的λ来作为亲戚大伙儿 最终的λ。之前 亲戚大伙儿 的模型一次训练时间就很长了,这样 很明显在有限的时间内,亲戚大伙儿 才都能否 测试非常少的λ。这类假设亲戚大伙儿 的模型才能 训练1天,这在深度1学习后边是家常便饭了,有之前 亲戚大伙儿 有另还有一个 星期,曾经 们才都能否 测试7个不同的λ。这后来他遇到最好的λ那是上辈子积下来的福气了。那有什么土辦法 呢?两种:一是尽量测试7个比较靠谱的λ,之前 说λ的搜索空间亲戚大伙儿 尽量广点,后来一般对λ的搜索空间的挑选一般后来2的有十几个 次方了,从-10到10啊什么的。但有些土辦法 还是不大靠谱,最好的土辦法 还是尽量让亲戚大伙儿 的模型训练的时间减少。这类假设亲戚大伙儿 优化了亲戚大伙儿 的模型训练,使得亲戚大伙儿 的训练时间减少到另还有一个 小时。这样 另还有一个 星期亲戚大伙儿 就才能对模型训练7*24/2=84次,也后来说,亲戚大伙儿 才能在8另还有一个 λ后边寻找最好的λ。这让他遇见最好的λ的概率就大多了吧。这后来如保亲戚大伙儿 要挑选优化也后来收敛下行速率 快的算法,如保要用GPU、多核、集群等来进行模型训练、如保具有强大计算机资源的工业界能做后来学术界也做不了的事情(当然了,大数据也是另还有一个 意味)的意味了。

       还记得亲戚大伙儿 如保手工求矩阵的秩吗?为了求矩阵A的秩,亲戚大伙儿 是通过矩阵初等变换把A化为阶梯型矩阵,若该阶梯型矩阵有r个非零行,那A的秩rank(A)就等于r。从物理意义上讲,矩阵的秩度量的后来矩阵的行列之间的相关性。之前 矩阵的各行或列是线性无关的,矩阵后来满秩的,也后来秩等于行数。回到后边线性方程组来说吧,之前 线性方程组才能用矩阵描述嘛。秩就表示了有有十几个 个有用的方程了。后边的方程组有还有一个方程,实际才能才能 另还有一个 是有用的,另还有一个 是多余的,后来对应的矩阵的秩后来2了。

       现在亲戚大伙儿 回过头来看看亲戚大伙儿 的目标函数:

       之前 rank和L0范数在优化上所处非凸和非光滑内部结构,后来亲戚大伙儿 一般将它转加带求解以下另还有一个 松弛的凸优化问题报告 :

       亲戚大伙儿 先来回忆下线性代数后边“秩”到底是啥?举个简单的例子吧:

       努力做个“调参”高手吧!祝愿亲戚大伙儿 都能“调得一手好参”!

[2] http://www.stat.purdue.edu/~vishy/introml/notes/Optimization.pdf

4)变换不变低秩纹理(TILT):