当前位置:网站首页>GRNN、RBF、PNN、KELM之间究竟有什么联系?
GRNN、RBF、PNN、KELM之间究竟有什么联系?
2022-08-04 05:34:00 【机器猫001】
0、前言
GRNN广义回归神经网络、RBF径向基函数神经网络、PNN概率神经网络、KELM核极限学习机,这是四种常用的机器学习方法,有太多相关博文对各算法的理论进行了介绍,对各方法的优缺点进行了分析。限于本人理论水平有限,表达能力有限,本篇博文不说公式,不搬理论,目的只是让初学者明白这四种方法的底层含义。温馨提示:热衷于看理论分析和公式推导,并且能毫无障碍看得懂的,请绕道,本文太浅薄也许不太符合你的审美。
1、前期思想准备
①径向基函数(别慌,不说公式):这个说到底就是度量两个样本间相似度的东西,你只需要记住这个作用就行,这个很关键,后面都要用到!
②中心样本:就是样本集中选出来的部分重要的代表性样本,什么叫代表?以分类任务为例,就是对分类有重要指示作用的样本(例如各类样本的内心之类的,各类样本中选择出来的能代表类别特性的样本)
③度量学习:别慌!度量学习典型代表就是KNN,简而言之就是两个样本特征非常相似,那么对应的类别标签也应该差不多。因此,如果两个样本相似度高,自然而然类别标签(输出)相似度也高。
2、四个方法的含义
2.1 RBF
RBF就是先确定好中心样本(每个类别选XX个样本),然后利用径向基函数度量输入样本(n个)与每个中心样本的相似度。中心样本一开始就固定了,假如说总共选了m个中心样本(则隐含层节点数m个),每个输入样本的隐含层输出实际上就是该样本与m个中心样本的相似度。接下来是隐含层到输出层的映射,隐含层是相似度,输出层对应样本标签,RBF的训练实际上就是训练这个映射关系,因为从输入到隐含层之间没有网络参数需要训练,超参数确定好直接就能计算出来相似度。如何理解这个映射关系呢?其实很简单啦。中心样本不是各类的代表嘛,一个样本与这些代表的相似度计算出来了,直接根据这组相似度值去得出这个样本最可能的标签道理上说得通,也比较能接受,那么具体如何实现呢?神经网络分类层的惯用操作是直接建立映射关系,用梯度下降法迭代更新映射函数的参数,直到找不到最优为止(映射函数很精确了)。因此RBF作为一种神经网络也没有忘记这种传统,简单粗暴建立线性或者非线性映射关系,用梯度下降法确定最优函数映射,只要你告诉我这个样本与中心样本的相似度,我就告诉你这样本的标签。
2.2 GRNN
理论都说GRNN与RBF比较相似,相似在哪,区别又在哪呢?不知道各位看理论有没有领悟。笔者认为,两者相似处在于:都选中心样本,都选RBF来度量样本间相似度(计算每个样本与中心样本的相似度作为隐含层输出);区别在于:RBF用网络训练方式确定相似度与标签间的函数映射关系,而GRNN完全不需要训练,直接基于度量学习的思想对比样本与各类代表相似度和的大小,根据大小确定类别。例如:二分类情况下,样本与第一类代表相似度和为4,与第二类代表相似度和为6,归一化后样本与第一类代表相似度为0.4,与第二类代表相似度为0.6,那这个样本判定为第二类。
2.3 PNN
PNN与RBF很相似,与GRNN也很相似,相似在于:都选中心样本,都选RBF来度量样本间相似度(即计算每个样本与中心样本的相似度作为隐含层输出);区别在于:PNN不像RBF需要训练相似度与标签映射函数,也不像GRNN那样统计样本与各类代表的相似度和,PNN在得到样本与中心样本的一组相似度值后,统计各类相似度的平均值,根据平均值大小确定类别。例如:二分类情况下,样本与第一类5个代表相似度和为4平均值为0.8,与第二类10个代表相似度和为6平均值为0.6,那这个样本判定为第一类。可以看出PNN就是最后统计方法和GRNN不一样,GRNN统计每类的相似度和,而PNN统计平均值,GRNN必须限定每类代表样本个数一致(求和才公平),PNN计算平均值就不强设一致了,看心情!
2.4 KELM
看了笔者描述的前三个,认为RBF、PNN、GRNN之间有关联可以理解,那KELM作为一种核方法,不都说是在ELM基础上进化来的吗,与前三种有啥关系?
首先,KELM作为核方法,肯定要用到核函数,核函数理论好复杂估计没多少人有耐心看(看得懂!),大家用核方法做各种改进也只是应用核技巧(映射后的高维空间中,向量间的点积可以用核函数直接计算,而不用知道真实映射关系)。我们只需要知道我们平常用的几种核函数形式就行,其中一种是径向基核函数,和前面三个貌似有点联系了。接着往下看,核函数的几种形式,基本上都逃不开两个样本间的“距离”,实际上核函数计算出来的结果,也可以当做是样本间的相似度。这样看来KELM实际上就是把所有样本都当成中心样本,计算每个样本与所有样本的相似度,得到的矩阵就是nn维,就是所谓的核矩阵,每一行代表每个样本与n个中心样本的一组相似度值,然后建立相似度值与标签的映射关系,类似于RBF神经网络那样,区别在于KELM保留ELM的遗风,采用最小二乘法直接拟合得到线性映射关系,不再用反向传播训练的方式得到最终映射参数。所以实际上KELM和RBF、PNN、GRNN之间是很像的,只不过KELM的核函数有几种,即度量相似度的函数有几个,不像RBF、PNN、GRNN只有一种。
3、总结
上述四个方法可以可以看出,某种程度上都在样本相似度基础上开展的,区别在于得到相似度值后,如何的到类别标签。
四种方法性能影响分析:
①中心样本选择肯定会影响结果,各类选择的代表个数也有考究
②RBF函数的超参数会影响
③KELM核函数超参数会影响
④训练方法会影响
实际上这也是这些方法可以改进的地方!
边栏推荐
猜你喜欢
随机推荐
CMDB 腾讯云部分实现
QT signals 保存到 QMap
POI及EasyExcel
数据库实体类对应daoimpl,基础的增删改查。
CMDB 阿里云部分实现
Unity Day03
【HIT-SC-MEMO7】哈工大2022软件构造 复习笔记7
更改软件的默认安装位置
对渗透测试工程师来说,学历重要嘛?
MySQL基础
DenseNet详解及Keras复现代码
数据库JDBC DAO层方法
Memory Management
2022在 Go (Golang) 中使用微服务的系统课程
clssloader与双亲委派
JUC锁框架——基于AQS的实现,从ReentrantLock认识独占和共享
vs2017 redist 下载地址
Uos统信系统 chrony配置
网络安全行业是蓝景吗?
数据库技巧:整理SQLServer非常实用的脚本