基于深度学习的乳腺癌预测*

2021-12-01 14:26袁梦绚
计算机与数字工程 2021年11期
关键词:良性恶性神经网络

袁梦绚

(南京医科大学附属妇产医院 南京 210004)

1 引言

用深度学习的方法提高健康医疗行业的效率,一直是社会关注的焦点,也是近些年来各大公司争相进入的热点之一。医疗行业拥有天然的大数据,为深度学习在医疗行业的应用提供了非常广泛的空间[1]。

目前深度学习方法可以自主学习图像中不同深度的特征,取得了比用传统方法提取特征更好的效果[2]。基于深度学习的方法与经验,本文探索了使用前馈神经网络,通过分析乳房块FNA的数字化图像,抽取反映细胞核的特征数据,预测乳腺癌是良性还是恶性。

本文使用深度学习方法对乳腺癌的良恶性预测取得了较好的结果,这种通过无创伤方式进行乳腺癌的预测具有潜在的价值[3]。

2 数据集

本文从569张FNA数字化图像中,计算出反应细胞核每个特征的平均值、标准误差、最大值,从而产生30个特征。所有特征的特征值使用4位有效数字重新编码,分为恶性肿瘤和良性肿瘤两类,包括357例良性,212例恶性。

2.1 数据集中数据的分布

图1 显示了数据集中恶性和良性特征的区域分布。恶性诊断是均匀分布的,而良性诊断具有正态分布。当其值超过750时,更容易做出恶性诊断。

图1 数据集中恶性与良性特征的区域分布图

2.2 数据集的处理

本文将357例良性,212例恶性作为划分数据集的原本。通过数据变形划分训练集和测试集。其中训练集共456例,包括良性286例,恶性170例。测试集共113例,包括良性71例,恶性42例。

3 预测方法与模型

3.1 预测方法

3.1.1 深度学习框架的选择

本文使用TensorFlow框架,TensorFlow是一个采用数据流图,用于数值计算的开源软件库[4]。图2就是TensorFlow数据流图,结点在图中表示数学操作,线表示节点间相互联系的多维数据数组,也就是张量[5]。

图2 TensorFlow数据流图

TensorFlow是Google在总结了前身DistBelief的经验教训上形成的,它不仅便携、高效、可扩展,还能在不同的计算机上运行[6]。

3.1.2 前馈神经网络

前馈神经网络是最简单朴素的神经网络,又称多层向前神经网络[7]。如图3所示是一个典型的前馈神经网络模型。在前馈神经网络中,各神经元从输入层开始,接收前一级输入,并输出到下一级,直到输出层。中间两层称为隐藏层,看不见其输入或输出的数据[8]。整个网络中无反馈。

图3 典型的前馈神经网络模型

3.2 模型设计

本文构建了1个输入层、4个隐藏层、1个输出层的前馈神经网络。

3.2.1 初始化

初始化对训练有重大影响[9]。初始化能决定算法是否收敛,如果初始化不合适,初始值过大可能会在前向传播时产生爆炸的值;初始值过小将导致丢失信息。

本文使用截断的正态分布进行初始化[10],均值μ设为0.0,标准差σ设为0.15。如果产生的正态分布的值与均值的差值大于0.3(两倍标准差),即产生的值在区间(μ-2σ,μ+2σ)之外那就重新生成。

3.2.2 批量化

深度学习的数据量大,高维也是其重要特征,这就说明了在训练过程中不适合使用全量的方法,本文使用小批量梯度下降法进行批量化处理,每次训练用训练集的一部分,既能使用向量化、矩阵化优化算法,又能比较快速地找到最小值[11]。其更新参数更快,有利于收敛,避免了局部最优。小批量值k一般取值10~500之间。

假设每次取出样本数为k,初始化参数向量w f(xi,w)为输入xi时所预测的输出,Loss是每个样本的损失函数,yi是输入xi的期望输出,则小批量梯度下降法计算公式为

小批量梯度下降法的算法具体如下。

3.2.3 激活函数的选择

激活函数的主要作用是给神经网络提供非线性建模的能力,如果没有激活函数,神经网络再复杂也只能处理线性可分的问题[12]。

本文的隐藏层使用ReLU作为激活函数[13]:

ReLU的函数图像如图4所示。从图中可以看出,在这个函数原点左侧斜率为0,原点右侧斜率为1,这是一个非线性的函数。当网络层数比较多,ReLU不会发生梯度消失或爆炸的情况。

图4 ReLU的函数图像

本文的输出层使用Sigmoid作为激活函数[14]:

Sigmoid的函数图像如图5所示。对乳腺癌预测为良性还是恶性,实际上是一个二分类问题,Sig⁃moid广泛应用于二分类的输出层,其可以将输出映射到(0,1)区间内,函数单调连续,求导非常容易。

图5 Sigmoid函数图像

3.2.4 损失函数的选择

在深度学习训练模型的过程中,其实就是一个优化损失函数的过程。损失函数用来衡量模型的好坏,损失函数值越小说明模型和参数越符合训练样本[15]。

本文使用交叉熵作为损失函数[16],假设有n个训练数据,a是预测的输出,y是期望输出,则交叉熵损失函数为

3.2.5 优化

传统梯度下降算法对学习率这个超参数极其敏感,本文使用Adam自适应优化算法,动态调整学习率,可以根据不同情况来自动调整[17]。

Adam利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,在经过偏置矫正后,每一次迭代学习都有一个确定的范围,使得参数比较平稳。以下给出了Adam的算法。

4 预测结果

本文方法也可以用于其他癌症的预测,随着国内外相关数据集不断丰富和公开,模型训练的样本会不断增加,可以使用不同方法针对数据集,来提高预测准确率。本文的数据集可以继续扩展,基于本文的方法,可以更好地泛化模型[18]。

我们对模型进行5次迭代进行训练预测模型最终训练精度为96.27%,测试精度为99.92%。5次迭代结果如表1所示。

表1 迭代轮数与训练精度和测试精度

表2 迭代轮数与训练损失和测试损失

迭代次数与损失值和精度的对应关系如图6所示。可见,随着训练次数的不断增加,模型精度越来越高,损失值越来越小。5次迭代为更大规模的迭代提供了非常好的范本,使用本文的方法可以得到比较理想的结果。

图6 训练次数和精度、损失值的关系

5 结语

乳腺癌早期的诊断对于患者后续治疗具有重要意义,本文从乳房块细针抽吸(FNA)数字化图像分析数据,提取出30个特征。使用深度学习Ten⁃sorFlow框架,搭建前馈神经网络得到了一系列结果。结果表明,本模型对乳腺癌良性恶性分类具有较好的效果,对医疗行业的乳腺癌预测方面具有潜在的应用价值。

猜你喜欢
良性恶性神经网络
走出睡眠认知误区,建立良性睡眠条件反射
NEAT1和miR-146a在结核性与恶性胸腔积液鉴别诊断中的价值
基于神经网络的船舶电力系统故障诊断方法
基于递归模糊神经网络的风电平滑控制策略
恶性胸膜间皮瘤、肺鳞癌重复癌一例
探讨超声检查在甲状腺肿块良恶性鉴别中的诊断价值
良性胆肠吻合口狭窄球囊扩张与再手术治疗的疗效比较
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
力挽恶性通胀的美联储前主席保罗·沃尔克逝世,享年92岁
基于神经网络的中小学生情感分析