1.3 Logistics二分类模型
上文在介绍自变量X与目标变量Y之间的回归方程模型基础上,重点讨论了与自变量X端有关的模型选择、特征选择等问题,并没有涉及太多关于目标变量Y的讨论。事实上,前述回归分析的讨论,都是假定Y是连续型随机变量的情况。本节开始讨论Y为离散二值型随机变量的情况。
当目标变量Y为离散型随机变量时,寻找(x,y)(m)之间模型的问题有个新名词叫分类问题。分类问题在实际中广泛存在。例如疾病诊断问题就是一个典型的分类问题,在给定病人的属性数据X(例如年龄、身高、体重、肿瘤的CT、MR检查资料等),要给出该病人所得疾病的诊断结果Y(肿瘤是良性还是恶性)。再如垃圾邮件分类问题,给定邮件的某些属性X(例如邮件中是否包含类似“发票”“期刊发表”等敏感词),给出该邮件是垃圾邮件还是正常邮件的判断。
对于二分类情况,由于感兴趣的类别只有两个(肿瘤是良性还是恶性,垃圾邮件还是正常邮件),因此目标变量Y只需要取0,1两种不同的取值,对应两个不同的类别。这样在二维平面下数据(X,Y)(m)就变成图1.14(a)的形式。此时,给定X的条件下关于Y的分布不再是原来的正态分布,而是一个参数为φ的伯努利分布(式(1.3.1))。
直接对这样服从伯努利分布的数据使用回归分析的办法可以得到一个图1.14(b)红色直线对应的回归方程,然而这样找出来的回归方程并不是一个好的分类线,它无法将训练集中的数据全部正确分类。该回归方程甚至不如落在图1.14(b)中阴影部分的任一直线,因为落在阴影部分的任一直线均能将所有数据分类。或者设定某个阈值,比如取0.5,当回归方程hθ(x)>0.5时,判定为y=1,否则认为y=0。这种分类方法也会带来不合理的情况出现。比如图1.15(b)中,假设x轴代表的是肿瘤大小,根据肿瘤大小程度判定该肿瘤是良性(y=0)还是恶性(y=1)。现在这个特征数据集在原来数据基础上新增加了三个红色×所代表的样本点后,拟合得到新的红色线对应的回归方程与原来的方程差异较大。此时再按照hθ(x)是否大于0.5来进行分类,会将肿瘤很大的样本点x(图1.15中红色回归方程上的红点)误判为良性。因此,直接将回归分析的方法套在分类问题上的做法效果并不好。
图1.14 分类数据集和拟合分类数据得到的回归方程(见文后彩图)
(a)分类数据集得到的回归方程;(b)拟合分类得到的回归方程
图1.15 新增加数据对回归方程的影响(见文后彩图)
红色线是新增加数据集后得到的新的回归方程
为适应分类问题处理的需要,统计学家Cox[44]提出在连续型随机变量的情况下,改变原来的将θTx计算结果直接作为目标变量y的值的做法,而是设法引入一个变换函数f(η),将θTx经该函数变换后再作为目标变量y的取值。即将原来的y=θTx改为y=f(η)=f(θTx)。这里变换函数要求值域为(0,1)的光滑连续函数。Cox选用的这个变换函数f(η)是大家非常熟悉的sigmoid函数(图1.16)(5)。这样可得到式(1.3.2)形式的logistics回归模型。相应地,图1.5的线性回归模型的图形表示将变成图1.17的形式(输出单元多了一个表示传递函数的符号)。
图1.16 logistic回归中使用的sigmoid变换函数
图1.17 式(1.3.2)中logistics回归模型的图形化表示
请注意,logistics回归模型本身用于解决分类问题,但由于这个模型的输出hθ(X)是(0,1)区间内的连续值,因此仍然称之为回归模型。由于logistics回归模型引入了sigmoid作为激活/变换函数,这时多个变量的线性组合预测的是的值,即,不再是原来的直接对Y进行预测。正是因为这个线性组合,logistics回归模型仍然属于线性模型的范畴。
从图1.16可以看出,sigmoid这个变换函数在η→∞时取值逼近1,η→−∞时取值逼近0。两向量θ,x之间的内积θTx(式(1.2.1)中回归方程右端项)通过这个变换函数被映射成为(0,1)之间的值hθ(x),这个值正好可作为θ,x之间的相似程度的量。因此,自然地,可用p(y=1|x;θ)=hθ(x)表示在给定参数θ下样本x是正样本的概率,p(y=0|x;θ)=1−hθ(x)表示给定参数θ下样本x是负样本的概率。在二分类情况下,当hθ(x)>0.5时意味着该样本属于正样本的概率要大于负样本的概率(更“像”正样本),因此该样本将被logistics回归模型判定为正样本,否则该样本为负样本。
在0<hθ(x)<1且y=0,1二值情况下,给定参数θ和样本x下关于y的条件概率可统一表示成式(1.3.3)的形式。
为获得一个式(1.3.2)形式的logistics回归模型,需要从一堆已被正确诊断的CT图像集合(x,y)(m)进行训练(假设这个训练样本是从参数为φ的伯努利分布总体中抽取的样本,这里φ为恶性肿瘤发病率)。训练过程中本质上是要寻找参数θ,使得E(p(Y|X;θ))=φ。为此,由式(1.3.3)可列出同时观察到数据集(x,y)(m)的似然函数及其对数形式,如式(1.3.4)所示。
其中,符号y表示各分量取值为0,1的二值向量。对式(1.3.4)两边取对数并整理,得到式(1.3.5)形式的对数似然函数。这样做的目的是在不改变函数极值点的前提下通过取对数将原来的求积运算转化成更容易处理的求和运算。
对式(1.3.5)关于θj求偏导,可得式(1.3.6),其中倒数第二步到最后一步成立是因为在sigmoid激活/传递函数下,有(x(i))=hθ(x(i))[1−hθ(x(i))]成立。
有了式(1.3.6)这个偏导数,就可以得到式(1.3.7)的关于参数θj的全梯度更新公式。
值得注意的是,式(1.3.7)的梯度更新公式中用的hθ(x)函数由公式(1.3.2)给出,而不是原来的式(1.2.1)的线性函数。尽管两者形式上是一样的。