本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
概率神经网络PNN全称为ProbabilisticNeuralNetwork
概率神经网络PNN与广义回归神经网络GRNN很像,只不过概率神经网络用于做分类,
简单的说,概率神经网络就是广义回归的基础上,加一层compet,把数值转为类别而已
概率神经网络与广义回归极为相似,本节先简单回归广义回归,再讲述概率神经网络是什么
广义回归神经网络简单回顾
由于概率神经网络与广义回归神经网络相似
在讲述概率神经网络前,
先简要回顾广义回归神经网络
广义回归的原理
广义回归中,先算出属于各个样本的概率 exp,
然后再将属于各个样本的概率进行归一化得到归一化后的概率权重,
再对各个样本的y进行加权求和,即可得到新样本的y
广义回归神经网络的数学表达式
以2输出,3个样本为例,
广义回归神经网络的数学表达式如下:
其中,a为待定参数,
Esum则为三个径向基函数之和
Esum的作用是把各个径向基的值进行归一化,将径向基转为概率权重.
概率神经网络的思想
什么是onehot编码
类别一般用onehot编码的形式来表示
例如,共3个类别,属于第二个类别表示成[0 1 0],这就是onehot编码
概率神经网络的思想
概率神经网络与广义回归是类似的,
只是概率神经网络用于做模式识别(分类),它的输出是onehot编码
因此,概率神经网络只是在广义回归的基础上,
在广义回归的输出上再做一层compet(竞争),将广义回归的输出转换成onehot编码
✍️例子说明
广义回归的输出是[ 0.6 0.3 0.1 ]这样的格式 ,由于概率神经网络是做分类,输出必须确定属于哪一类,
我们对只要选出[ 0.6 0.3 0.1 ]中最大的一个就可以了, 即compet([ 0.6 0.3 0.1 ]) = [ 1 0 0],即可得知属于类别1.
本节讲解概率神经网络的数学表达式及如何计算得到网络的输出
概率神经网络-计算形式一
这里我们仍然不写通式,
仅以一个2输入,3样本的Demo举例
计算方式如下
1. 计算属于各类别的概率
2. 把类别概率进行compet
将上述得到的概率p进行compet,
得到最终预测类别
如下
其中,
compet为竞争函数,即将p值最大的置1,其余置0
例如compet([0.2 0.5 0.3]) = [0 1 0]
概率神经网络-计算形式二
1.计算属于各类别的判别值
2.将判别值进行compet
将上述得到的概率g进行compet,
得到最终预测类别
如下
其中,compet为竞争函数,即将p值最大的置1,其余置0.
例如compet([0.2 0.5 0.3]) = [0 1 0]
✍️备注
由于最后仅是比较各个类别的概率哪个更大,
所以在计算上可以不除以Esum,这样不会影响后面的竞争结果
(不除以Esum得到的值一般称为判别值,这里用g表示)
本节拓展性辨析概率神经网络与广义回归神经网络的区别
以及示范性说明概率神经网络的优缺点
概率神经网络需要注意的地方
概率神经网络和广义回归神经网络非常像.
但概率神经网络只用于做分类.
应该注意的两点:
1.输入必须是one-hot形式
概率神经网络是用来做分类的,
如果输入是1 2 3这种类标,必须转为one-hot形式,
例如类别为2时,转为[0 1 0]这样的向量.
2.预测时不需归一化
虽然概率神经网络通过隐节点得到径向基的值后,需要作归一化
但是由于它不会影响最后的竞争比较结果,
所以在计算时可以不对径向基进行归一化.
概率神经网络的优缺点
概率神经网络与广义神经网络基本是同一回事,所以优缺点也是类似的
优点
👉 简单
👉 有概率作为解析背景意义
缺点
👉隐节点过多,在实际应用中计算量大
End