基于优化随机森林算法的乳腺癌分类诊断

2022-03-21 10:34刘玉航朱习军
计算机工程与设计 2022年3期
关键词:鱼群准确率人工

王 冬,曲 媛,刘玉航,朱习军

(青岛科技大学 信息科学技术学院,山东 青岛 266061)

0 引 言

在医学上,乳腺癌诊断的常见方法有影像学检查和病理检查[1-3]。通过对该疾病的研究得知,越早发现治疗效果越佳。然而,鉴于诊断结果可能受到医生主观因素干扰,会产生误诊等偏差,影响患者采取合理方案进行进一步治疗,医疗工作面临着重要挑战。

许多学者针对乳腺癌分类问题开展相关研究。Ledley第一次在医疗领域中应用了数学建模,并将计算机相关算法用于医疗辅助[4]。随着机器学习的发展,逐渐将机器学习与医疗结合,更多学者将机器学习技术应用在乳腺癌检测等诸多医学领域[5]。齐慧颖等[6]通过对TCGA数据库中4种组学数据融合,使用随机森林方法建立预测模型,最佳准确率为97.22%,验证了融合多种组学数据构建的模型是有效提高预测性能的方法。李喆等[7]通过对几种经典机器学籍分类器在乳腺肿瘤分类检测中的比较,并从准确率等方面对其进行评估比较,验证线性判别分析和极限学习机两种分类器性能优良。Wakankar等[8]用热成像技术对乳腺癌进行诊断。刘巧利等[9]提出改进的DenseNet网络对乳腺癌的诊断,基于数据增强、迁移学习建立诊断模型,识别率达到99.2%。机器学习在医疗行业的应用,显示了其算法的优越性,使医疗上获得了可观的进展[10]。

本文将随机森林(random forest,RF)与人工鱼群(artificial fish,AF)相结合,实现乳腺癌的良、恶性分类。采用smote过采样解决数据不均衡问题,采用pearson和随机森林进行特征选择。通过实验,从准确度、F1值等方面对算法性能进行比较验证结果,为乳腺癌的治疗和研究提供参考。

1 数据处理

1.1 数据集

原始数据集来自威斯康辛州的乳腺癌公开数据,所有特征值都是使用乳腺肿块细针穿刺所得的图像数字化结果,该结果显示了肿瘤诊断和细胞核各特征的取值。数据集按照平均值、标准差、最大值3个方面将细胞核分为3组。其中,每组包含10个特征,总计30个特征。例如,1号代表平均半径,4号代表平均面积。其中,标签diagnosis代表肿瘤状态,该标签下存在恶性样本212个,良性样本357个,共569个数据。使用LabelEncoder标签对其进行数值化,编码为0、1,以方便进行模型训练。数据集具体字段含义见表1。

表1 数据集特征含义简介

1.2 数据预处理

由于数据的完整性、可用性良莠不齐,这样的数据处理起来效率不高,得到的模型运算结果也不好,因此对数据进行预处理尤为重要[11]。本文对数据预处理分为两方面:均衡化处理和标准化处理。由于数据集是比较完整的常用数据集,无数据缺失,直接略过数据填补步骤。

1.2.1 数据均衡化

由于数据集通常会存在正负样本数量不平衡的情况,分类算法会更偏向多数类,从而使得模型对少数类样本的识别率降低,难以得到较有效的模型。这是由于样本与类别中心点的距离的不同,代表的特征相关度也不同,随着距离的增加,代表性逐渐降低。针对上述问题,提出采用优化smote加权过采样对数据进行均衡处理,先计算每个少数类样本欧式距离,以分配不同权重,再根据权重生成新样本。最后将其与随机过采样、随机欠采样进行比较。

smote加权过采样步骤如下:

(1)计算数据中数量较少的类别里,每个样本x到其它样本的欧氏距离

(1)

(2)计算样本x到其它样本的距离之和Di,并将其进行归一化处理,得到的数值越大,表示样本离边界越近,数值越小,样本越靠近中心点。

(3)计算每个样本x的权重,根据样本权重,设置采样倍率n;

(4)按照式(2)产生新样本,其中rand()表示的是取0和1之间的随机数

xnew=x+rand()*|x-xn|

(2)

1.2.2 数据标准化

由于数据存在不同量纲与数量级,大小相差明显。若直接对原始数值进行分析而不加以处理,模型就会对数值较大的指标突出显示。导致产生的结果存在相对误差。为保证结果的有效性、可靠性,本文采用sklearn库中的preprocessing.scale()函数,对采样后数据进行标准化处理。

将该函数训练集、测试集进行处理,求出均值(x_train_mean)和方差(x_train_std),在均值附近缩放至单位方差(mean为均值,std为方差)。采用公式如下

(3)

样本在进行处理后,都变为均值是0,方差是1的数据。其中axis默认为0,表示对各个特征进行标准化。

2 特征选择

数据集中包含连续型和离散型特征,总体样本均呈现混合高斯分布。从数据挖掘方面进行分析,若想得到较高价值的乳腺癌分类结果,要从高维不平衡数据集的二分类问题出发,信息重叠、高维不平衡现象在所难免[12]。特征选择是用最少的特征尽最大可能表达现有数据,又称作降维。通过这种方法,能够较为高效地降低数据过拟合比例,增强模型的泛化能力。由于本数据集特征较多,特征选择能够有效提升算法性能。

本文将随机森林与皮尔森相关性分析相结合,随机森林自身拥有的特征重要性评估方法,可以在一定程度上进行特征降维,并且提高模型精度,但是无法剔除冗余特征,而皮尔森相关性分析可以与该方法进行结合,弥补其存在的不足。

pearson相关系数是衡量两个属性的相似度主要方法,定义为协方差与标准差相除,通过对相关系数的大小计算,以得到特征之间的相关性。主要用于消除非目标特征之间的多重共线性。如果两组特征具备较高的线性值,证明其中一组属于冗余特征,可以删除。对于两个服从正态分布的连续型随机变量x、y,其公式如下所示

(4)

式中:cov(X,Y) 代表向量X和向量Y的协方差,输入取值范围(-1,1),数值大于0,表示属性正相关,小于0,表示属性负相关,绝对值越接近于1,表示相关性最大。

在本文中,将预处理后的数据,采用pearson-RF方法进行混合选择,最终实现最大化消除冗余特征的目的。其具体方法如下:

(1)提取预处理后的数据集,将其组成有m个特征的训练集Si(i=1,2,…n), 设定阈值为[-1,1]。

(2)使用皮尔森相关性分析处理训练集Si,按照数值大小排序,去除冗余特征。

(3)将训练集Si,使用随机森林算法进行处理,按照降序,生成Ai。

(4)将不同的p个特征,用于特征建模,获得最优特征子集Bi。

(5)将训练集上所得特征按权值进行加权计算,其中若Bi中不包含Ai,权值取0,生成特征子集B0。

(6)对特征进行投票处理,使用频数最多的特征相应的取值作为最优特征子集。

3 随机森林优化算法模型设计

3.1 模型构建流程

图1 模型构建流程

3.2 人工鱼群算法寻优原理

人工鱼群算法[13]是由鱼群觅食行为启发得到的一种寻优算法,具有全局寻优能力强、速度快等特点。在现实世界中,鱼群可以根据需要尾随或自行找到营养多的地点生存,人工鱼就是在这基础上进行发展,成为一种抽象的鱼的实体。在其内部封装了一系列的行为与算法,可根据需要做出相应的改变,来模仿鱼群觅食、尾随等行为,从而达到实现最优的目的。定义人工鱼个体为S=(s1,s2,…sn), 目标定义为Y,速度定义为V=(v1,v2,…vn)。

以下是鱼的几种典型行为:

(1)觅食行为pray:设置人工鱼初始状态Si,若计算后在视野范围内发现更优状态Sj,则向新选择移动一步,否则继续寻找其它状态,直至达到最大迭代次数,则转为执行随机行为。更新方式如下

(5)

(2)聚群行为swarm:人工鱼Si搜索视野内鱼的数目和位置,进行集体觅食。若中心位Sc较优且不拥挤,则朝该方向移动一步,否则执行觅食行为。其规则如下:①避免与临近鱼过于拥挤;②与临近鱼的平均方向一致;③朝临近个体的中心移动。更新方式如下

(6)

(3)追尾行为follow:人工鱼Si发现Sj处食物较多,且不拥挤,则朝该处移动一步,否则执行觅食行为。更新方式如式(5)。

(4)随机行为bulletin:人工鱼Si在视野内随机游动,是觅食行为的一种缺省状态,使人工鱼达到新状态。更新方式如觅食行为。

其具体步骤如下:

(1)初始化设置。种群规模设为N,初始位置为x,视野为visual,步长为step。

(2)计算初始鱼群适应值,取最优状态及取值赋给公告牌。

(3)对每个个体进行评价,对其要执行行为进行选择并执行,生成新鱼群。

(4)评价所有个体,若有优于公告牌的,则取代更新个体。

(5)当公告牌上的取值为最优,迭代次数达到预设数值或多次所得均方差小于允许误差,结束算法。

3.3 人工鱼群优化随机森林算法

随机森林有训练速度快等优点,但随着随机森林在分类问题上的应用,发现它无法对自身的参数进行优化。通常情况下,是通过n折交叉验证对参数进行优化,计算误差以取得最优值。然而基于传统的网格搜索比较耗时。因此,本文通过人工鱼群算法实现参数优化,构建模型框架如图2所示。

图2 优化算法流程

不难发现对其分类性能的决定性较大的参数有决策树的数量(n_estimators)、树最大深度(max_depth)等,其中n_estimators默认取100,max_depth默认取none。该算法中,假设每条人工鱼由两个维度向量组成,分别为(n_estimators,max_depth),记作(n,m)。

操作步骤如下:

步骤2 初始化鱼群,每条人工鱼由两个维度组成,设置为(n,m),构造均匀分布总群,并设定规模数、自适应视野范围、自适应步长、最大迭代次数、拥挤度因子等。

步骤3 通过随机森林方法,计算每条人工鱼的当下所处环境的食物浓度与位置,将最高时对应的参数数值保留在公告板上,并记录对应值。

步骤4 根据人工鱼的4种不同行为(聚类行为、追尾行为、觅食行为、随机行为)进行寻优,通过比较,更新人工鱼的位置、速度,生成全新的鱼群。

步骤5 判断是否达到鱼群最大数量和最大迭代次数,若达到了设定阈值,则本轮优化结束,否则,算法跳转到步骤4,重复执行上述步骤。

步骤6 确定新人工鱼位置,输出最终搜索到全局最优解为最佳参数。

4 实验结果与分析

实验数据来源于威斯康辛数据集,通过数据预处理、特征选择,采用优化的随机森林模型对乳腺癌数据进行分类。相关实验基于window10系统,CPU为Intel 1.8 GHz,采用python开源第三方库scikit-learn,在Anaconda5.1.0集成环境中运行。本文使用人工鱼群算法对n_estimators与max_depth两个参数进行优化。本文设种群规模为10,觅食最大次数为10,移动步长为0.1,拥挤度因子为0.618。

4.1 实验数据

4.1.1 数据预处理

表2 数据划分

对数据集的不同特征进行特征分析,总体样本均呈现混合高斯分布。根据上文所述方法,将数据标准化,以乳腺癌数据中部分特征为例,将数据处理前后结果以图3、图4可视化。

图3 标准化处理前特征可视化

图4 标准化处理后特征可视化

从图中可以看出,横坐标代表数据的不同特征在数据集中的分布范围,由于不同特征的数据性质不同,数据量纲也不同,因此差距较大。标准化处理前标准差集中在较小范围内,数值也相对较小,均值分布广泛且数值大。在标准化处理后,消除了特征间不同量纲的差异,让特征分布处于相同的区间,保证了模型分类结果的可靠性。

4.1.2 特征选择

通常情况下,特征越多分类效果就越高。但是过多的特征会严重降低模型的学习效率,增加运算量和运算时间。因此,本文对相关数据进行特征选择,随机森林按照数值大小表现出重要性程度,计算出的特征重要性如图5所示。

图5 特征重要性排序

通过特征分析可知,特征重要性排名前三的特征分别为凹度最大值(concave_worst),值为0.3364;凹度平均值(concave_mean),其值为0.2624;周长最大值(perimeter_worst),其值为0.1913。

通过皮尔森相关系数排名、随机森林特征重要性排名进行结果比较,对特征进行分析可知,面积、周长、半径能够较为直接衡量细胞核的相关特征,与此同时,凹点、凹度也属于最重要的特征值,有较强的区分度。特征值的3类统计数据中,平均值在一定程度上,反映出的是更加一般的情况,具有更强的可用性。

4.2 模型评估

评估指标主要包括:准确率、召回率、F1评分等,具体评估性能介绍见表3。

表3 评估指标

4.3 结果分析

通过对现有数据进行预处理与特征选择操作,将数据特征从32减少到10个。对处理后的数据输入进优化的模型,相关优化过程(部分)数据见表4。

表4 结果分析

由上表可知,当max_depth和n_estimators取不同值时,准确率也会随之进行改变。调整两个参数的取值,得到的准确率折线图如图6所示。

图6 随机森林参数与准确率相关性

图6中横坐标是n_estimators的取值,纵坐标是分类准确率。不同折线代表max_depth的不同取值。从图中可知,参数取值的不同,对应的准确率的变化也是处于波动状态,其中,当n_estimators取值为18,max_depth取值为9时,改优化的分类模型获得最高准确率达到97.5%,验证了该模型的可行性。

为了更好说明人工鱼群优化的随机森林算法模型具有优越性,探究不同算法对分类性能的影响,分别选择该算法与随机森林、支持向量机、逻辑回归在相同数据集上的结果进行对比,从准确率、F1值等方面对算法进行评估,比较结果见表5。

表5 结果分析

准确率是检验算法分类结果准确性的指标,其准确率越高说明算法越好;由上表可知,在相同的数据集下,单独使用随机森林时,准确率只有92.5%,支持向量机与逻辑回归的准确率分别为91.4%和95.3%。而本文优化的模型,对乳腺癌的识别准确率高于其它方法,达到了97.5%。F1值综合了精确率与灵敏度的大小。从上表可知,在F1值方面,本文所提出的模型以97%远超出其它模型,比随机森林高0.42,比支持向量机高0.62,比逻辑回归高0.25。在召回率方面,本文提出的算法达到95.2%,比随机森林高2%,比支持向量机高5%,比逻辑回归高1%。本文认为,通过对准确率、F1值、召回率等的对比,本文所提出模型都得到提高,因此,可以认为该模型对辅助医生诊断乳腺癌具有较强的意义。

5 结束语

随机森林参数较复杂、模型训练较慢,针对上述问题,本文提出人工鱼群优化的随机森林模型。该模型能够提升准确率与效率。实验以乳腺肿瘤细胞核的各项数据为基础,通过对数据集进行均衡化、标准化等预处理,对相关数据特征进行特征选择以降低模型复杂度。通过对模型优化,本次实验针对随机森林参数优化提供了切实可行的方法,也对未来辅助医生进行乳腺癌相关疾病筛查和治疗,更早发现病人病情,有较重要的意义。

猜你喜欢
鱼群准确率人工
人工3D脊髓能帮助瘫痪者重新行走?
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
人工,天然,合成
2015—2017 年宁夏各天气预报参考产品质量检验分析
人工“美颜”
从人工到大数据+AI:“一张网”稽核加速中
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
人工鱼群算法在雷达探测器射频端电路设计中的应用
鱼群漩涡