在学习回归问题的过程中,我们经常性的看到算法推导,并认知到一定程度,比如,你知道一个线性问题最后其实是求最小二乘,但是在这个过程中,许多问题的数学原理并没有十分弄懂,仅仅是知道那些算法该那样算,那些过程应该那样做,但是为什么那样做,是因为哪一种解释困境,或者实践困难使得我们需要改进算法并对它做出合理的解释,很多时候,我们并没有深入了解,这就造成一种现象,你能把算法到线上运行,但却无法解释很多原理,这样一来,仅仅是算法的使用者,这不是我们学习机器学习算法的目的和应有的结果,所以,此文会尽可能深入地探讨正则化问题。
我们知道的是下图这个目标函数:
我们的目的是求最优解θ,我们也知道因为回归问题属于有监督学习,我们的标签和特征已经给出,是真实存在的,我们假设它是独立且同分布,为了让预测函数达到最优性能就是使我们样本发生的联合概率最大,这样才符合我们真实的样本,所以在训练过程中,我们希望尽可能精确的建立模型来拟合训练数据集上的数据,最后我们发现我们的模型完美的吻合所有数据,但是这种吻合仅仅在训练集上,我们把它放到未知的真实场景中,它的表现可能并不好,因为训练数据中往往存在噪点数据,模型学得太完美以至于那些不该学的也学到了。
我们可以举个例子:你开了一家公司,这家公司只有一个程序员,他可以做一个团队的工作,他面面俱到,但是某一天他生病了,或者跳槽了,怎么办?
这种模型的生存能力太弱,周期太短,这种情形不符合我们机器学习的目的,所以我们需要增强它的鲁棒性和泛化能力,让它在更多真实场景中可以表现的更好,更全面。
我们求解θ的过程,最后即使有最优解θ,但是它在训练集和测试集上的表现并非都是良好的,所以我们需要尽可能的优化模型,尽可能使得我们拿到有限数据的情况下,更多的正确的预测我们想要的在真实场景下的情况,我们需要对模型进行评估。
所以需要运用几种不同的思想解释它。
(1)偏差方差分解(bias varience decompesation)
评估模型的泛化能力的一种重要工具,我们用一种简单的方式解释它即可,所谓偏差就是我训练出的预测值的期望和真实值之间的差距,而方差表示多个预测模型的预测值对于它们预测期望值之间的差值的平方。这样一来,当我们在训练一个模型的时候,一开始,模型刚刚训练,这时候数据量小,还无法很足够的学习到什么东西,这时候预测值和真实值有很大的偏差,而此时数据较小,拟合度不高,数据不足以对模型产生干扰,所以,方差也就很小。随着数据量的增加,模型学到了越来越多东西,越来越接近数据分布,此时,预测值和真实值间偏差也来越小,但同时,随便一个数据就很容易对模型有扰动,尤其是噪声数据,当我们把那些局部的特性学到了,就出现过拟合,所以往往,我们没有办法达到很完美的情形,只是在两者之间做tradeoff
(2)PAC-learning
(3)贝叶斯先验关于贝叶斯先验,我们可以通俗地说就是作为人的经验,通过这种经验来调整目标函数,强行进行干预,使其更符合我们的经验。
按照奥卡姆剃刀原理,我们应该找到的模型是能代表它并且尽可能简单的那种。所以我们需要找到方法提升模型泛化能力,同时尽可能减少过拟合的发生,并且尽可能使模型简单,那么方法有很多,这里我们关注正则化,为什么可以引入正则化呢?
第一我们了解不适定问题这个概念,它指的是满足三个条件的问题①解存在②解唯一③解连续依赖初始条件
那么不适定问题就是不满足至少一个条件,在这种情况下,条件数就会很大,意味着误差会严重影响结果,所以提出正则化来解决这种情形
(有待后续补充)