乳房癌的诊断712.docx
《乳房癌的诊断712.docx》由会员分享,可在线阅读,更多相关《乳房癌的诊断712.docx(21页珍藏版)》请在冰豆网上搜索。
乳房癌的诊断712
乳房癌的诊断
【摘要】
针对本题的实际,综合应用DKLT、最小误判准则、最小风险准则、分支定界次优算法l-r法求解本题。
不断结合对已知类别样本的检验结果分析所用方法的不足,然后改进,正确率达到95%以上。
其中提出”拒判”的概念以进一步减小判决带来的风险。
69个未知类别样本的分类结果见正文表一和表二。
为节省费用,只用此30个特征数据中的部分特征来区分乳房肿瘤是良性还是恶性。
通过l-r法作的特征选择,选取了细胞核凹陷点数的平均值、断裂度的平均值、质地的标准差、光滑度的标准差、断裂度的最坏值这5个特征就能得到用30个特征分类一样的结果,大大的减少了费用。
【关键词】H-K算法离散K-L变换最小误判概率准则最小风险准则l-r法
1.问题重述
乳房肿瘤通过穿刺采样进行分析可以确定其为良性的或为恶性的。
医学研究发现乳房肿瘤病灶组织的细胞核显微图像的10个量化特征:
细胞核直径,质地,周长,面积,光滑度,紧密度,凹陷度,凹陷点数,对称度,断裂度与该肿瘤的性质有密切的关系。
现试图根据已获得的实验数据建立起一种诊断乳房肿瘤是良性还是恶性的方法。
数据来自已经确诊的500个病例,每个病例的一组数据包括采样组织中各细胞核的这10个特征量的平均值,标准差和“最坏值”(各特征的三个最大数据的平均值)共30个数据。
并将你的方法用于另外69名已做穿刺采样分析的患者。
其中B为良性M为恶性,X为待定。
若为节省费用,还想发展一种只用此30个特征数据中的部分特征来区分乳房肿瘤是良性还是恶性的方法,你是否可找到一个特征数少而区分又很好的方法?
2.模型假设
1.所给数据基本没有误差,各样本病例的诊断结果完全正确。
2.30个特征能提供充分的分类信息。
3.名词解释与符号说明
模式:
对分类识别对象进行科学的抽象,建立它的数学模型,用以描述和替代识别对象,称这种对象的描述为模式(Pattern)。
对一类对象的抽象也称为该类的模式。
特征矢量:
以量化特征为分量组成的矢量,记为X
特征空间:
所有特征矢量所组成的空间
分类器:
解决某一实际问题的具体的分类识别算法
c:
分类类别数,这里为2
N:
样本总数
N1:
训练样本总数
N2:
测试样本总数
n:
特征空间的维数
err:
分类器对检验样本分类的错分总数
Ω1:
所有恶性乳房肿瘤细胞样本组成的一类,下面称为第一类
Ω2:
所有良性乳房肿瘤细胞样本组成的一类,下面称为第二类
X1:
来自Ω1的样本的特征矢量
X2:
来自Ω2的样本的特征矢量
P(e):
分类器的误判概率
Sw:
总的类内离差阵
SB:
类间离差阵
4.问题分析
本题需要根据题设给出的分类信息设计一个分类器,它能很好的区分两类样本。
然后用这个分类器对未知类别的69例病例分类判别。
为节约费用,只用此30个特征数据中的部分特征来区分,这就需要进行特征选择(featureselection),以最小的代价获得要求的分类效果。
在比较不同的分类器的优劣时可先简单取N1=N2=N=500,用对检验样本的错分样本数(err)占样本总数(N)的比(err/N)来衡量,比值越大,效果越差。
然后对最后推荐的分类器采用分组轮换法即取N1=400个样本训练,剩下的N2=100个样本测试,更精确地估计出误判概率。
在求解的过程中,以err/N为标准衡量所用的分类器的优劣,分析其不足,逐步改善分类规则。
首先从最简单的方法着手,考虑30个特征可否线性可分。
之所以选取了H-K算法,是因为它克服了一些算法(如感知器算法)当模式是线性不可分时不收敛;而不收敛出现后却无法判断是模式线性不可分还是所用算法的问题。
H-K算法采用的是最小均法误差准则,它的优点就是对线性可分模式能正确分类;对线性不可分模式能说明它是线性不可分的。
用此算法求解本题,发现直接利用30个特征是线性不可分的,于是需要对30个特征作变换,使得变换后维数变少,分量之间不相关,能量更趋集中,这样使变换后新模式的分类更加容易。
接下来选取了基于总的类内离差阵Sw和类间离差阵SB的离散K-L变换(DKLT)。
因为本题要求分成两类,故发挥了DKLT的最大优势,从30维特征空间降到1维变换特征空间并且不损失任何分类信息。
变换后的1维量包含了原30维特征矢量的全部分类信息,降低了分类难度。
最后对变换得到的1维量作了正态分布的检验后,利用统计判决中的最小误判概率准则和最小风险准则作分类。
它们都是基于最大似然的思想,只是后者更细致的讨论了不同决策所带来的风险的差异,从而引入“拒判”的概念。
可以说最小误判概率准则是最小风险准则在认为不同决策的风险一样时的特例。
在用此30个特征数据中的部分特征来区分乳房肿瘤是良性还是恶性时,选用的增l减r法(l-r法),既能克服运算量过大又能避免一旦某特征选入或剔除就不能在剔除或选入的缺点。
最后选取了5个特征细胞核凹陷点数的平均值、断裂度的平均值、质地的标准差、光滑度的标准差、断裂度的最坏值。
只用此5个特征对未知类别的69个样本分类的结果与用30个特征的分类结果相同。
5.模型的建立与求解
5.1H—K算法
H-K算法是一种利用二次准则函数的算法。
一次准则函数及其解法只适用于线性可分的情况,如果训量模式集是非线性可分的,分类过程将不会收敛,迭代运算永远进行下去。
然而在实际问题中,往往无法事先知道模式集能否线性可分。
利用H-K算法如果训练模式集是线性可分时,对所有模式都能正确分类;如果是非现象可分的,使得错分的模式数目最少。
在n维特征空间中,特征向量X=
线性判别函数的一般形式是d(X)=w1x1+w2x2+…+wnxn+wn+1x1,为简洁起见上式还可写成d(X)=WX。
这里X=
其中X被称为增广特征矢量,W称为增广权矢量。
为表述和处理简洁方便,将已知类别的训练模式符号规范化:
当X属于Ω1类时,不改变其符号;当X属于Ω2类时,改变其各分量的符号。
设n+1维增广训练模式X1,X2,…,XN,已符号规范化。
如果训练模式是线性可分的,则存在权矢量W使不等式组W·Xi>0(i=1,2,…,N)成立,即不等式是一致的,有解。
若训练模式是非线性可分的,表明不存在权矢量W使所有训练模式都能被正确分类。
在这种情况下,就要使最少的训练模式被错分。
将上面的不等式写成矩阵方程形式,为使解可靠,引入N维余量矢量b,于是不等式方程组变为:
AW≥b>Ф
式中A是N╳(n+1)维矩阵,A=(X1,X2,…,XN
。
使用平方误差标准函数:
H—K算法将准则函数J(·)视作W和b的函数,在迭代过程中修正W的同时,也对矢量b进行调整,运用最优化技术求得准则函数J关于W和b的极小值点。
在迭代调整过程中,应满足b的各分量均为正值的约束,同时也为J使{W}更趋向解区的中心。
b(k)的各分量只能向增大的方向调整。
H—K算法对已符号化的500个增广特征矢量运算求解得,W=(-0.078,0.033,-0.022,0.037,-0.007,-0.040,0.104,0.185,-0.035,-0.063,0.096,-0.025,0.016,-0.098,-0.001,0.024,0.039,-0.049,0.026,0.056,-0.559)。
误判总数为102,err/N=0.204。
效果不太好。
H—K算法讨论:
H—K算法采用的是二次准则函数及其解法,如果是非线性可分的,所求的解矢量使错分的模式数目最少。
并且证明了H—K算法的收敛性[1]。
通过上面所得到的结果,认为原模式集是线性不可分的,因此需要做特征变换(featuregeneration)。
5.2特征变换
既然直接利用原30个特征是线性不可分的,就需要作特征变换。
从直观上可知,在特征空间中如果同类模式分布比较密聚,不同类模式相距较远,分类识别就比较容易正确,因此我们在特征变换时要求变换后的特征对不同类的对象差别很大而同类对象差别较小,则将给后继分类识别环节带来很大的便益。
为实现以上目的,首先需要制定特征变换的准则来刻划特征对分类识别的贡献或者有效性。
5.2.1基于Sw和Sb准则函数J
我们可以依据某种准则进行特征变换,为此应当首先构造这样的准则—类别可分性判据,它能反映各类在特征空间中的分布情况,能刻划各特征分量在分类识别中的重要性或贡献。
我们选用了基于总的类内离差阵Sw和类间离差阵Sb准则函数J=Tr[Sw-1SB]。
下面具体介绍一下Sw和Sb:
总的类内离差阵:
这里c=2表示有两类。
nj为第j类的样本数,Sw(j)为第j类的类内离差阵。
定义为:
式中
为Ωj类的模式均值矢量:
类间离差阵定义为:
式中
为所有分类模式均值矢量
为便于分类,希望类内距离越小越好,类间距离越大越好,故定义准则函数J=Tr[Sw-1SB],应使它尽量大。
5.2.2最优变换矩阵W
设有n个原始特征构成的特征矢量X=
,W对X作线性变换,产生d维矢量Y=(y1,y2,…,yn)’,d≤n。
即Y=
X
式中,W=Wnxd,称为变换距阵。
设SW和SB分别为原始特征空间中类内和类间离差矩阵,SW*和SB*分别为变换特征空间中类内和类间离差距阵,可知:
SW*=W’SWWSB*=W’SBW
经变换后,J*(W)=Tr[(SW*)-1SB*]=Tr[(W’SWW)-1(W’SBW)]
若W为非奇异矩阵,可得Tr[(SW*)-1SB*]=Tr[SW-1SB]。
这表明作非奇异变换,J是不变的。
一个方阵的迹等于它的所有特征值之和,对矩阵作相似变换特征值不变。
设We为正交阵,用We对对称阵Sw-1SB作相似变换使其成为对角阵:
其中
(i=1,…,n)为SW-1SB的特征值,We的列矢量Wi为
相应于的特征矢量。
可得:
J*(W)=Tr[SW-1SB]=Tr[We’SW-1SBWe]
设此处We的列矢量排列已做适当调整,使
的特征值λ1≥λ2≥…≥λn。
由此可解出,当d给定后,取前d个较大特征值所对应的特征矢量Wi构造变换矩阵W。
即W=(W1,W2,…,Wd)对X作Y=
X变换,对于给定d所得到的J达最大值。
5.2.3运用DKLT变换后再分类
已经定义了变换的准则函数J,接下来就是基于J作变换了。
离散K-L变换(DKLT)是一种基于目标统计特性的最佳正交变换。
因为它具有:
使变换后产生的新的分量正交或不相关;以部分新的分量表示原矢量均方误差最小;使变换矢量更趋确定,能量更趋集中。
变换过程如下:
设
和U是对称正定矩阵Sw的特征对角阵和特征矢量矩阵。
作如下白化变换:
易知,存在正交阵
可使:
其中
是白化变换后总的类间离差阵
的特征对角阵。
由于SB的秩不大于c-1,此处为2-1=1,所有
最多有1个非零特征值。
可以证明,变换得到的y对x估计的均方误差
,即为舍去的特征值的和[1]。
由于这里舍去的特征值全为0,故用这个非零特征值对应的特征向量Ui作交换矩阵,所得到的y含有原来n维模式的全部信息。
计算得非零特征值为0.7628,其余特征值与0.7628差十几个数量级,可认为是零(理论上是精确为0)。
则不损失信息而又达到最小维数的变换矩阵为:
根据题目数据求得:
W=(-0.0104,0.0003,0.0005,0.0000,0.0261,-0.0283,0.0377,0.0721,-0.0252,-0.6405,0.0110,0.0005,-0.0004,-0.0000,0.4268,-0.0996,-0.1130,0.4015,0.0090,0.4393,0.0069,0.0000,-0.0001,-0.0000,-0.0132,0.0027,0.0114,0.0113,0.0259,0.1435)变换得到变换特征空间(1维)中500个样本点。
以
(m1+m2)为分界点对他们分类得:
错分总数为20,err/N=0.04分类效果大幅度改善。
结果分析:
运用特征变换,使变换后的特征矩阵更适于分类,这是DKLT取得良好效果的关键。
但对于变换后的一维量y1,y2,按距离进行简单分类,而没有用到其统计信息。
因此,下面用统计判决的方法进一步改进。
5.3统计判决
上面的方法我们没有直接利用各类的统计特性,将模式作为确定性的。
当我们更为精确的研究时可以知道,特征分量的量测值总含有某种误差,其具有一定的随机性,而且同一类的不同个体的某个特征分量的值也是按某种规律散布的。
特征分量数值的随机性反映到总体上就涉及到模式类别的随机性和判决结果的随机性。
因此,我们用概率论的理论和方法解决分类识别问题,从理论和总体上讲都是更为合理和可靠的。
5.3.1y1、y2正态分布检验
在统计判决中,常有各类样本分布服从正态分布的假设,这样有利于问题的简化。
我们利用Q-Q图检验的方法对y1、y2作检验。
若样本来自正态分布总体,样本的各点近似在直线上。
从图一和图二中可以看出,y1,y2各样本点近似在一条直线上。
故认为y1,y2服从正态分布。
通过样本估计得:
y1∽N(0.0133,0.00742),y2∽N(-0.0084,0.00472)
图一
图二
5.3.2最小误判概率准则判决
对于两类问题,根据Ωi类出现的先验概率P(i)和Ωi类模式yi的概率分布密度将模式的特征空间Ψ分化成两个子空间Ψ1和Ψ2,即:
Ψ1∪Ψ2=Ψ,Ψ1∩Ψ2=Φ
当y∈Ψ1时,判y∈Ω1类,当y∈Ψ2时,判y∈Ω2类。
这是可能发生两种错误,一种把实属Ω1类的模式判属Ω2类即e12,另一种把实属Ω2类的模式判属Ω1类即e21。
要使识判概率最小,经推导可得到最小识判概率准则下的判决规则[1]:
如果P(Ω1)P(y|Ω1)>P(Ω2)P(y|Ω1)则判y∈Ω1
如果P(Ω1)P(y|Ω1)
等价为:
如果l12〉θ12则判y∈Ω1
如果l12〈θ12则判y∈Ω2
其中
称为似然比,θ12=P(ω2)/P(ω1)称为阀值。
上面我们已经估计出了P(y|ω1)和P(y|ω2)服从的正态分布:
y1∽N(0.0133,0.00742),y2∽N(-0.0084,0.00472)
而P(ω2)/P(ω1)可用500例中属于ω2类的数目与属于ω1类的数目之比估定,即为:
305/195。
运用上述判决规则,500个样本的判错总数为14个,err/N=0.028。
用上述判决规则对69个未知类别的样本进行分类,结果如下(表一):
表一
第一类
第二类
24101317182234363742636465666768
1356789111214151619202123242526272829303132333538394041434445464748495051525354555657585960616269
然而在实际生活中,当某一病例很难判属ω1还是ω2时,往往采用“拒判”,让病人找更有水平的医生或进行进一步的检查。
这种措施,对此病例的硬性判别更合理,给病人带来的危害更小。
因此,我们也引入“拒判”的概念。
5.3.3含“拒判”的最小风险判决
误判和拒判给病人带来的风险是不一样的。
误判包括两类:
一种把实属Ω1类的模式判属Ω2类,另一种把实属Ω2类的模式判属Ω1类,其风险分别记为λe12和λe21。
实际中,它们是不一样的。
由于缺乏这方面的专业知识,故简单的取λe12=λe21=λe,统称为误判风险。
又记拒判风险为λr,而正确判决的风险为λc。
显然λe〉λr〉λc。
现在的目标就是要是判决后总的风险最小。
经推导可得如下判决规则[1]:
如果
如果
如果
这里
。
上面的判决规则,从形式上可以看出,是对最小误判概率规则的阀值θ12=P(ω2)/P(ω1)利用风险值进行了加权。
对于本题的两类问题,存在拒判的条件是0≤t〈0.5,t越大,识判情况越多,误判情况越少,t=0.5时无拒判。
对500例样本,运用上述判决规则判决,综合考虑误判和拒判的数目,取t=0.42。
错判总数11,据判总数8,err/N=0.022。
对69个未知类别的样本进行分类,结果如下(表二)
发现表二的结果仅对表一中第37个样本拒判,其余完全一样。
表二
第一类
第二类
拒判
241013171822343642636465666768
1356789111214151619202123242526272829303132333538394041434445464748495051525354555657585960616269
37
5.4分类器错误率测试
误判概率的估计通常称为错误率。
上面我们用同样的N个样本去训练和测试,虽然这N个样本不能使训练达到理论上的最优,但由于还用它们去测试,显然这种情况下错误率是最低的。
实际中,更关心错误率的上界。
采用分组轮换法,它是将N个样本分成若干组,每组k个样本,每次只取其中的一组样本作测试,而其余组样本用于训练。
反复进行直到每一组都用作测试过。
如果每次测试中有mi个样本被判错,则错误率估计
取k=100,结果如下(表三)
最小误判概率准则
mI
最小风险准则(t=0.42)
mi拒判
1
6
6
1
2
6
5
3
3
6
6
0
4
4
4
0
5
3
2
2
得到最小误判概率准则的
;最小风险准则的
对最小误判概率准则的判别规则同时图示如下:
(图三)
P(y/Ω1)是第一类模式y的概率分布密度概密,P1是第一类出现的先验概率;
P(y/Ω2)是第一类模式y的概率分布密度概密,P2是第一类出现的先验概率,
其中阀值左边被判为第二类;右边被判为第一类。
阴影区表示误判概率P(e)(左阴影趋是第一类误判为第二类的概率e12,右阴影区是第二类误判为第一类的概率e21)。
计算得误判概率P(e)为0.033,e12=0.0256,e21=0.0079。
因为此误判概率是此分类器误判概率理论上的最好情况,故比用轮换分组法求得的小,是合理的。
因此,可将轮换分组法求得的结果作为误判概率的上界也是合理的。
图三
5.5特征选择——l—r法
为了减少费用,需要对给出的30个特征进行选择。
在保证分类效果的同时费用最少。
分类效果好,就是要使类内尽量紧,类间尽量开。
利用前面用到的准则函数J=Tr[SW-1SB]进行特征选择。
基于分支定界技术的思想,用增l减r法(l—r法)对30个特征进行操作。
这里取l=2,r=1。
对已选入的k个特征再一个个加入新的特征到k+l个特征,规则是每次使它与已选入的特征组合在一起时的J值最大。
加入2个特征后,再剔除1个特征,使尚保留的特征组合J值最大。
这样就能克服一旦某特征选入或剔除就不再剔除或选入的缺点,除去了搜索时先后次序的影响。
全部过程太长,仅将部分过程列于下表:
表四
已被选入特征
新增
剔除
+
1
7
+
1,7
10
-
1,7,10
1
+
7,10
28
+
7,10,28
22
-
7,10,22,28
7
+
10,22,28
8
+
8,10,22,28
30
-
8,10,22,28,30
28
+
8,10,22,30
25
+
8,10,22,25,30
11
-
8,10,11,22,25,30
11
+
8,10,22,25,30
11
+
8,10,11,22,25,30
14
-
8,10,11,14,22,25,30
25
+
8,10,11,14,22,30
25
+
8,10,11,14,22,25,30
29
-
8,10,11,14,22,25,29,30
29
+
8,10,11,14,22,25,30
29
取每次剔除后的量化特征,按前面所讲的步骤方法计算500个样本的错误总数,结果如下表:
表五
特征个数
特征
错误个数
2
7,10
64
3
10,22,28
95
4
8,10,22,30
22
5
8,10,22,25,30
21
6
8,10,11,14,22,30
25
7
8,10,11,14,22,25,30
20
8
8,10,11,14,22,25,29,30
18
9
8,10,11,14,16,22,28,29,30
18
10
8,10,11,14,15,16,22,28,29,30
16
11
2,8,9,10,11,14,15,16,28,29,30
18
12
2,8,9,10,11,14,15,16,22,28,29,30
15
13
2,8,9,10,11,14,15,16,17,27,28,29,30
17
14
2,8,9,10,11,14,15,16,17,20,27,28,29,30
16
15
2,7,8,9,10,11,14,15,16,17,20,21,28,29,30
16
16
1,2,7,9,10,11,14,15,16,17,20,21,24,28,29,30
17
17
1,2,4,7,10,11,14,15,16,17,18,20,21,24,28,29,30
15
18
1,2,4,7,9,10,11,14,15,16,17,18,20,21,24,28,29,30
18
19
1,2,4,7,8,9,10,11,14,15,16,17,18,20,21,24,28,29,30
14
20
1,2,4,7,8,9,10,11,14,15,16,17,18,20,21,23,24,28,29,30
14
21
1,2,4,7,8,9,10,11,12,14,15,16,17,18,20,21,23,24,28,29,30
13
22
1,2,4,6,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,27,29,30
12
23
1,2,3,4,6,7,8,9,10,11,12,14,15,16,17,18,20,21,23,24,27,29,30
14
24
1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,27,29,30
14
25
1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,27,28,29,30
14
26
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,27,28,29,30
14
27
1,2,3,4,5,6,7