逻辑回归(logistic regression)


logistic regression可以解决分类问题,即输出的结果只有0和1两种,比如,对于邮件的判断只有是或者否。这种分类问题使用传统的线性回归并不能很好的解决。

一个小例子

例如,当我们根据肿瘤的大小判断一个肿瘤是不是良性的时候,输出结果只有是或者否,用1和0表示,给定的样本点,并且我们使用传统的线性回归问题解决拟合的函数图像如下:

图像中我们可以根据拟合曲线,当输出值大于0.5(根据图像判断的值)的时候,确定输出的为恶性(即为1);当输出值小于0.5(根据图像判断的值)的时候,确定输出的为良性(即为0)。但是,当我们有新的样本点加入的时候,如下图:

我们会发现,对于新的拟合曲线使用上面的方法和标准(0.5)并不能很好的做出预测。因此我们需要新的回归形式,即下面要说的logistic回归。

sigmoid function(logistic function)

sigmoid函数,又称为逻辑函数。是一个单调上升的函数,函数的形式如下:
1/(1 + EXP(-A*(X-C)))

其中A和C为参数,A控制着函数的陡峭程度,C控制着函数的对称点的水平坐标位置,下面用三个函数图像说明:

图像1,A=1,C=0:



图像2,A=10,C=0:



图像3,A=1,C=5:

逻辑回归(logistic regression)

从上面的图像可以看出,logistic函数很适合做我们刚开始提出的数据的拟合问题。现在我们假设我们以前的假设函数为



其中的θ为我们需要计算的参数,计算好的参数能够使得曲线很好的拟合样本点。

逻辑回归的参数拟合

对于给定的以上的回归模型,我们怎样拟合θ?这里我们使用概率统计中的最大似然估计做推导。
假设概率模型如下(因为函数值在0和1之间,因此我们可以直接假设如下,但实际上函数的值并不是概率):



上面的函数可以合并写成如下的形式:



因为y的值只有0和1,因此当y=0的时候只有后半部分;当y=1的时候,只有前半部分,因此,可以写成上面的形式。
跟以前一样,我们需要写出似然函数,然后拟合参数,使得似然函数最大化,似然函数如下(假设样本点满足独立同分布):



为了便于计算,取其对数:



至此,拟合参数为了最大化上面的形式。跟前面的一样,我们使用梯度下降的方法寻找使得函数最大化的参数值。首先求梯度:



然后,参数的迭代公式为如下形式(注意,这里为求函数的最大值,而前面的为求函数的最小值,因此符号为“+”):



剩下的就是选择梯度下降的算法,一般选择随机梯度下降。

相关内容