一般机器学习的样本都是离散的数据集,如果是像线性情况,只需要计算出直线的斜率和截距就可以定位回归线。对于非线性的情况,就有点复杂了。因为求解的回归线是一条曲线(面),而且该曲线(面)要最大限度地拟合出离散样本的变化趋势。
在数学上,我们利用多项式的原理,添加一个项达到类似的效果,这就是曲面拟合。我们知道一个平面是一个一阶多项式(线性)。如果山地有一次弯曲就是一个二阶(二次)多项式,三阶(三次)多项式,就允许两次弯曲。依次类推,有几个弯曲就可以用几阶多项式来拟合,这也就是著名的泰勒展开(用多项式来近似代替复杂高阶函数)。
使用泰勒级数可以用多项式来拟合任意形状的非线性曲线。1985年,Powell提出了多变量插值的径向基函数,证明该函数可以应用于任意维度的离散和连续数据集中进行 插值和拟合运算。径向基函数(Radical Basis Function,RBF)又称为RBF函数,或高斯函数,是一种适于大规模样本的非线性拟合函数。
1988年,Moody和Darken提出了以RBF径向基函数为激活函数的新型神经网络,称为RBF神经网络,它能够以任意精度逼近任意连续或离散函数,特别适合于解决各类非线性问题的预测和分类问题。
RBF网络属于前馈神经网络,输入层与所有的其他神经网络相同,输入层到隐含层再到输出层经历了三次运算。
- 从输入层到隐含层求解输入节点与类别标签的欧式距离||dist||。
- 在隐含层根据欧式距离使用RBF高斯函数进行曲线拟合。
从隐含层到输出层为一个线性函数。如果是预测,则使用最小二乘法的正规方程组。
与BP神经网络相比,RBF网络减少了误差反馈的权值更新环节,仅在隐含层使用高斯函数作为激活函数拟合数据集的非线性,而网络输出调整是线性的,因而学习速度比BP网络要快很多,并能够避免局部极小问题。
RBF径向基函数的激活函数如下:
其中:
- 是第p个输入样本。
- ,P表示样本总数。
- 是网络隐含层节点的中心。
- 是隐含层到输出层的连接权值。
- 是隐含层的节点数。
yj是与输入样本对应的网络的第j个输出节点的实际输出。
RBF网络结构与BP神经网络类似,也是一种三层网络。第一层是输入层,仅仅起到传输信号的作用,输入层和隐含层之间可以看作连接权值为1的连接。
第二层为隐含层,如果用于预测,那么隐含层单元数与样本数应相同;从输入层到隐含层的变换是非线性的,通过激活函数(高斯函数)对样本权值进行调整。RBF的非线性函数包含两部分:首先对输入样本计算欧式距离;接下来对距离进行RBF拟合。
第三层为输出层,它一般是一个线性函数,对隐含层的输出数据进行线性权值调整,采用的是线性优化策略。
在机器学习的预测模型中,多元回归的主要方法都是以最小二乘法为基础的,并通过RBF网络扩展至非线性的情况,它们共同构成了预测多远非线性系统的核心结构。