径向基函数网络

| 研究学术  | 机器学习基础  神经网络  最近邻算法  k均值算法  回归  核方法  正则化  特征学习 

径向基函数网络

高斯核SVM,可以实现无限维特征空间的最大边界分类器,它的实现方式是利用αn实现以支持向量xn为中心高斯函数的线性组合。

高斯核通常也称为径向基函数(RBF,radial basis function)。radial表示函数值只依赖于x与“中心”xn之间的距离;basis function表示用来组合的系数αnyn

gn(x)=ynexp(γxxn2),它表示基于xxn之间距离权重的加权投票(+11的票)。高斯核SVM可以表示为 gSVM(x)=sign(SVαngn(x)+b) 它是径向基假设的线性融合。

径向基函数网络就是径向基假设的线性融合,它也是一种神经网络。

神经网络与径向基函数网络
图 1: 神经网络与径向基函数网络 [PNG]

神经网络与径向基函数网络如上图所示:

  • 隐藏层:神经网络采用“内积+tanh”,径向基函数网络采用“距离+高斯函数”;
  • 输出层都是同样的线性融合模型。

径向基函数网络的假设为 h(x)=Output(Mm=1βmRBF(x,μm)+b) 高斯函数只是一种径向基函数RBFβm是投票权值,Output形式由不同的回归或分类问题确定。μmβm(带符号)是两个关键参数。高斯核SVM是一种径向基函数网络:径向基函数RBF采用高斯函数;对二分类问题输出是±1M=#SVμm是支持向量xmβm是从对偶SVM推导的αmym

给定径向基函数RBF和输出,径向基函数网络需要学习的参数是μmβm

核和RBF是两种不同的相似度度量方法。核描述基于Z空间内积的相似性,需要满足Mercer条件。RBF通过X空间的距离度量相似性,这种相似性与距离是单调递减(monotonically non-increasing)关系。一般采用度量xx相似性的函数还可以是1 Neuron(x,x)=tanh(γxx+1)DNASim(x,x)=EditDistance(x,x) 神经网络的神经元也是在比较输入向量与权值向量之间的相似性。

RBF网络展示了通过度量到中心的距离也是一种很好的特征转换。 相似性是一种很好的特征转换方法,相似性不一定与距离有关,也不一定与核有关。

学习算法

M=Nμm=xm时,称为完全RBF网络。它的物理含义是每个点xm对周围的数据x有权重βm的影响,假设对二分类问题均匀影响(uniform influence)周围的数据,βm=1ym,那么 guniform(x)=sign(Nm=1ymexp(γxxm2)) 这就是每个数据通过相似度对新数据的投票融合。这和k最近邻算法思想很相似。离x最近的xmexp(γxxm2)取得最大值。高斯函数衰减很快,最大的投票很可能会左右投票结果,不需要让所有数据投票,只用离x最近数据投票,用选择法(selection)替代融合法(aggregation), gnbor=ym such that x closest to xm 这就是最近邻算法。若让k个xm参与对x投票就是k最近邻算法。

如果不直接用ym作为βm投票,而更进一步考虑对βm进行优化,用完全RBF网络解决基于平方误差的回归问题, h(x)=Mm=1βmRBF(x,xm) 这是基于RBF特征转换的线性回归, zn=[RBF(xn,x1),RBF(xn,x2),,RBF(xn,xN)] 最优解为β=(ZZ)1Zy(若ZZ可逆),ZN×N的对称方阵,那么就有 β=Z1y 若每个xn都不一样,那么Z总可逆。对于数据x1gRBF(x1)=βz1=yZ1(first column of Z)=y[1,0,,0]=y1 那么就有 gRBF(xn)=yn 对于回归问题Ein(gRBF)=0。在函数逼近(function approximation)领域这叫完美内插(exact interpolation);对机器学习而言这是过拟合,需要正则化。

正则化

对正则化的完全RBF网络的脊回归可得 β=(ZZ+λI)1Zy 其中Z可以看作高斯核矩阵K=Z,对比脊回归的核模型,二则只相差矩阵Z,前者是有限N维转换的回归,后者是无限维转换的回归。

对于SVM核模型,只采用了支持向量作为参考进行距离度量。减少中心数量(也就减少了参与投票的权值),只使用部分代表点(prototype)作为中心,使MN,也是一种有效的正则化方法。

如何找出这些有效的代表点呢?

k均值聚类

x1x2,不需要RBF(x,x1)RBF(x,x2)都出现在RBF网络中,可以只用一个clusterμx1x2替代两个点即可。

聚类是将数据{xn}分为不相交的集合(类)S1,S2,,SM。当每个集合用μm作为代表时,若x1x2都属于Sm,当且仅当μmx1x2。聚类的目标函数为 min{S1,,SM;μ1,,μM}Ein(S1,,SM;μ1,,μM)=1NNn=1Mm=1[[xnSm]]xnμm2 这是混合的组合数值优化问题,很难最优化,但是可以简化为分别交替最优化Smμm

  1. 最优划分:固定μ1,,μM;选择每个xn所属的唯一类别Sm,使xnμm最小。
  2. 最优计算:固定S1,,SM;对每个μm,由于 μmEin=2Nn=1[[xnSm]](xnμm)=2((xnSmxn)|Sm|μm)=0 可得最佳μm是属于Sm所有xn的均值。

以上就是k均值算法的关键步骤,k=M,重复以上2步直至收敛。通常随机选择k个xn作为μk的初始值。收敛是指S1,,Sk不再改变。算法通过交替最小化使Ein减小,一定能收敛。

####基于k均值的RBF网络

  1. 利用k均值算法,k=M,得到{μm}
  2. 进行特征转换 Φ(x)=[RBF(x,μ1),RBF(x,μ2),,RBF(x,μM)]
  3. 通过{(Φ(xn),yn)}上的线性模型得到参数β
  4. 返回gRBFNET(x)=LinearHypothesis(β,Φ(x))

上述算法采用非监督的k均值作为特征转换,如同自编码器。RBF网络需要确定的的参数是MRBF函数,这些可通过验证方法确定。

虽然RBF网络和SVM的核模型与神经网络性能差不多,但在实际中并不常用。

实战技能

k均值算法对参数敏感
图 2: k均值算法对参数敏感 [PNG]

只要选择合适的k和恰当的初始化,k均值算法通常表现良好。k均值算法对参数敏感,选择不同的k和不同的初始化,结果差异大,如上图所示。对参数交替最优化不能保证得到全局最优。

基于k均值的RBF网络
图 3: 基于k均值的RBF网络 [JPG]

上图是利用了k均值的RBF网络,蓝色和红色表示两类的标签,阴影渐变区域表示k均值聚类的结果,黑色线条展示分类结果。上图左完全没办法分出两类,输出都是同一类的结果。如果k均值的效果较好,RBF网络效果也更好。

完全RBF网络
图 4: 完全RBF网络 [JPG]

上图左和右分别展示了两种完全RBF网络的效果,所有的数据都参与分类计算,由于计算量很大,在实际中很少使用。或者说这类算法还需要借助其它方式,克服计算复杂度。

参考资料

    脚注

    1. EditDistance表示一个字符串如何通过最小的修改变为另一个字符串。 


    打赏作者


    上一篇:深度学习     下一篇:矩阵分解