1. 逻辑回归的模型函数
前面我们讲了线性回归模型,将线性模型用于回归问题中。这篇我们讲一下线性模型用于分类任务。在二分类问题中,对于线性回归所产生的预测值
z = θ T x z = \theta^Tx z=θTx
我们需将这个预测值 z z z转化为0/1值,最理想的是“单位阶跃函数”,即若预测值 z z z大于零就判为1,若预测值 z z z小于零则判为反例,预测值为临界值则可以任意判别。但是由于单位阶跃函数不连续,我们希望可以找到一个连续的,同时在一定程度上近似“单位阶跃函数“的函数,那么逻辑斯特函数(logistic function)则是一个很不错的替代函数:
y = 1 1 + e − z y = \frac{1}{1+e^{-z}} y=1+e−z1
如下图所示,这是一种"Sigmoid"函数,它将 z z z值转化为一个接近0或1的y值。
我们将 z = θ T x z = \theta^Tx z=θTx代入上式,最终得到逻辑回归的模型函数,如下
y = 1 1 + e − θ T x y = \frac{1}{1+e^{-\theta^Tx}} y=1+e−θTx1
作者个人理解:“单位阶跃函数”是将预测值直接转换为分类,而“逻辑斯特函数”是将预测值转换为0-1之间的一个数y,这个值正好可以当成某一类别的概率值,从而实现分类。
2. 逻辑回归的目标函数
逻辑回归的模型函数已经知道,求逻辑回归的模型函数,其实就是确定该模型函数中 θ \theta θ这个参数的值。在讲如何求这个参数之前,需要求得逻辑回归的目标函数,而在求解目标函数的过程中,需先讲解一下以下知识点:
一个事件的几率(odds):指该事件发生与不发生的概率比值,若事件发生概率为 p p p,那么事件发生的几率就是
o d d s = p 1 − p odds = \frac{p}{1-p} odds=1−pp
那么该事件的**对数几率(log odds,亦称logit)**就是:
l o g i t ( p ) = l n p 1 − p logit(p) =ln \frac{p}{1-p} logit(p)=ln1−pp
将式子
y = 1 1 + e − θ T x y = \frac{1}{1+e^{-\theta^Tx}} y=1+e−θTx1
转化为如下
l n y 1 − y = θ T x ln\frac{y}{1-y} = \theta^Tx ln1−yy=θTx
也就是说,输出y的对数几率是由输入x的线性函数表示的模型,这就是逻辑回归模型。当 θ T x \theta^Tx θTx的值越接近正无穷,y的值是越接近1的,那么我们将y视为样本x为正例,即y=1的概率。那么上述公式可转化为如下
l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = θ T x ln{\frac{p(y=1|x)}{p(y=0|x)}}=\theta^Tx lnp(y=0∣x)p(y=1∣x)=θTx
从而得
p ( y = 1 ∣ x ) = e θ T x 1 + e θ T x p ( y = 0 ∣ x ) = 1 1 + e θ T x p(y=1|x)=\frac{e^{\theta^Tx}}{1+e^{\theta^Tx}}\\ p(y=0|x)=\frac{1}{1+e^{\theta^Tx}} p(y=1∣x)=1+eθTxeθTxp(y=0∣x)=1+eθTx1
进一步可转化为
p ( y ∣ x ) = y e θ T x 1 + e θ T x + ( 1 − y ) 1 1 + e θ T x p(y|x) = y\frac{e^{\theta^Tx}}{1+e^{\theta^Tx}}+(1-y)\frac{1}{1+e^{\theta^Tx}} p(y∣x)=y1+eθTxeθTx+(1−y)1+