逻辑回归
1、逻辑回归的简单介绍
逻辑回归(Logistic Regression),又被译为“对数几率回归”,是一种二分类回归任务的一种常见的算法,是一种有监督的统计学习方法,主要用于对样本的分类。
1.与线性回归不同,线性回归模型是要找到一个函数f(x)=wx+b,使得f(x)与y的值尽可能接近。而逻辑回归在二分类任务上却是产生与输出标记y(y是布尔值0、1);
2. 是广义的线性回归,广义的线性回归是说对于一个回归任务来说,如果标记的输出是在指数尺度上变化的话,我们就可以用ln y来作为模型预测输出逼近的目标。同样的,逻辑回归就是要寻找一个函数g(·)使得线性回归的预测输出的实值转化为布尔值,通常我们取Sigmoid函数。
2、模型的理解
2.1 线性回归
1.最小二乘法,是线性回归中基于均方误差最小化来进行模型求解的一种方法。其主要思想是找到一条直线使得样本的欧几里得距离最小。基于此种想法,我们要求的便是f(xi)=w*xi+b 使得f(xi)~y,(对于多元回归分析只需将xi和w换成矩阵即可)。
对于具体如何利用最小二乘法求解模型参数w和b,这里就不进行公式推导了。
2.广义线性回归,我们现在简化线性回归模型,将其写成y=wT x(wT为w向量的转置)。现在如果标记y是在指数尺度上进行变化,那么我们可以将输出标记的对数作为预测逼近的目标,即 ln y=wT x。更一般,我们只要找到一个可微函数g(·),使得g(y)是线性变化的即可进行线性回归预测。
2.2 二分类问题
二分类问题中我们要预测的结果是离散的,是以布尔值的形式给出,即 y∈{0,1}。
结合广义线性回归,我们只需要找个一个函数使得线性回归预测值映射到0/1上即可。最理想的函数当然是单位阶跃函数。但是上文我们已经提过这个函数g(·)必须是可微函数,而单位阶跃函数在0处不连续,所以用对数几率函数常用作单位阶跃函数的替代函数。
对数几率函数的形式: f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+e−z1
函数图形为:
阶跃函数与对数几率函数对比图:
该函数表明z<0时y=0,z>0时y=1,而当z=0时y的值可以任意预测。
并且将 z = w T x + b z=w^{T}x+b z=wTx+b 代入Sigmoid函数,可得
f ( z ) = 1 1 + e − ( w T x + b ) f(z)=\frac{1}{1+e^{-(w^{T}x+b)}} f(z)=1+e−(wTx+b)1
进一步化简可得
l n y 1 − y = w T x + b ln\frac{y}{1-y}=w^{T}x+b ln1−yy=wTx+b
2.3 确定 l n y 1 − y = w T x + b ln\frac{y}{1-y}=w^{T}x+b ln1−yy=wTx+b中的w与b
1.我们如果将y看作是x为正例的可能性,那么1-y就是x为反例的可能性。
2.由于y和(1-y)的特殊性,我们考虑将y的形式改变一下,我们令 y = p ( z = 1 ∣ x ) y=p(z=1 | x) y=p(z=1∣x),那么 ( 1 − y ) = p ( z = 0 ∣ x ) (1-y)=p(z=0 | x) (1−y)=p(z=0∣x),于是线性规划模型被重写为:
l n p (