机器学习技法笔记 – Radial Basis Function Network(RBF Network)

RBF Network Hypothesis

一言以概之的说,RBF Network是一种根据RBF的线性组合。

其中每一个RBF用于描述了某个数据点与某个聚类的相似度,然后将他们进行线性组合而成的网络,即是RBF Network。

它和使用了Gaussian Kernel的SVM具有相似之处,即某种意义上它们都是通过计算某个数据点与样本中某个点的相似度来进行分类或者预测的。

在SVM中,用于参与计算的通常是那些支撑向量:

而在RBF Network中我们的\(h(x)\)通常具有以下形式:

$$h(x) = sign(\sum^{M}_{m=1} \beta_{m}RBF(x, \mu_{m}) + b)$$

其中\(\beta_{m}\)是每个RBF的权重,其中\(\mu_{m}\)通常是某个聚类算法生成的簇中某个代表点。

不同于神经网络通过多权重和多个隐含层计算下层输入与输出,RBF Network通常具有以下图像化的描述:

RBF Network Learning

那么如何训练RBF Network Learning呢?

我们首先介绍一种简单的方法,即Full RBF Network。

在Full RBF Network中,在上节的\(h(x)\)中,\(M=N\),即RBF的数量即数据集的大小,而\(\mu_m=x_m\),即对于每一个RBF,它的代表点即是\(x_m\),而令\(\beta_m=1 · y_m\),即每个RBF平权,则Full RBF Network具有以下形式:

$$g_{uniform}(x) = sign(\sum^{M}_{m=1} y_{m}exp(-\gamma \Vert{x-x_{m}}\Vert^2))$$

Full RBF Network也被称为Nearest Neighbor,观察上式,可以发现上式中\(g(x)\)正是在寻找某个与\(x_m\)距离最近的\(x\),其中:

$$exp(-\gamma \Vert{x-x_{m}}\Vert^2)$$

根据\(\gamma\)的取值与指数函数的性质,与代表点距离越近的点使得函数值越接近\(1\),而偏离的点衰减很快。

我们可以通过寻找数据集中\(k\)个最具代表性的点,来组成具有\(k\)个RBF构成的RBF Network。

这又被称之为k Nearest Neighbor(k近邻)。

回到Full RBF Network的话题,无论是采用全部数据作为代表点还是前\(k\)个代表点,如何最优化\(\beta\)矩阵也是一个重要话题。

此时的RBF Network某种意义上可以类比于一个Linear Blending Model,我们可以添加Regularizer后通过解Linear Regression的问题得到最优的\(beta\)矩阵,它具有以下形式:

$$\beta = (Z^TZ + \lambda I)^{-1}Z^Ty$$

但是显然\(E_{in} = 0\)与Full RBF并不是我们想要的,它显然可能会导致Overfitting,接下来我们将介绍k-means算法,来解决这个问题。

k-Means Algorithm

无论是采用Full RBF Network还是K Nearest Neighbor,我们都可能遇到这种情况,如果\(x_1 ≈ x_2\), 如果\(x_1, x_2\)都作为代表点参与RBF Network,这显然是冗余的。

我们可以将\(N\)个数据点通过聚类分成\(M\)个簇,为每一个簇选择最具代表性的\(\mu_m\),通过这种方法将产生\(M\)个RBF。

这种算法被称为k-Means Algorithm,它的具体工作方式总是希望最小化下式:

不过显然可以预见的是,上式因为具有两组变量需要最优化,我们必须先固定一组变量进行最优化。

我们首先假设\(M\)个簇已经确定,即有\(S_1, ···, S_M\),我们首先固定了\(S_m\),来优化\(\mu_m\),对原式求梯度得:

由于判断数据点是否属于\(S_m\)的布尔运算,所以将有右式的结果。

令原式等于\(0\),可以发现:

$$\mu_m = \frac{-2 · \underset{x_n∈S_m}{\sum x_n}}{\vert{S_m}\vert}$$

但是在实际的k-Means算法中,我们通常先初始化\(\mu_m\),然后优化\(S_m\),然后重复上述步骤,直至收敛(\(E_{in} = 0\)):

这就是k-Means算法。

将k-Means结合RBF Network,则有以下步骤:

我们首先通过k-Means获得\(M = k\)个\(\mu_m\),然后得到\(M\)个RBF,然后再通过Linear Blending得到RBF Network:

k-Means and RBF Network in Action

以下分别是k-Means与Full RBF Network的运行效果图:

以上是对Radial Basis Function Network在台湾大学机器学习技法课程的笔记总结。

在下一篇文章中,将会讨论Matrix Factorization。