机器学习中的正则化和范数规则化
正则化和范数规则化
文章安排:文章先介绍了正则化的定义,然后介绍其在机器学习中的规则化应用L0、L1、L2规则化范数和核范数规则化,最后介绍规则化项参数的选择问题。
正则化(regularization)来源于线性代数理论中的不适定问题,求解不适定问题的普遍方法是:用一族与原不适定问题相“邻近”的适定问题的解去逼近原问题的解,这种方法称为正则化方法。如何建立有效的正则化方法是反问题领域中不适定问题研究的重要内容。通常的正则化方法有基于变分原理的Tikhonov正则化、各种迭代方法以及其它的一些改进方法,这些方法都是求解不适定问题的有效方法,在各类反问题的研究中被广泛采用,并得到深入研究。
在欧式空间中,两个空间等价是可以建立一一映射关系,但在现实世界中,我们得到的数据往往是病态的(比如用户评价数据中很多的空值),这时就无法建立这样的映射。而数学讲究退而求其次的思想,比如降低维度或加入一些约束参数,使其可以建立这样的映射。详细数学理论:
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/AV0405/UMAR/AVassign2.pdf和Regularization (mathematics)
机器学习中的正则化来源于数据训练。若训练数据数量少儿特征多,容易出现过拟合。直观来讲,防止过拟合目的就是训练出来的模型不要过分依赖某一维(或几维)的特征。而规则化项的引入,在训练(最小化cost)的过程中,当某一维的特征所对应的权重过大时,而此时模型的预测和真实数据之间距离很小,通过规则化项就可以使整体的cost取较大的值,从而,在训练的过程中避免了去选择那些某一维(或几维)特征的权重过大的情况,即过分依赖某一维(或几维)的特征。
正则化在某种意义上来讲引入了参数的先验分布,减少参数的选择空间,放到广义线性模型中,就是对一些基函数作了取舍(参数不至于过大,那么对应的基函数对最终结果的贡献也就很小,通俗来讲就是不完全依赖数据集,有了自我的一些判断与选择)------->避免了过拟合。
关于机器学习中正则化的来源、原理可以参照吴立德老师的深度学习课程,不断强调可以在Loss函数后面加上正则化项以优化问题最小解,这对学习过程的训练目标函数很有效,详细可以参考:
(1)正则化、归一化含义解析
(2)Stanford ML -Regularization 正则化
(3)流形正则化学习笔记
(4)正则化最小二乘
(6)正则化的具体理解
(9)机器学习练习之正则化
(10)L1和L2正则化
(11)正则化和归一化的浅层理解
(12)Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
关于正则化的应用典型例子就是最近很热的稀疏编码,相关链接http://blog.csdn.net/abcjennifer/article/details/8693342
http://blog.csdn.net/jwh_bupt/article/details/12070273#comments
其原理很简单,将特征表示问题通过建模转化成目标优化问题,鉴于原始优化函数的非凸性质,陷入局部最优、难以求解等问题,于是提出了L1正则化,巧妙地得到稀疏项,成为特征表达的基函数。相关原理可以查看:09文中引用的nips06-sparsecoding.Pdf文章;博客可以查看下面链接:
Sparsityand Some Basics of L1 Regularization
http://freemind.pluskid.org/machine-learning/sparsity-and-some-basics-of-l1-regularization/
下面针对机器学习中常用的规则化L0、L1与L2范数做详细的解释。(来源于http://blog.csdn.net/zouxy09博主,我做了相关整合和理解,若有侵犯博主,非常抱歉)
具体原理可以查看链接文档: