深度学习在乳腺癌分类中的应用

乳腺癌是全球女性和男性中第二常见的癌症。2012年,乳腺癌占所有新癌症病例的12%,占女性癌症总数的25%。乳腺癌的发生始于乳腺细胞失控的生长,这些细胞通常形成一个在X光片上经常可见或被视为肿块的肿瘤。如果细胞能够扩散到周围组织(侵入)或增加到身体其他部位(转移),肿瘤就是恶性(癌症)的。

构建一个算法,通过研究活检照片自动分类患者是否患有乳腺癌。数据集可以从以下链接下载,这是一个二元分类问题。拥有277,524个样本,尺寸为50x50(198,738个IDC阴性和78,786个IDC阳性)。数据来源:https://web.inf.ufpr.br/vri/databases/breast-cancer-histopathological-database-breakhis/。其中(a & b)属于良性样本,(c & d)属于恶性样本。

深度学习救援#1.输入 输入是像素值矩阵,配置为[宽度,高度,通道]。#2.卷积层 这一层的目标是维持一个特征图。通常以低级特征检测的滤波器基础估计开始。在CNN中走得越远,使用的滤波器就越多,以识别高级特征。特征检测基于“检查”输入与给定尺寸滤波器,并执行矩阵计算以推断特征图。#3.池化层 这一层旨在实现空间变化,这意味着即使其外观有所不同,系统也将能够识别对象。池化层将执行一个下采样过程,伴随着空间尺寸(宽度,高度),结果产生如[16x16x12]的输出,对于pooling_size=(2, 2)。#4.全连接层 在全连接层中,展平最终卷积层的输出,并结合当前层的每个节点与下一层的各个节点。

首先,加载所有库和包。接下来,加载了相应目录中的图片。然后创建两个数组,分别持有每个类别的图像。输出:Class1: 78786 Class0: 78786 将这些图像预处理成大小为(3, 50, 50)的数组。加载测试图像 输出:(50, 50, 3) 将数据组合并打乱以进行训练。输出::6: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify ‘dtype=object’ when creating the ndarray 分离组合数据中的标签和特征,并将它们添加到单独的列表中。然后重新调整列表中元素的形状,使其被神经网络接受。输出:(157572, 50, 50, 3) 将数据集分割为训练集(75%)和测试集(25%),使用train_test_split()方法,并应用to_categorical()方法在将数据传递给深度学习模型进行训练之前转换数据。它将类别转换为一组数字,以适当的向量形式与模型兼容。这主要是在分类问题中完成的。输出:(118179, 50, 50, 3) (39393, 50, 50, 3) (118179, 2) (39393, 2) 定义模型架构以训练模型。采用了相当于20的批量大小,并且训练模型20个周期。批量大小是深度学习中最基本的超参数之一。喜欢使用较大的批量大小来训练模型,因为它允许从GPU的亲和力中获得计算速度提升。然而,人们普遍理解,过高的批量大小将开始导致糟糕的泛化。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485