目录

引言

一、基本概念

二、模型选择

三、正则化


引言

在前一篇文章,我们讲了线性回归的模型训练的一般过程,我们使用的是一元线性回归方,只有一个特征量。但是在生活和物理中,我们需要进行的回归分类模型往往不只一个特征。比如预测一个人的年龄,我们可以从人的身高,体重,发量,性别等特征进行综合观测。所以对多特征问题。我们应该怎么去建立模型呢?在上一篇的文章我讲过用过多个参数特征,不同的特征还可以设置不同的幂。在这篇文章里,我将更加详细的讲解一下模型选择。

一、基本概念

在这之前,我先讲一下几个基本概念:

泛化能力:指通过训练学习到的模型通过已知特征对未知特征数据的预测能力。一般是通过采用对测试集数据的误差进行评估,即测试误差。测试误差越小,泛化能力越好,反之越差。

过拟合:过拟合顾名思义是指过度拟合,在训练集数据上表现极好,训练误差极低。但是在测试集数据上表现却很糟糕,测试误差太大。过拟合一般是因为模型的复杂程度超出了需要。

注意:不能将测试集数据用于进行模型训练,然后又用于测试对模型泛化能力的评估。训练集数据与测试集数据应该不相同,有时训练得到的模型在测试集上有意外的精确率,可能是训练集和测试集有大量的数据重叠,这样评估出来的泛化能力是不准确的。

二、模型选择

                    

如图,就是过拟合情况,在在训练集数据上表现极好,训练误差极低。但是在测试集数据上表现却很糟糕,测试误差太大。

而在这个模型里,虽然任然有一定的误差,这是无法避免的,但是,模型简单,并且在训练集和测试集上的误差基本一致,这就是我们想要的结果。

从上图我们可以看出,模型的选择不是越简单越好,也不是越复杂越好。

        综上:不是模型越复杂,训练得到的模型就越好。要合适的复杂程度,才能发挥出最佳的泛化能力。未被训练的模型就像是一个无知的小孩,对模型的特征约束太过于复杂,就像对小孩的思维约束太多,限制了思维的迁移能力,所以过于复杂的模型并不是最佳的模型。当然,模型也不能过于简单,假如小孩从小就学习一门数学,没有其他学科的支撑,那么他能考虑到的问题就不够全面。类比模型也是这样,所以应该更具具体问题进行相应的模型选择。

三、正则化

比如在我们对一个人的年龄进行预测的时候,假如只选择身高一个特征,模型过于简单,不能更好的预测。但是我们加入体重、发量和性别等,虽然特征多,能更好的体现特征的影响,但模型太复杂又会出现过拟合。那么可不可以在两者取中呢?既可以对多个特征进行训练,又不会出现过拟合。答案肯定是可以的。这就需要正则化。

那么什么是正则化?

正则化:正则化就是在损失函数后面加上一个正则化项(惩罚项),正则化项是正则化系数乘以关于各特征的权重函数。正则化系数是一个超参数,越大,则惩罚力度越大,反之越小。

L\left ( w \right )= Loss\left ( w ,x\right )+\lambda f (w)

正则化可以减小部分权重的值接近0,甚至减小为0,就相当于失去了某些特征。从而对模型进行简化。防止模型过拟合。

两中正则化方法:

L1正则化:是用\lambda乘以第一范式:其中\left | w \right |_{1}= \sum_{i=0}^{n}\left | w_{i} \right |

L\left (w \right )= Loss(w,x)+\lambda \left | w \right |_{1}

L2正则化:用\lambda乘以第一范式:\left \| w \right \|_{2}= \sum_{i=0}^{n}\left ( w_{i} \right )^{2}

L\left (w \right )= Loss(w,x)+\lambda \left \| w \right \|_{2}


制作不易,欢迎各位大佬指点错误

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐