径向基函数网络(Radial Basis Function Network):就是将基假设函数进行线性聚合。html
径向基函数网络假设函数(RBF Network Hypothesis)
先回顾一下高斯支持向量机(Gaussian SVM):web
g
s
v
m
(
x
)
=
sign
(
∑
S
V
α
n
y
n
exp
(
−
γ
∥
x
−
x
n
∥
2
)
+
b
)
g _ { \mathrm { svm } } ( \mathbf { x } ) = \operatorname { sign } \left( \sum _ { \mathrm { SV } } \alpha _ { n } y _ { n } \exp \left( - \gamma \left\| \mathbf { x } - \mathbf { x } _ { n } \right\| ^ { 2 } \right) + b \right)gsvm(x)=sign(SV∑αnynexp(−γ∥x−xn∥2)+b)算法
其其实是找出系数 α
n
\alpha_nαn 将以 x
n
\mathbf { x } _ { n }xn 为中心的高斯函数进行线性结合。网络
Gaussian kernel 又叫 Radial Basis Function (RBF) kernel,其中 Radial 指的是这里之关系 x
\mathbf { x }x 与中心 x
n
\mathbf { x } _ { n }xn 之间的距离(相似于一种放射线长度求解)。app
那么写出高斯支持向量机中的径向基假设函数:dom
g
n
(
x
)
=
y
n
exp
(
−
γ
∥
x
−
x
n
∥
2
)
g _ { n } ( \mathbf { x } ) = y _ { n } \exp \left( - \gamma \left\| \mathbf { x } - \mathbf { x } _ { n } \right\| ^ { 2 } \right)gn(x)=ynexp(−γ∥x−xn∥2)机器学习
那么高斯支持向量机能够改写为:svg
g
s
v
m
(
x
)
=
sign
(
∑
S
V
α
n
g
n
(
x
)
+
b
)
g _ { \mathrm { svm} } ( \mathbf { x} ) = \operatorname { sign } \left( \sum _ { \mathrm { SV } } \alpha _ { n } g _ { n } ( \mathbf { x } ) + b \right)gsvm(x)=sign(SV∑αngn(x)+b)函数
能够看出被选择的径向基假设函数的线性结合(linear aggregation of selected radial hypotheses)。学习
RBF Network 的网络结构示意图以下:
实际上 RBFNet 是 NNet 的一个分支,可见输出层虽然使用的是投票,可是这也是一种线性组合因此与神经网络是同样的。可是隐含层是不一样的,在神经网络中使用的是内积加 tanh 输出,而在 RBFNet 中使用的是距离计算加高斯函数。
那么能够写出 RBFNet 的输出假设函数:
h
(
x
)
=
Output
(
∑
m
=
1
M
β
m
RBF
(
x
,
μ
m
)
+
b
)
h ( \mathbf { x } ) = \text { Output } \left( \sum _ { m = 1 } ^ { M } \beta _ { m } \operatorname { RBF } \left( \mathbf { x } , \mu _ { m } \right) + b \right)h(x)=Output(m=1∑MβmRBF(x,μm)+b)
其中 μ
m
\mu _ { m }μm 是中心点,β
m
\beta _ { m }βm 是投票系数。
对比与高斯支持向量机:
RBF(径向基函数)选择的是高斯函数。
Output(输出)选择 sign 作为二分类输出。
M 则是支持向量的个数(#SV)。
μ
m
\mu _ { m }μm 则是支持向量 x
m
\mathbf{x}_mxm。
β
m
\beta _ { m }βm 则是经过 SVM Dual 问题求解 α
m
\alpha_mαm 与 y
m
y_mym 的乘积。
不失广泛性的来讲:若是要学习径向基函数网络的话,须要选择四个部分:径向基函数 RBF ,输出层假设函数 Output ,中心点的求取 μ
m
\mu _ { m }μm ,投票的系数 β
m
\beta _ { m }βm。
实际上核技巧实际上就是根据在 Z
\mathcal ZZ 空间上的内积求取类似性,好比多项式核:
Poly
(
x
,
x
′
)
=
(
1
+
x
T
x
′
)
2
\operatorname { Poly } \left( \mathbf { x } , \mathbf { x } ^ { \prime } \right) = \left( 1 + \mathbf { x } ^ { T } \mathbf { x } ^ { \prime } \right) ^ { 2 }Poly(x,x′)=(1+xTx′)2
而RBF则是直接经过在 X
\mathcal XX 空间上的距离求取类似性,通常认为距离越近类似性越大,也就是说距离与类似性单调相关。好比下面这个截断类似性函数:
Truncated
(
x
,
x
′
)
=
[
∥
x
−
x
′
∥
≤
1
]
(
1
−
∥
x
−
x
′
∥
)
2
\text { Truncated } \left( \mathbf { x } , \mathbf { x } ^ { \prime } \right) = \left[ \left\| \mathbf { x } - \mathbf { x } ^ { \prime } \right\| \leq 1 \right] \left( 1 - \left\| \mathbf { x } - \mathbf { x } ^ { \prime } \right\| \right) ^ { 2 }Truncated(x,x′)=[∥x−x′∥≤1](1−∥x−x′∥)2
而高斯函数则处于他们的交集。
Gaussian
(
x
,
x
′
)
=
exp
(
−
γ
∥
x
−
x
′
∥
2
)
\text { Gaussian } \left( \mathbf { x } , \mathbf { x } ^ { \prime } \right) = \exp \left( - \gamma \left\| \mathbf { x } - \mathbf { x } ^ { \prime } \right\| ^ { 2 } \right)Gaussian(x,x′)=exp(−γ∥x−x′∥2)
类似性是很好的一种特征转换方法。在RBF中则是将中心距离类似性做为特征转换的。其余的类似性函数好比神经元函数或者DNA序列类似性函数:
Neuron
(
x
,
x
′
)
=
tanh
(
γ
x