逻辑回归(logistic regression)

孤街浪徒 提交于 2020-03-11 05:42:39

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的时候,仅仅有前半部分,因此,能够写成上面的形式。
跟曾经一样,我们须要写出似然函数,然后拟合參数,使得似然函数最大化,似然函数例如以下(如果样本点满足独立同分布):



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



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



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



剩下的就是选择梯度下降的算法,一般选择随机梯度下降。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!