我开始写这篇博客其实是深受实验室师兄的影响,他在找工作中,在一面、二面的过程中被问到了很多NLP的基础知识,平时对于这些知识我也是云里雾里,搞不太清楚。今天就先针对这个知识点查了很多资料,以及读了很多知乎上、CSDN博客上一些分享,我在此结合起来,更加细致的说一下自己的理解。希望大家都能了解一些,现在就拓展知识面,准备起来吧!!!希望在自己在面试之前,能够踏实一些…

什么是泛化能力?

  通俗的说就是一个机器算法对于新的样本(即没有见过的样本)的举一反三的能力,也可以称为学以致用的能力。能通过具有统一规律的训练样本来学习数据背后一些规律,经过训练的网络也能对训练数据以外的数据给出合适的输出。即通过学习—–>预测新数据的输出。

 

那跟过拟合什么联系呢?Follow me

  假设,给两个数,让机器来计算两个数的加法,它学会了1+1=2,但是当给出15+7,它却不会计算了,这就是泛化能力很差的表现,只会学习给定的东西,换两个数还是不会计算,这也是不具备举一反三、学以致用的能力—–>没错,这就是过拟合。(联系上了吧)

同时就能根据自己的理解总结出来过拟合的特点:模型在训练时效果很好(死记硬背),但是在测试时效果很差(不会举一反三)。引用别人说的一句话,模型对数据学习过度,把局部特征、噪音当成一个很明显的特征并赋予一个较大的权重。

 

正则化怎么引进的呢?为什么使用?Follow me

 

  前边说到的之所以会过拟合,就是因为机器把局部特征或者噪音当做很明显的特征赋予了一个较大的权重,so,如何避免过拟合就可以顺着往下推了,就是要丢弃掉一部分无关紧要的噪音或者要利用好所有的输入的特征而不是局部特征。看的很多文章介绍,又是0范数之类的,我觉得那样理解起来真的很难,我们可以换一种思维。过拟合,就是因为要把所有的特征都学来,不允许一点误差,当然正常的,预测值是允许有误差的,但同时要保证误差很小,所以只需要把注意力转移到如何使误差函数的值最小了。引用———–>我们通过一个例子形象理解一下L2正则化的作用,考虑一个只有两个参数W1和W2,其损失函数曲面如下图所示。从a可以看出,最小值所在是一条线,这条线就会对应无数个参数组合,单纯使用梯度下降法难以得到确定解。但是这样的目标函数若加上一项0.1*(W12+W22则曲面就会变成b图的曲面,最小值所在的位置就会从一条山岭变成一个山谷了,此时我们搜索该目标函数的最小值就比先前容易了.

什么是泛化能力?什么是过拟合?和正则化又有什么样的关系?Follow me-冯金伟博客园

很明显图b最小值要比图a好找。

后期会补充的衡多的理论知识……………….