【乳腺肿瘤诊断分类及预测】基于自适应Spread-GRNN学习广义回归神经网络

**课题名称:**基于自适应Spread-GRNN神经网络的乳腺肿瘤诊断分类及预测

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

运行方式: 直接运行GRNN0501_2.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自带的神经网络工具箱中的函数newgrnn()可以构建一个GRNN神经网络。其调用格式为net=grnn(P,T,SPREAD),其中P为Q组输入向量组成的R*Q维矩阵,T为Q组目标分类向量组成的S*Q维矩阵,SPREAD为径向基函数的扩展速度,默认值为1。

  1. 网络训练:

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

  1. 网络仿真:

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

  1. 结果分析

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

特殊说明:

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


模型改进:

SPREAD 值越小, 网络对样本的逼近性就越强,SPREAD 值越大,网络对样本数据的逼近过程就越平滑,但误差也相应增大。在实际应用时,为了选取最佳的SPREAD 值一般采取本案例中循环训练的方法,从而达到最好的预测效果。因为训练数据比较少,为了提高预测精度,通过交叉验证并不断迭代寻找最佳的SPREAD值,最后应用于GRNN神经网络里。本例子中求得的最佳spread值就是代表预测效果最好的时候


Matlab仿真结果:

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

训练误差随着迭代次数的变化

基于自适应spread-GRNN的分类预测结果

基于自适应spread-GRNN的分类预测误差

相关推荐
我要吐泡泡了哦21 分钟前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫12321 分钟前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai2 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫2 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
铁匠匠匠4 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
架构文摘JGWZ5 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
2401_858120535 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
leon6255 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab
小齿轮lsl5 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
Aic山鱼6 小时前
【如何高效学习数据结构:构建编程的坚实基石】
数据结构·学习·算法