分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测

分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测

目录

分类效果




基本描述

1.Matlab实现PSO-PNN粒子群优化概率神经网络多特征分类预测,运行环境Matlab2018b及以上;

2.输入12个特征,输出分4类,可视化展示分类准确率,可在下载区获取数据和程序内容;

3.优化参数为PNN的散布值;

4.data为数据集,main为主程序,分类效果如下:

注:程序和数据放在一个文件夹。

概率神经网络(Probabilistic Neural Network,PNN)是一种基于统计原理的人工神经网络模型,它融合了径向基神经网络与经典的概率密度估计原理的优点,在模式分类方面表现出显著的优势。以下是对概率神经网络的详细介绍:

基本原理

概率神经网络以贝叶斯决策规则为核心思想,即错误分类的期望风险最小。它使用高斯函数进行概率密度估计,通过计算输入特征向量与训练集中各个模式的匹配程度(相似度),实现模式分类。其判别边界接近于贝叶斯最佳判定面,因此分类效果与最优贝叶斯分类器等价。

网络结构

概率神经网络一般包含以下四层:

输入层:负责将特征向量传入网络,输入层神经元的个数是样本特征的个数。

模式层(也称隐含层):通过连接权值与输入层连接,计算输入特征向量与训练集中各个模式的匹配程度,并将其距离送入高斯函数得到模式层的输出。模式层神经元的个数是输入样本矢量的个数,即有多少个样本,该层就有多少个神经元。

求和层(也称竞争层):负责将各个类的模式层单元连接起来,这一层的神经元个数是样本的类别数目。

输出层:负责输出求和层中得分最高的那一类,即最终的分类结果。

主要特点

训练简单、收敛快:概率神经网络的学习过程简单,训练速度快,非常适合实时处理。

分类准确、容错性好:概率神经网络在模式分类方面表现优异,其判别边界接近于贝叶斯最佳判定面,因此分类准确率高,且具有较强的容错性。

易于硬件实现:概率神经网络各层神经元的数目比较固定,因此易于硬件实现。

扩充性能好:增加或减少类别模式时,概率神经网络不需要重新进行长时间的训练学习,具有良好的扩充性能。

注:程序和数据放在一个文件夹。

程序设计

  • 完整程序和数据私信博主回复分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测
clike 复制代码
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行



%%  分析数据
num_class = length(unique(res(:, end)));  % 类别数(Excel最后一列放类别)
num_dim = size(res, 2) - 1;               % 特征维度
num_res = size(res, 1);                   % 样本数(每一行,是一个样本)
num_size = 0.7;                           % 训练集占数据集的比例
res = res(randperm(num_res), :);          % 打乱数据集(不打乱数据时,注释该行)
flag_conusion = 1;                        % 标志位为1,打开混淆矩阵(要求2018版本及以上)

%%  设置变量存储数据
P_train = []; P_test = [];
T_train = []; T_test = [];

%%  划分数据集
for i = 1 : num_class
    mid_res = res((res(:, end) == i), :);           % 循环取出不同类别的样本
    mid_size = size(mid_res, 1);                    % 得到不同类别样本个数
    mid_tiran = round(num_size * mid_size);         % 得到该类别的训练样本个数

         
end

%%  数据转置
P_train = P_train'; P_test = P_test';
T_train = T_train'; T_test = T_test';

%%  得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502

[2] https://blog.csdn.net/kjm13182345320/article/details/128690229

相关推荐
Watermelo6177 小时前
从DeepSeek大爆发看AI革命困局:大模型如何突破算力囚笼与信任危机?
人工智能·深度学习·神经网络·机器学习·ai·语言模型·自然语言处理
计算机软件程序设计7 小时前
深度学习在图像识别中的应用-以花卉分类系统为例
人工智能·深度学习·分类
亲持红叶12 小时前
sklearn中的决策树-分类树:重要参数
决策树·分类·sklearn
lcw_lance13 小时前
人工智能(AI)的不同维度分类
人工智能·分类·数据挖掘
pchmi13 小时前
CNN常用卷积核
深度学习·神经网络·机器学习·cnn·c#
huaqianzkh16 小时前
理解构件的3种分类方法
人工智能·分类·数据挖掘
神经美学_茂森16 小时前
神经网络防“失忆“秘籍:弹性权重固化如何让AI学会“温故知新“
人工智能·深度学习·神经网络
阿_旭16 小时前
【超详细】神经网络的可视化解释
人工智能·深度学习·神经网络
終不似少年遊*19 小时前
循环神经网络RNN原理与优化
人工智能·rnn·深度学习·神经网络·lstm
WHATEVER_LEO1 天前
【每日论文】Text-guided Sparse Voxel Pruning for Efficient 3D Visual Grounding
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理