从实践的角度来看,RBF 神经网络和带有 RBF 内核的 SVM 之间的主要区别是什么?
RBF 神经网络和带有 RBF 内核的 SVM 之间的主要区别是什么?
机器算法验证
支持向量机
神经网络
2022-03-28 22:11:18
1个回答
RBF SVM 实际上等同于 RBF 神经网络,其中第一层的权重将固定为所有训练样本的特征值。学习算法仅调整第二层权重。这允许优化问题是凸的,因此允许单个全局解决方案。潜在隐藏节点的数量可以随着样本数量的增加而增长,这一事实使得这个假设的神经网络成为一个非参数模型(在我们训练神经网络时通常不是这种情况:我们倾向于提前将架构固定为算法的固定超参数与样本数量无关)。
在实践中偏离路线,SVM 算法实现不会将训练集中的所有样本视为同时活动的支持向量/隐藏节点。如果样本有足够的贡献,则在活动集中逐步选择样本,并在它们被更新的一组支持向量遮蔽后立即进行修剪(这要归功于边际损失函数的组合使用,例如铰链损失和正则化器,例如 l2) . 这允许模型的参数数量保持足够低。
另一方面,当使用固定架构(固定数量的隐藏节点)训练经典 RBF 神经网络但输入层参数可调时。如果我们允许神经网络具有与样本一样多的隐藏节点,那么 RBF NN 的表达能力将远高于 SVM 模型,因为第一层的权重是可调的,但这是以非凸的为代价的可能陷入局部最优的目标函数,这会阻止算法收敛到良好的参数值。此外,这种增强的表达能力伴随着严重的过拟合能力:减少隐藏节点的数量有助于减少过拟合。
从实际的角度总结一下:
RBF 神经网络具有更多的超参数(RBF 内核的带宽、隐藏节点的数量 + 权重的初始化方案 + 正则化器的强度,即第一层和第二层的权重衰减 + 学习率 + 动量) + 局部最优收敛问题(根据数据和超参数,这在实践中可能是也可能不是问题)
RBF SVM 有 2 个用于网格搜索的超参数(RBF 内核的带宽和正则化器的强度),收敛独立于 init(凸目标函数)
顺便说一句,两者都应该具有缩放特征作为输入(例如单位方差缩放)。
其它你可能感兴趣的问题