年初的早些时候,偶然在网上,看到一篇关于“20个数据科学家必知的面试题”。这篇帖子中,例举了20个面试问题,有很多问题,一时也无法给出一个自己觉得可说的所以然。所以回去翻了翻书籍和网上的一些理解,重新去回顾和整理了这些相关的基础知识。
这篇日志总结的是第一个问题基本认识:“解释什么是正则化,以及有哪些用途?”
参考来源:(1)维基百科;(2)Coursera公开课笔记;(3)斯坦福大学公开课《机器学习》第7课“正则化”。(4)http://www.mamicode.com/info-detail-873199.html
一、正则化相关知识
(1) Regularization来源于线性代数中的不适定问题,所有的不适定问题是一组线性方程组中可以约束未知变量的方程个数少于未知数个数的时候,这个时候方程组有无穷多组的解。这种方程组也叫欠定方程组(不适定方程组)。相对这个概念,就是超定方程组,这个时候方程组中方程个数是大于未知数个数的。那么当方程个数恰好等于未知数,这个时候也就是病态问题。经常会和不适定问题一起提到就是适定方程组,这个问题是说输入数据的细微变化,都会引起输出数据明显变化。那么求解不适定问题的通常做法就是用一组与其问题相似的适定问题的解,来逼近不适定问题的集,这个过程就是正则化方法。
(2)那么如何找到有效的正则化方法来解决不适定问题是反问题领域中的一个研究点。反问题相对于正问题而言, 正问题就是按照正常的逻辑,比如知道这个事物的因,去研究结果。而反问题就是,通过观测到的现象,去探索表象下的本质。所以在学习LDA时,看到可观测的词文本,去研究文章的主题结构,这就是一个反问题。这个时候求解参数的方法(正则化方法)也是有两个途径,找到问题合适的解,变分推断(近似推断);另一个就是采用迭代的随机模拟的方法,例如Gibbs采样等有效方法。
(3)在现在比较受关注的机器学习中来说,正则化来源于数据训练问题。如果数据集中的样本个数(方程个数)小于每个样本的特征个数(未知数),这个时候容易出现过拟合问题。 那么和直接的想法就是使得训练出来的模型不能过分依赖于其中某一个(几个)特征(数据的维度)。在把正则化的方法引入之后,就可以避免在训练过程中模型只选择其中某一个(几个)权重过大的特征。
二、正则化相关知识
所以说,正则化在机器学习中的作用就是给模型误差函数添加约束。更具体一点就是给参数加了一个先验分布,比如LDA中多项分布参数,添加了Dirichlet分布作为多项分布的参数先验分布。这样做的一个好处在于减少参数的解的选择空间。这也就是我们可以不完全依赖于数据集,可以加入一些我们自己先验认识,进行一个最初的数据分布的认识。从而避免了overfiting问题。
所以这也是你经常发现,比如添加L1和L2约束,不就是缩小解的空间 ,也从不同的途径调整了解过于集中某个参数的问题。使得模型泛化能力不会太局限当前的数据集。
DataScientist— 须知知识(1)
最新推荐文章于 2020-12-09 12:44:56 发布