逻辑回归(Logistic Regression)

逻辑回归

逻辑回归是一种有监督的统计学习方法,主要用于对样本进行分类。

在线性回归模型中,输出一般是连续的,例如
y=f(x)=ax+b y=f(x)=a x+b
对于每一个输入的xx, 都有一个对应的yy输出。模型的定义域和值域都可以是[,+][- \infty,+\infty]。但是对于逻辑回归,输入可以是连续的[,+][-\infty,+ \infty],但输出一般是离散的, 即只有有限多个输出值。例如,其值域可以只有两个值{0,1},\{0,1\}, 这两个值可以表示对样本的某种分类, 高/低、患病/健康、阴性/阳性等,这就是最常见的二分类逻辑回归。因此, 从整体上来说,通过逻辑回归模型,我们将在整个实数范围上的xx映射到了有限个点上,这样就实现了对xx的分类。因为每次拿过来一个xx,经过逻辑回归分析,就可以将它归入某一类yy中。

与线性回归的关系

逻辑回归也被称为广义线性回归模型,它与线性回归模型的形式基本上相同,都具有ax+bax+b,其中aabb是待求参数,其区别在于他们的
因变量不同, 多重线性回归直接将ax+bax+b作为因变量, 即y=ax+by = ax+b, 而logistic回归则通过函数SSax+bax+b对应到一个隐状态pp,p=S(ax+b)p = S(ax+b),然后根据pp1p1-p的大小决定因变量的值。这里的函数SS就是SigmoidSigmoid函数
S(t)=11+et S(t)=\frac{1}{1+e^{-t}}
tt换成ax+bax+b,可以得到逻辑回归模型的参数形式:
p(x;a,b)=11+e(ax+b) p(x ; a, b)=\frac{1}{1+e^{-(a x+b)}}
逻辑回归(Logistic Regression)sigmodsigmod函数图像
通过函数SS的作用,我们可以将输出的值限制在区间[0,1][0,1]上,p(x)p(x)则可以用来表示概率p(y=1x)p(y=1|x),即当一个xx发生时,yy被分到11那一组的概率。在真实情况下,我们最终得到的yy的值是在[0,1][0, 1]这个区间上的一个数,然后我们可以选择一个阈值,通常是0.50.5,当y>0.5y>0.5时,就将这个xx归到11这一类,如果y<0.5y<0.5就将xx归到0这一类。但是阈值是可以调整的,比如说一个比较保守的人,可能将阈值设为0.90.9,也就是说有超过9090%的把握,才相信这个xx属于11这一类。

损失函数

逻辑回归一般使用交叉熵作为代价函数。损失函数的具体细节,可参考损失函数, 这里给出交叉熵公式:
J(θ)=1m[i=1m(y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))] J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m}\left(y^{(i)} \log h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right]\right.
mm:训练样本的个数;
hθ(x):\mathrm{h}_{\theta}(\mathrm{x}): 用参数θ\thetaxx预测出来的yy
yy:原训练样本中的yy值,即标签
上角标(i)(i):第ii个样本