学习模型

xiaoxiao2021-02-28  51

1.前言

本栏目所涉及的各种机器学习算法大多着重于如何使特定函数与数据集相似。所以在最开始的时候,我先对各种近似模型进行介绍。

2.线性模型

最简单的线性模型是Θ*x。Θ表示模型的参数,标量,通过对这个参数进行学习,完成函数的近似计算。这个模型对于参数Θ而言是线性的,过于简单,实际中没有太大应用价值。

实际应用中,经常会对上面的线性模型进行相应的拓展,使其变成基于参数的线性模型,这样就可以使线性模型也能用于表示非线性的输入输出了。

在上式中,(xj)是基函数向量(X)=((x1),(x2),(x3),...,(xb))T的第j个因子,Θj是参数向量Θ =(Θ1,Θ2,Θ3,...,Θb)的第j个因子。b是指基函数的个数。

我们可以发现,虽然上式依然是基于参数向量Θ的线性模式,但是,如果把基函数变成多项式的形式

(X)= (1,(x),(x^2),(x^3),...,(x^b-1))或者变成2m+1的三角多项式形式(X)=(1,sinx,cosx,sin2x,cos2x,...,sinmx,cosmx)。这种线性模型就可以表示非常复杂的非线性模型了

3.核模型

在线性模型中,无论是多项式还是三角多项式,基函数与训练样本{(xi,yi)}i=1->n是毫不相关的。而核模型则会在基函数的设计时使用到输入样本{xi}i=1->n

核模型,是以使用被称为核函数的二元函数K(·),以K(x,xj)j=1->n的线性结合方式家已定义的:

在众多核函数中,以高斯核函数的使用最为广泛:

在高斯核函数中,对各个输入样本{xi}i=1->n进行高斯核配置,并把其高度{Θi}i=1->n作为参数进行学习,具体如下图所示:

一维的高斯核模型

二维的高斯核模型

因此,在高斯模型中,一般只能在训练集的输入样本附近对函数进行近似。与对输入空间的全体函数进行近似的乘法模型不同,在高斯模型中,因为只能在训练集的输入样本附近进行近似,所以从某种程度上来说也减轻了维数灾难的影响。实际上,在和模型里,参数的个数不依赖于输入变量x得维数d,只有训练样本n决定。因此,及时输入维数d相当大,只要训练样本数n不是太大,也会在普通计算机的处理范围之内。而即使训练样本数n也很大,我们可以采用“批平均”作为核均值来进行计算。

核模型的另一个特征是,当输入样本x不满足向量的时候,也能够很容易地实现拓展。目前已经有人提出输入样本x是字符串、决策树或图表等的函数。使用这种核函数进行机器学习算法,称为核映射方法。

4.层级模型

与参数相关的非线性模型称为非线性模型。如下所示:

上式中,(x;β)是含有参数向量β得基函数。与前面的基于参数的线性模型相似,层级模型是基于参数向量α=(α1,,2,,3,...,αb)的线性形式。但是因为层级模型的基函数里也包含参数向量β,所以层级模型又是基于参数向量Θ=(α,β)的线性形式。

基函数通常使用S型函数:

或者高斯函数:

S型函数模仿的是人类脑细胞的输入输出函数,因此使用S型函数的层级模型也成为人工神经网络模型。需要注意的是这里用到的高斯函数!在核函数中带宽和均值都是固定的,而在层级模型中,会对带宽和均值进行学习。因此,我们一般认为层级模型能够比核模型更加灵活的对函数进行近似。

S型函数

最简单的层级模型就是三层神经网络的形式:

然而,在层级模型中,参数Θ与函数fΘ并不是一一对应的。例如,在b=2的人工神经网络模型中:

当上式的w1=w2=w,且r1=r2=r时,如果α1+α2是定值的话,就都会变成同一个函数:

正是因为有这样的特性,人工神经网络模型也以学习过程异常艰难而著称。

转载请注明原文地址: https://www.6miu.com/read-44578.html

最新回复(0)