机器学习理论基础学习3.3--- Linear classification 线性分类之logistic regression

 

一、逻辑回归是什么?

logistic回归也称为逻辑回归,与线性回归这样输出是连续的、具体的值(如具体房价123万元)不同,逻辑回归的输出是0~1之间的概率,但可以把它理解成回答“是”或者“否”(即离散的二分类)的问题。回答“是”可以用标签“1”表示,回答“否”可以用标签“0”表示。
比如,逻辑回归的输出是“某人生病的概率是多少”,我们可以进一步理解成“某人是否生病了”。设置一个阈值如0.5,如果输出的是“某人生病的概率是0.2”,那么我们可以判断“此人没有生病”(贴上标签“0”)。

假设:

其中

这个函数被称为逻辑函数(Logistic function)或者是S形函数(Sigmoid function),它是由伯努利分布通过广义线性模型求解得到的,不是凭空捏造的。下面是它的函数图像: 

可以看到z在0附近比较敏感,当z>>0时它的输出很接近1,当z<<0时它的输出很接近0。这样我们在确定参数θ之后,就可以对新到来的数据进行预测(分类)了。 
同时直接给出其求导结果: 

 

二、怎么确定逻辑回归的参数?

到了这里,怎么才能得到参数θ?
其实这跟求解线性回归问题是同样的套路,前后改变了的地方只有P不同,而概率P不一样是因为模型不一样(一个高斯分布一个两点分布),所以计算概率的方式也不一样,前后求解的思路都是一样的。就连具体处理方式都是类似的梯度法,就像线性回归是让你计算29+3629+36,逻辑回归是让你计算57+2857+28,同样是计算一个加法算式,区别只在具体相加的数字的变化,没有本质的不同。
线性回归中用概率解释了最小二乘成本函数的由来,这里也用概率来得出我们要优化的目标函数,然后通过最大似然估计来求解θ。
让我们做出如下假设,这实际上是一个伯努利分布(Bernoulli distribution),也称为两点分布

这两个式子可以写在一起: 

有了概率我们就能得到似然函数,并且为了计算方便这里同样取log: 

这里,我们就有了目标函数l(θ)J(θ),当它的概率最大的时候,其对应的θ就是我们所寻求的参数。

具体求解方法:梯度上升(Gradient ascent)

在线性回归中,我们对J(θ)提出了两种解法,一种是梯度下降,另一种是正规方程组。

类似地,我们这里使用梯度上升,迭代规则为

  

注意这里是加号不是减号。

为什么上面用梯度下降这里用梯度上升?因为线性回归中它最大化的目标项之前有一个负号,为了把这个负号去掉,转而去求没有负号的目标项的最小值,故而采用了梯度下降,在逻辑回归中没有负号的问题,就使用了梯度上升。它们的本质都是在使似然函数l(θ)最大化。

下面直接给出一个样本下求导后的结果: 

相应的迭代规则就是:

猜你喜欢

转载自www.cnblogs.com/nxf-rabbit75/p/10279762.html