AI从零开始之如何预估f

我们在AI从零开始之统计学简介知道,统计学其实就是为了那个f而奋斗,也在AI从零开始之我们为什么为了那个虚无缥缈的f而奋斗中知道了我们为什么要评估这个f,那么本文就继续来讨论一下我们怎样来评估f。

一般来说,在评估f之前,我们总是已经有了一系列的可观察的数据,我们把这些数据称之为训练数据(Training data),就像下图一所示的学历和收入关系图中的红点,就是我们的训练数据。我们利用统计学的方法来训练这些数据并最终评估出f。总得来说统计学的方法有两种,一种是参数化(parametric)的一种是非参数化(non-parametric)的。

图一 学历和收入关系图

参数化的方法

参数化的方法一般分为两步:

  1. 就是假设一个函数格式,比如我们假设f就是一个简单的线性model:f(X)=\beta _{0}+\beta _{1}X_{1}+...+\beta _{p}X_{p}

当我们有了这样的假设之后,问题就变得很简单了,我们要做的事情就是来评估这些 \beta _{0} ,… \beta _{p}了。

  1. 在1中的model选择好了之后,下面我们就需要根据training data来train这个model了。同样以上面的线性model为例,我们需要找到相应的 ,… 来满足下面的条件:

所以,在参数化的方法中,我们把评估f简化成了评估一系列参数 ,… ,这无疑使得我们的工作变得简单了很多。然而我们同时也可以发现,这样的方法其实也是有缺点的,因为我们选择的model其实并不能真实表达正确f,我们当然可以选择更flexible的model来进行预估,不过越flexible的model意味着我们需要预估的参数就越多,这样他最初的简化这一好处就变得越小,同样的,越flexible也容易引入另外一个问题,就是overfitting,很容易受到一些错误或者噪音的干扰,这个问题我们在以后再详细描述。所以如何选择一个合理的model也是一个trade off的过程。

我们举个例子来看一下,假设我们收入和学历以及经历的真实关系如图二中的蓝色部分所示

 

图二 真实的f示意图

我们利用参数化的方法来预估这个f,假设我们还是选择了最简单的线性model:

那么我们就只要预估 ,即可,我们可以使用最小二乘法线性回归(least squares linear regression)来得到这些参数,如图三所示:

 

图三 最小二乘法线性回归的f

从图三可以看出,其实这个预估是不准确的,真实的f是有各种波动,而我们这里就没有了。

非参数化的方法

非参数化的方法没有显式地假设f的形式,他是尽可能地直接寻找一个和f相近的点。这样一来他就摆脱了参数化方法的那种固有的死板限制,从而更可能和真实的f相接近。当然我们知道有利必然有弊,这样的方法就需要大量的training data才有可能达到一个比较好的效果。

同样对上面的例子,我们可以使用薄板样条插值(thin-plate spline)来进行预估,得到的结果(smooth)如图四所示:

 

图四 薄板样条插值得到的f

我们可以看到这个图的结果和我们理想的f就比较接近,在使用薄板样条插值的时候,我们需要选择一个smoothness的值,不同的值会有不同的结果,假如我们选择的smoothness的值比较小,那么我们可能会得到如图五所示的结果:

图五 低smooth的薄板样条插值的f

图五中的结果可以完美的覆盖所有的training data,但是他的结果其实是不理想的。这就是我们之前提到过的overfitting。当然这些具体的内容我们可以在后期再详细讨论。

至此,本文就介绍了两种方法来预估f,一种是参数化的,一种是非参数化的。

转载请注明出处: http://www.softlifelogging.com/2018/06/05/ai从零开始之如何预估f/

更多精彩内容,敬请关注公众号: 随手记生活

No Comments

Leave a Reply

Your email address will not be published.