您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 机器学习模型选择与正则化
机器学习之模型评估与模型选择重庆大学余俊良摘要•损失函数与风险函数•经验风险最小化和结构风险最小化•模型评估与模型选择•正则化与交叉验证损失函数与风险函数损失函数与风险函数损失函数与风险函数损失函数与风险函数经验风险最小化和结构风险最小化经验风险最小化和结构风险最小化经验风险最小化和结构风险最小化模型评估与模型选择训练误差与测试误差模型评估与模型选择训练误差与测试误差模型评估与模型选择过拟合与模型选择模型评估与模型选择过拟合与模型选择模型评估与模型选择过拟合与模型选择模型评估与模型选择过拟合与模型选择模型评估与模型选择过拟合与模型选择模型评估与模型选择过拟合与模型选择正则化与交叉验证正则化与交叉验证正则化与交叉验证举例上图红色小叉代表给出的样本数据,我们看到了如果用一个二次函数来拟合这些数据,那么它给了我们一个对数据很好的拟合。然而,如果我们用一个更高次的多项式去拟合,最终我们可能会得到一个曲线,它能很好地拟合训练集,但却并不是一个好的结果,因为它过度拟合了数据,因此,一般性并不是很好。让我们考虑下面的假设,我们想要加上惩罚项,从而使参数θ3和θ4足够的小。正则化与交叉验证举例上图的式子是我们的优化目标,也就是说我们需要尽量减少代价函数的均方误差。对于这个函数我们对它添加一些项,加上1000乘以θ3的平方,再加上1000乘以θ4的平方,1000只是我随便写的某个较大的数字而已。现在,如果我们要最小化这个函数,那么为了最小化这个新的代价函数,我们要让θ3和θ4尽可能小。因为,如果你在原有代价函数的基础上加上1000乘以θ3这一项,那么这个新的代价函数将变得很大,所以,当我们最小化这个新的代价函数时,我们将使θ3的值接近于0,同样θ4的值也接近于0,就像我们忽略了这两个值一样。如果我们做到这一点(θ3和θ4接近0),那么我们将得到一个近似的二次函数。正则化与交叉验证举例因此,我们最终恰当地拟合了数据,我们所使用的正是二次函数加上一些非常小,贡献很小项(因为这些项的θ3、θ4非常接近于0)。显然,这是一个更好的假设。正则化与交叉验证更一般地,这里给出了正规化背后的思路。这种思路就是,如果我们的参数值对应一个较小值的话(参数值比较小),那么往往我们会得到一个形式更简单的假设。在我们上面的例子中,我们惩罚的只是θ3和θ4,使这两个值均接近于零,从而我们得到了一个更简单的假设,实际上这个假设大抵上是一个二次函数。但更一般地说,如果我们像惩罚θ3和θ4这样惩罚其它参数,那么我们往往可以得到一个相对较为简单的假设。实际上,这些参数的值越小,通常对应于越光滑的函数,也就是更加简单的函数。因此就不易发生过拟合的问题。我知道,为什么越小的参数对应于一个相对较为简单的假设,对你来说现在不一定完全理解,但是在上面的例子中使θ3和θ4很小,并且这样做能给我们一个更加简单的假设,这个例子至少给了我们一些直观感受。正则化与交叉验证来让我们看看具体的例子,对于房屋价格预测我们可能有上百种特征,与刚刚所讲的多项式例子不同,我们并不知道θ3和θ4是高阶多项式的项。所以,如果我们有一百个特征,我们并不知道如何选择关联度更好的参数,如何缩小参数的数目等等。因此在正则化里,我们要做的事情,就是把减小我们的代价函数(例子中是线性回归的代价函数)所有的参数值,因为我们并不知道是哪一个或哪几个要去缩小。因此,我们需要修改代价函数,在这后面添加一项,就像我们在方括号里的这项。当我们添加一个额外的正则化项的时候,我们收缩了每个参数。正则化与交叉验证下面的这项就是一个正则化项并且λ在这里我们称做正则化参数。λ要做的就是控制在两个不同的目标中的平衡关系。第一个目标就是我们想要使假设更好地拟合训练数据。我们希望假设能够很好的适应训练集。第二个目标是我们想要保持参数值较小。(通过正则化项)而λ这个正则化参数需要控制的是这两者之间的平衡,即平衡拟合训练的目标和保持参数值较小的目标。从而来保持假设的形式相对简单,来避免过度的拟合。对于我们的房屋价格预测来说,我们之前所用的非常高的高阶多项式来拟合,我们将会得到一个非常弯曲和复杂的曲线函数,现在我们只需要使用正则化目标的方法,那么你就可以得到一个更加合适的曲线,但这个曲线不是一个真正的二次函数,而是更加的流畅和简单的一个曲线。这样就得到了对于这个数据更好的假设。正则化与交叉验证在正则化线性回归中,如果正则化参数值λ被设定为非常大,那么将会发生什么呢?我们将会非常大地惩罚参数θ1θ2θ3θ4…也就是说,我们最终惩罚θ1θ2θ3θ4…在一个非常大的程度,那么我们会使所有这些参数接近于零。正则化与交叉验证如果我们这么做,那么就是我们的假设中相当于去掉了这些项,并且使我们只是留下了一个简单的假设,这个假设只能表明房屋价格等于θ0的值,那就是类似于拟合了一条水平直线,对于数据来说这就是一个欠拟合(underfitting)。这种情况下这一假设它是条失败的直线,对于训练集来说这只是一条平滑直线,它没有任何趋势,它不会去趋向大部分训练样本的任何值。因此,为了使正则化运作良好,我们应当注意一些方面,应该去选择一个不错的正则化参数λ。当我们以后讲到多重选择时我们将讨论一种方法来自动选择正则化参数λ,为了使用正则化,接下来我们将把这些概念应用到到线性回归和逻辑回归中去,那么我们就可以让他们避免过度拟合了。正则化与交叉验证为什么过拟合的时候系数会很大?正则化与交叉验证如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。正则化与交叉验证正则化与交叉验证TheEnd
本文标题:机器学习模型选择与正则化
链接地址:https://www.777doc.com/doc-2325100 .html