matlab --概率神经网PNN与广义回归神经网络GRNN
PNN
PNN用来分类
前面部分完全一样,后面是做点LW,是每列一个样本,有几类就会有几行, 每列中有一个1元素其他都是0,1元素所在行表示第几类
所以Lw a1 之后等于每个样本按权a1进行累计,然后对列向量a2( K行)进行compet,compet选择列向量中最大的元素为1,其他设置成0, 输入结果类似[0 0 1 ]^T 即 是第3类
ind2vec([1 2 4 5 2 3]) ,里面可以看成每列属于一个分类有5个分类(第4个元素是5),第一个样本属于分类1,第2个样本属于分类2, 那么进行ind2vec后,就变成5行(对应5个分类)
6列(对应6个样本)的one-hot矩阵了
GRNN
类似RBF,不需要训练,IW存储就是训练--每行一个样本(注意函数输入时是每列一个样本)
前Layers{1}跟RBF完全一样,矩阵LW2.1每列对应训练样本的目标值,1行表示只有一个输出,2行就是2个输出
nprod就是点乘--内积,但是结果回除以sum(ai) ,数学定义是:z = w*p/sum(p),考虑训练目标值是 Lw=[1 2 3 1] --4个样本,1个输出
经过第一层后的向量a1=[ 0 0 1 0]^T ---即完全接近第3个样本,2个做nprod后结果就是3
当然实际情况可能是a1=[0.1 0.2 0.8 0.11]^T 除以sum(a1)后 是[0.08 0.16 0.66 0.09], Lw a1/sum(a1) 结果也是2.47,nprod看成各样本结果按接近程度做为权重进行累加
并且权重之和是1(除以sum(a1)导致的)
所以GRNN,做分类时需要取下整--分类编号1,2,3 。。。N,如果N比较大的话似乎会造成问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述