老饼讲解-神经网络
自实现-径向基神经网络
广义回归与概率神经网络
概率神经网络-原理
作者 : 老饼 日期 : 2022-06-09 04:49:22 更新 : 2022-06-29 01:27:56
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com



概率神经网络与广义回归神经网络很像,只不过概率神经网络用于做分类,

简单的说,概率神经网络就是广义回归的基础上,加一层compet,把数值转为类别而已。


 一、广义回归回顾 


广义回归中,先算出属于各个样本的概率 exp,

然后再将属于各个样本的概率进行归一化得到归一化后的概率权重,

再对各个样本的y进行加权求和,即可得到新样本的y.


  数学表达式  


以2输出,3个样本为例,广义回归神经网络的数学表达式如下:

 

其中,                                                       
a为待定参数,                                          
Esum则为三个径向基函数之和:     
       
    
  

Esum的作用是把各个径向基的值进行归一化,将径向基转为概率权重. 




  二、概率神经网络的思想  


   类别的表示-onehot编码   


类别一般用onehot编码的形式,例如,共3个类别,属于第二个类别表示成[0 1 0]。



   概率神经网络的思想   


概率神经网络与广义回归是类似的,只是概率神经网络用于做模式识别(分类),它的输出是onehot编码。
 因此,概率神经网络只是在广义回归的基础上,把广义回归的输出做一层compet(竞争)转换。



   例 子   


广义回归的输出是[ 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,得到最终预测类别



其中,compet为竞争函数,即将p值最大的置1,其余置0.例如compet([0.2 0.5 0.3]) = [0 1 0] 


  ● 形式二  



(1) 计算判别值:


(2) 使用判别值进行compet得到预测类别:



其中,compet为竞争函数,即将p值最大的置1,其余置0.例如compet([0.2 0.5 0.3]) = [0 1 0] 

备注:由于最后仅是比较各个类别的概率哪个更大,所以在计算上可以不除以Esum,这样不会影响后面的竞争结果

(不除以Esum得到的值一般称为判别值,这里用g表示)。




三、概率神经网络的具体流程 


基本与广义神经网络一致,只是最后做一层compet.


  ●  训练阶段  


W21(输入层-->隐层权重):用X作为w21即可                                  
B2(隐层阈值):用spread生成,   
W32(隐层-->输出层层权重):用y作为w32即可。                           
            


  ●  使用阶段   



计算y的公式格式参考如下Demo:


1.计算各个隐节点的输出

即计算各个exp的值。
先计算它到各个W21(也即训练样本的X)的距离,再将距离乘以B2(即a),
再经激活函数转换(即套上径向基函数),
这样就得到隐节点的输出。


2.计算输出值

W32(即训练数据的y)乘以隐节点(即y乘以权重),compet后就是最终的输出。




四、概率神经网络的优缺点


概率神经网络与广义神经网络基本是同一回事,所以优缺点也是类似的。


   ● 优点   


(1) 简单                               
(2) 有概率作为解析背景意义



  ● 缺点  


(1) 隐节点过多,在实际应用中计算量大







 End 









联系小饼