神经网络(一):GRNN广义回归神经网络理论概念笔记

article/2025/9/29 1:18:51

GRNN广义回归神经网络以及相关概念

https://blog.csdn.net/zengxiantao1994/article/details/72787849
https://blog.csdn.net/guoyunlei/article/details/76101899参考博客
小小白入坑系列,欢迎大佬的指教!

算法网上铺天盖地的,我只是把自己对算法的理解和学习经验发到了这个帖子里面

把GRNN和RBF做一个对比,就会发现有以下区别:

  1. 在实现上面,GRNN仅与RBF的输出层不同
  2. 都对非线性数据具有很好的拟合效果
  3. 在实际拟合过程中,数据比较优秀的时候,RBF的效果很好,不过在数据精准度比较差的时候,GRNN有很大优势,因为GRNN用的非参数估计进行后续的概率处理。

GRNN理论基础(汇总)

毛兔砸
根据简单的概率论公式我们就能看懂上面的表达式,因为我们要用到parzan非参数估计,所以这里还是记录一下概率密度估计的一些内容(碎碎念,可以pass)

经典的参数估计:极大似然估计

这个是很多入手算法的朋友都会听过的概念,最经典的就是有一本书叫《概率机器人》里面有详细解读。

一切还是要从贝叶斯概率说起
毛兔砸
后验概率 = (似然性*先验概率)/标准化常量。
这个式子告诉我们什么:我们在知道经验基础上可以推断出后续将要发生的事情的概率。

P(A):先验概率,表示每种类别分布的概率。
P(B|A):类条件概率:表示某种类别前提下,某事发生的概率。

这个式子是很完美的,也产生很多不可避免的情况:
大多数时候下,不会有人告诉你P(A)和P(B|A)这两个数据的大小。
1.对与P(A),这个是很好搞定的,我们可以直接用样本进行估计就可以得到答案。
2.对与P(B|A),这个就是一个很难啃的骨头,所以我们引出了极大似然估计

重要前提:训练样本的分布必须的能代表样本的真实分布

极大似然估计

就是很多时候,因为数据的误差存在,所以很多时候我们不能通过直接参数带入然后完成概率的估计,但是我们可以直接通过样本估计这个概率。
这里用到了求乘积最大,我理解就是乘积越大表示离真实概率越近,就好像最小二乘法那个R的估计一样,一个衡量指标,越大越好。

假设样本独立分布 D = {x1,x2…xn};

那么我们就设一个可以方便估计出P(A|B)的参数θ , 要求通过θ求出P(A|B)。

这里,我们就设A=θ ,θ 知道了,根据贝叶斯公式,P(A)知道了,通过样本可以估计出P(B)(因为单独的样本都好估计),然后就差一个东西了,我们列出表达式:
在这里插入图片描述
这里用θ ̂ 表示最大值

在这里插入图片描述
因为后续求出θ ̂ 的过程设计涉及求导,所以用ln函数来简化一下乘法求导的运算
在这里插入图片描述

在这里插入图片描述
然后对θ ̂ 直接求梯度 = 0就可以算出值了。
参数估计出来了就可以算出概率密度

万事大吉了?

非参数估计的引入
传统的概率密度估计中,经典的概率密度函数都是单峰的,而且高维的一些概率密度也不一定和一维的运算关系差不多,所以上述的运算模型很有可能不适用,那么为了解决问题,数学家们引出了这个东西

parzen窗口估计和k临近估计

理论基础

概率密度的估计

设 向量x落在R内的概率如下
在这里插入图片描述
当R的提及很小时候,我们可以近似看成概率密度乘以体积
在这里插入图片描述
所以p(x) =P/V

设n个样本X1,X2…Xn,其中k个样本P(X) = Pk
Pk满足二项分布
在这里插入图片描述
所以 E(k) = nP ,因为已知k个样本了,所以E(k) = k
所以P = k\n;
在这里插入图片描述

真实情况

上面我们其实做了很多假设,那么我们现在来实现这些假设用数学描述再进行理想化实现
在这里插入图片描述
第一个式子表示:体积足够小
第二个式子表示落入的k最够大,以代表概率密度
第三个表示样本容量足够大

那么我们需要实现这个等式,就要让这些等式成立,我们做这样的事情,分别对v和k进行操作。
在这里插入图片描述
所以就得到了两个算法
基本原理都是当概率为P(x)时候,容纳了k个样本的时,借此估计此时的概率密度

1.parzen窗估计

终于写到这里了。。
这里,我们定义R是以x为中心的超立方体,h为这个超立方体的边长,d是维度,V = h^d;
我们假设xi是第i个样本,那么我们这个样本落入超立方体的话,他就是1,没落入就是0
在这里插入图片描述
这个时候我们就可以看到落入到样本里面的k的数目在这里插入图片描述
带入公式,就可以得到
在这里插入图片描述
这个就是窗的基本原理

2.kn临近估计

kn临近就是随着样本的增大,我们不断扩大体积,直到近似容纳k个样本为止,可以估算出此时的概率密度函数。

广义回归神经网络

回到正题,了解到parzen窗之后,我们把parzan窗的概率密度估算公式带入最初的式子
在这里插入图片描述
经过推导可以得出
在这里插入图片描述
GRNN是需要
这个就是GRNN的理论基础辽,下篇敲matlab

不喜勿喷


http://chatgpt.dhexx.cn/article/9qdApXg9.shtml

相关文章

【GRNN回归预测】基于matlab有限增量进化广义回归神经网络LIEV-GRNN数据回归预测【含Matlab源码 2132期】

⛄一、GRNN模型 GRNN是一种非线性回归的前馈式神经网络。通常是由输入层、模式层、求和层和输出层构成。GRNN算法在运算速度与学习能力上比径向基函数神经网络(radial basis function, RBF)、反向传播神经网络(back propagation, BP)更强,广泛应用于系统辨识、预测…

神经网络学习笔记(二)GRNN广义回归神经网络

广义回归神经网络(GRNN) 广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测…

GRNN神经网络概述

GRNN,General Regression Neural Network,即广义回归神经网络,最早是由美国的Donald F.Specht教授于1991年提出的基于非线性的回归理论的人工神经网络模型[47,48]。GRNN广义回归神经网络具有较好的网络适应能力,从而使得神经网络能…

广义回归神经网络GRNN回归预测-MATLAB代码实现

一、GRNN简介 广义回归神经网络(General Regression Neural Network, GRNN)是1991年提出的基于径向基函数(Radial Basis Fuction,RBF)网络的一种改进形式,与径向基函数网络相比,其训练更为方便…

广义回归神经网络(GRNN)的实现(Python,附源码及数据集)

文章目录 一、理论基础1、广义回归神经网络结构2、输入层3、模式层4、求和层5、输出层6、优化思路 二、广义回归神经网络的实现1、实现过程(GRNN.py)2、预测结果3、参考源码及实验数据集 一、理论基础 广义回归神经网络(Generalized Regress…

【机器学习】广义回归神经网络(GRNN)的python实现

【机器学习】广义回归神经网络(GRNN)的python实现 一、广义回归神经网络原理1.1、GRNN与PNN的关系2.2、GRNN的网络结构二、广义回归神经网络的优点与不足2.1、优点2.2、不足三、GRNN的python实现参考资料一、广义回归神经网络原理 1.1、GRNN与PNN的关系 广义回归神经网络(…

C++ Unique函数 详细

unique函数是STL中比较实用的函数之一 包含该函数的函数头文件为 #include <algorithm>2 unique函数可以删除有序数组中的重复元素。 注意&#xff1a; a 这里的删除不是真的delete&#xff0c;而是将重复的元素放到容器末尾 b unique函数的返回值是去重之后的尾地址 c…

c++的unique函数

unique是 c标准模板库STL中十分实用的函数之一&#xff0c;使用此函数需要 #include <algorithm> 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素&#xff0c;注意 (1) 这里的去除并非真正意义的erase&#xff0c;而是将重复的元素放到容器的末尾&…

SQL查询JSON格式的字段值 JSON_UNQUOTE与JSON_EXTRACT 去除SQL中双引号

一、最常用的就是 JSON_EXTRACT()函数&#xff0c;用于提取字段值 selectJSON_EXTRACT(a.info,"$.Score")fromjsontest awhereJSON_EXTRACT(a.info,"$.name") "Bob" 二、JSON_UNQUOTE 去除 SQL 中 " " ? MySQL自5.7之后开始支持js…

unique函数的用法

unique函数是用于将矩阵数据中的相同元素删除&#xff0c;只留下不相同的唯一元素。 1.例如: 得到的B矩阵为&#xff1a; 这个相对简单&#xff0c;但是有时需要将矩阵中的元素相同行的删除&#xff0c;也可以用到unique 2.当需要删除矩阵中的出现多次的行数组时 例如&#x…

c++ unique函数详解

unique是 c标准模板库STL中十分实用的函数之一&#xff0c;使用此函数需要#include <algorithm>头文件 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素 (1) 这里的去除并非真正意义的erase&#xff0c;而是将重复的元素放到容器的末尾&#xff0c;返回值…

unique函数用法

unique函数用法 unique包含在头文件 #include <algorithm>函数作用&#xff1a;“去除”容器或数组中相邻元素之间重复出现的元素 unique函数的三个参数&#xff1a; 1、想要去重的数据集的起始地址 2、想要去重的最后一个元素的下一个元素的地址 3、比较函数(可以省…

MySQL JSON_EXTRACT()、JSON_UNQUOTE() 函数获取JSON串的值

JSON_EXTRACT()函数作用是读取数据库储存的json值&#xff0c;已key、value的形式获取某个键值 如果json字符串是对象{Object} 1&#xff1a;第一个参数为需要查询的json字段 2&#xff1a;第二个参数为json里需要获取的键名 $.key 如果json字符串是数组[Array] 1&#xff1a;…

c++ unique函数

unique函数属于STL中比较常用函数&#xff0c;它的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。此处的删除&#xff0c;并不是真的删除&#xff0c;而是指重复元素的位置被不重复的元素给占领了(详细情况&#xff0c;下面会讲)。由于它”删除”的是相邻的…

ubuntu启动后一直黑屏

好奇怪的一件事&#xff0c;昨晚使用完ubuntu后&#xff0c;和往常一样拍了快照&#xff0c;但今天打开后就一直黑屏&#xff0c;就突然的有了自己的思想&#xff0c;任我重启电脑都没有任何用处 我采用的方法 徽标cmd回车&#xff0c;输入如下命令,然后重启电脑 netsh winsoc…

ubuntu虚拟机开机黑屏系列解决办法

ubuntu虚拟机开机黑屏系列解决办法 前记解决方法方法一&#xff1a;方法二&#xff1a;方法三&#xff1a;方法四&#xff1a;方法五&#xff1a;方法六&#xff1a; 后记 前记 ubuntu虚拟机玩的好好的&#xff0c;突然不知怎么着图形界面就卡住了&#xff0c;等待了好一会也不…

记录ubuntu启动黑屏,仅有左上角光标闪烁的解决过程

去年装完显卡驱动后有重启黑屏的经历&#xff0c;所以后来一直没敢装显卡驱动&#xff0c;前段时间需要用显卡驱动跑程序&#xff0c;又装了一次&#xff0c;果不其然黑屏了。 nvidia-smi 是可以显示出显卡信息的&#xff0c;这说明显卡驱动是装上了。 1.首先是试了18 20 22的…

ubuntu虚拟机启动失败黑屏解决方案及原因

背景介绍 某天某个时辰,手残的我想打开VMWare里面的ubuntu虚拟机跑跑Kubernetes突然发现ubuntu虚拟机黑屏无法启动,只有一个光标在闪烁,图形界面就再也打不开了 原因 进入高级模式后发现磁盘占用满了,清除一些文件后ubuntu虚拟机正常启动 解决方案 进入grub模式 一旦启动后…

Ubuntu18的bug导致系统启动后黑屏的问题

这是我在使用Ubuntu18时遇到的问题&#xff0c;文章包含遇到黑屏时的各种原因及解决方法&#xff08;或链接&#xff09;&#xff0c;如果是您在使用Ubuntu18时遇到此问题&#xff0c;建议直接跳转到解决方法处。 问题背景 使用系统 Ubuntu 18.04.1 LTS&#xff08;可以通过…

Ubuntu16.04开机后黑屏无法进入系统登陆界面

之前在写小论文&#xff0c;接近一个月没有用Ubuntu&#xff0c;结果想要切换到Linux下使用Hadoop的时候&#xff0c;在grub界面选择第一项Ubuntu却迟迟无法进入登陆界面&#xff0c;一直卡在原地&#xff0c;特征为长久黑屏/紫屏无响应&#xff0c;无法按ctrlaltF1进入命令行以…