概述
机器学习的各种算法在于如何使用特定函数与已知的数据集相匹配,从而达到训练和测试的目的。本篇文章对一些近似的模型做一些相应的介绍。
线性模型
一维输入变量
假设学习对象
f
函数的输入是一组实数,那么对该函数进行近似的时候,最简单的方案就是
由于上面这个模型过于简单,那么在实际应用中,会对上述的模型进行必要的扩展,使得函数 fθ(x) 变成参数的线性模型,这样这个模型就可以用来表示非线性的输入和输出了。可以把 θ⋅x 扩展成如下形式:
fθ(x)=∑bj=1θj⋅ϕj(x) 。
在这个式子中,
ϕj(x)
是基函数向量
ϕ(x)=(ϕ1(x),⋅⋅⋅,ϕb(x))T
的第
j
个分量,
Weierstrass第一逼近定理:假设 f(x) 是闭区间 [a,b] 上的连续函数,对于任意的 ϵ>0 ,则存在多项式 P(x) 使得对于所有的 x∈[a,b] ,有 |f(x)−P(x)|<ϵ 。
根据Weierstrass第一逼近定理,对于任何一个闭区间上面的连续函数,都可以用多项式去逼近。所以联系到机器学习,就可以把基函数
ϕ(x)
的分量设置为多项式,换句话说
ϕj(x)=xj−1
和
ϕ(x)=(1,x,x2,⋅⋅⋅,xb−1)T
。那么上述的
θ
的线性函数却是关于自变量
x
的非线性函数,而且
与Weierstrass逼近定理类似,用Fourier级数也可以逼近Lipchitz连续函数。所以也可以选择基函数
ϕ(x)=(1,sinx,cosx,⋅⋅⋅,sin(mx),cos(mx))T
。根据这些模型,
fθ(x)
就可以表示复杂的非线性模型了。
高维输入变量
对于高维的变量
x=(x(1),⋅⋅⋅,x(d))
,函数依旧可以扩展成如下模式:
fθ(x)=∑bj=1θjϕj(x)=θTϕ(x)
。对于多维的输入向量
x
,可以用一维的基函数来构造多维基函数的乘法模型和加法模型。
乘法模型指的是把一维的基函数作为因子,通过使其相乘而获得多维基函数的方法。表达式如下:
fθ(x)=∑b′j1=1⋅⋅⋅∑b′jd=1θj1,⋅⋅⋅,jdϕj1(x(1))⋅⋅⋅ϕjd(x(d))
。
在上面的式子中,
b′
是各个维数的参数个数。对于这个模型而言,它的表现力十分丰富,但是不足之处在于所有的参数个数是
(b′)d
,是一个非常巨大的数字,导致的维数灾难,所以在实际运用中,不主张用这个模型。
加法模型指的是把一维的基函数作为因子,通过相加而活得高维基函数的方法。表达式如下:
fθ(x)=∑dk=1∑b′j=1θk,jϕj(x(k))
。
加法模型中所有参数的个数是
b′d
,是一个关于维数
d
的线性函数,复杂度没有乘法模型大,但是表现力和乘法模型比起来则差很多。
核模型
在线性模型中,多项式或三角函数等基函数的选择都是与训练样本无关的,核模型则与之相反,会在进行基函数构造的时候使用输入样本
在核模型中,会使用核函数
K(x,c)=exp(−||x−c||22/(2h2))
,其中
||⋅||2
指的是欧几里德2-范数,
h
表示核函数的带宽,
从核函数的定义可以可以延伸出模型
fθ(x)=∑nj=1θj⋅K(x,xj)
。
在这个模型中,关于
θ
而言仍然满足线性关系。换句话说,对于
θ,θ′∈Rn
,
α∈R
,有
fθ+θ′(x)=fθ(x)+fθ′(x)
和
fαθ(x)=αfθ(x)
。对于核函数来说,无论输入的是一维变量还是高维变量,核函数都可以容易的进行扩展。
层级模型
对参数来说是非线性的模型,都称为非线性模型。下面要介绍的就是非线性模型中的层级模型,它在很多领域都有应用。假设模型是
fθ(x)=∑bj=1αj⋅ϕ(x;βj)
。
上式中,
ϕ(x;β)
是关于参数向量
β
的基函数,层级模型是基于参数向量
α=(α1,⋅⋅⋅,αb)T
的线性形式。同时也包含参数向量
{βj}bj=1
,所以层级模型是基于参数向量
θ=(αT,βT1,⋅⋅⋅,βTb)T
的非线性形式。
基函数通常采用S型函数
ϕ(x;β)=1/(1+exp(−xTω−γ))
,其中
β=(ωT,γ)T
或者高斯函数
ϕ(x;β)=exp(−||x−c||22/(2h2))
,其中
β=(cT,h)T
。
其中S函数模仿的是人类脑细胞的输入输出函数,因此使用S函数的层级模型也被称为人工神经网络模型。
针对像人工神经网络这样的层级模型,采用贝叶斯学习的方法是不错的选择。人工神经网络也以学习过程艰难异常而著称。
最后
以上就是谦让蜜蜂为你收集整理的机器学习的基本模型线性模型层级模型的全部内容,希望文章能够帮你解决机器学习的基本模型线性模型层级模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复