【乳腺肿瘤诊断分类及预测】基于Elman神经网络

课题名称:基于Elman神经网络的乳腺肿瘤诊断分类及预测

版本日期:2023-05-15

运行方式: 直接运行Elman0501.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自带的神经网络工具箱中的函数newelm()可以构建一个elman神经网络。其调用格式为net=newelm(PR,[S1,S2...,SN1],{},BTF,BLF,PF,IPF,OPF)。其中PR为R组输入元素的最小值和最大值的设定值,R*2维的矩阵,T为SN*Q2的具有SN个元素的输出矩阵;Si为第i层的长度;TFi为第i层的船体函数,默认值:隐含层为'tansig',输出层为'purelin';BTF为反向传播神经网络训练函数,默认值为'trainlm';BLF为反向传播神经网络权值、阈值学习函数,默认值为'learngdm';PF为性能函数,默认值为'mse',IPF为输入处理函数,默认值为:{fixunknowns','removeconstantrows ',' mapminmax'};OPF为输出处理函数,默认值为'{'removeconstantrows ',' mapminmax'}'

  1. 网络训练:

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

  1. 网络仿真:

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

  1. 结果分析

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

特殊说明:

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

Matlab仿真结果:

基于Elman神经网络的乳腺肿瘤诊断分类与预测的仿真结果

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

基于Elman神经网络的分类预测结果

基于Elman神经网卡的分类预测误差

相关推荐
Chef_Chen6 分钟前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
幸运超级加倍~1 小时前
软件设计师-上午题-16 算法(4-5分)
笔记·算法
yannan201903131 小时前
【算法】(Python)动态规划
python·算法·动态规划
埃菲尔铁塔_CV算法1 小时前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR1 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
linsa_pursuer1 小时前
快乐数算法
算法·leetcode·职场和发展
小芒果_011 小时前
P11229 [CSP-J 2024] 小木棍
c++·算法·信息学奥赛
qq_434085901 小时前
Day 52 || 739. 每日温度 、 496.下一个更大元素 I 、503.下一个更大元素II
算法
Beau_Will1 小时前
ZISUOJ 2024算法基础公选课练习一(2)
算法
XuanRanDev1 小时前
【每日一题】LeetCode - 三数之和
数据结构·算法·leetcode·1024程序员节