【乳腺肿瘤诊断分类及预测】基于自适应SPREAD-PNN概率神经网络

**课题名称:**基于自适应SPREAD-PNN的乳腺肿瘤诊断分类及预测

**版本日期:**2023-06-15

运行方式: 直接运行PNN0501.m 文件即可

代码获取方式私信博主或QQ:491052175

模型描述

威斯康辛大学医学院经过多年的收集和整理,建立了一个乳腺肿瘤病灶组织的细胞核显微图像数据库。数据库中包含了细胞核图像的10 个量化特征(细胞核半径、质地、周长、面积、光滑性、紧密度、凹陷度、凹陷点数、对称度、断裂度〉,这些特征与肿瘤的性质有密切的关系。因此,需要建立一个确定的模型来描述数据库中各个量化特征与肿瘤性质的关系,从而可以根据细胞核显微图像的量化特征诊断乳腺肿瘤是良性还是恶性的。

算法流程:

  1. 数据采集:

将乳腺肿瘤病灶组织的细胞核显微图像的1 0 个量化特征作为网络的输入,良性乳腺肿瘤和恶性乳腺肿瘤这两种类别作为网络的输出。共有乳腺癌数据集共包括569 个病例,其中, 良性357 例, 恶性212 例。随机选取500 组数据作为训练集,剩余69 组作为测试集。每个病例的一组数据包括采样组织中各细胞核的10 个特征量的平均值、标准差和最坏值(各特征的3 个最大数据的平均值)共30 个数据。数据文件中每组数据共分32 个字段,第l个字段为病例编号;第2 个字段为确诊结果, B 为良性, M 为恶性(数据中1为良性,2为恶性);第3~ 12 个字段是该病例肿瘤病灶组织的各细胞核显微图像的10 个量化特征的平均值;第1 3 ~ 22 个字段是相应的标准差;第2 3 ~32 个字段是相应的最坏值。 (打开data.mat文件可以看仿真数据)

  1. 网络创建:

数据采集后,利用Matlab自带的神经网络工具箱中的函数newpnn()可以构建一个pnn神经网络。其调用格式为net=newf(P,T,SPREAD)。其中P为输入数据矩阵,T为输出数据矩阵,SPREAD为分布密度,当分布密度的值接近于0时,它构成最邻分类器,当分布密度的值较大时,它构成对几个训练样本的临近分类器;TF为节点传递函数,BTF为反向传播神经网络训练函数;BLF为反向传播神经网络权值、阈值学习函数;PF为性能分析函数;IPF为输入处理函数;OPF为输出处理函数;DDF为验证数据划分函数。

  1. 网络训练:

网络创建完毕后,若需要,还可以对神经网络的参数进行设置和修改,将训练集的500个病例的数据输入网络,便可以对网络进行训练

  1. 网络仿真:

网络通过训练后,将测试数据集的69组的10个量化特征数据输入到网络里,便可以得到对应的输出(即分类)

  1. 结果分析

通过对网络仿真结果的分析,可以得到误诊率(包括良心被误诊为恶性及恶性被误诊为良性),从而可以对该方法的可行性进行评价

模型改进:

因为训练数据比较少,为了提高预测精度,通过交叉验证并不断迭代寻找最佳的SPREAD值,最后应用于PNN神经网络里。相比于固定的SPREAD值而言,自适应求解SPREAD值的方式可以更好地提高预测精度

后续进一步改进方向:

1.利用智能算法去优化BP神经网络的权值和阈值,比如GA算法,PSO算法,SA算法,GASA算法等等

特殊说明:

神经网络每一次的预测结果都不相同,为了得到更好的结果,建议多次运行取最佳值。

Matlab仿真结果:

基于自适应SPREAD-PNN的乳腺肿瘤诊断分类与预测的仿真结果

基于自适应SPREAD-PNN的分类预测结果

基于自适应SPREAD-PNN的分类预测误差

相关推荐
rit843249916 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
suoge22318 小时前
六面体传热单元Matlab有限元编程:三大类边界条件(上篇)| 固定温度边界条件 | 表面热通量边界条件 | 热对流边界条件)
matlab·有限元编程·传热有限元·热传导有限元·六面体热单元·边界条件·对流换热
Evand J1 天前
【MATLAB例程,附代码下载链接】基于累积概率的三维轨迹,概率计算与定位,由轨迹匹配和滤波带来高精度位置,带测试结果演示
开发语言·算法·matlab·csdn·轨迹匹配·候选轨迹·完整代码
suoge2231 天前
六面体传热单元(热通量边界条件)有限元MATLAB程序【理论文本+代码】|热传导有限元|纽曼边界条件|有限元传热分析
matlab·有限元·有限元编程·传热有限元·稳态传热·热传导有限元·热固耦合
suoge2231 天前
六面体传热单元(固定温度边界条件)有限元MATLAB程序【理论文本+代码】|热传导有限元|狄利克雷边界|有限元传热分析
matlab·有限元·热传导·传热有限元·迪利克雷边界条件·有限元法·稳态传热
foundbug9991 天前
基于MATLAB的TDMP-LDPC译码器模型构建、仿真验证及定点实现
开发语言·matlab
Evand J1 天前
【MATLAB代码介绍】基于累积概率的三维轨迹匹配与定位,由轨迹匹配和卡尔曼滤波形成算法,带测试结果演示
算法·matlab·滤波·定位·导航·轨迹匹配
wuk9981 天前
梁非线性动力学方程MATLAB编程实现
前端·javascript·matlab
一个与程序bug抗争的程序员1 天前
Matlab App Designer设计人机交互界面并打包成exe——加法计算器
matlab·人机交互
kaikaile19951 天前
matlab计算流场
人工智能·算法·matlab