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的时候,仅仅有前半部分,因此,能够写成上面的形式。
跟曾经一样,我们须要写出似然函数,然后拟合參数,使得似然函数最大化,似然函数例如以下(如果样本点满足独立同分布):
为了便于计算,取其对数:
至此,拟合參数为了最大化上面的形式。跟前面的一样,我们使用梯度下降的方法寻找使得函数最大化的參数值。首先求梯度:
然后,參数的迭代公式为例如以下形式(注意,这里为求函数的最大值,而前面的为求函数的最小值,因此符号为“+”):
剩下的就是选择梯度下降的算法,一般选择随机梯度下降。