逻辑回归-Logistic Regression
逻辑回归假设数据服从伯努利分布,是一种二分类算法 ,即数据集的标签只有两种类别0或1,一般类别1表示我们想要去寻找的结果。逻辑回归可以运用在,比如判断邮件是否是垃圾邮件,客户的好坏等。相比于线性回归用数据来拟合一条直线,逻辑回归用数据拟合一条决策边界。
因为我们假设样本服从伯努利分布,所以y=1的概率为p,y=0的概率为1-p(y表示样本的类别). 如果用之前的线性回归y=wx(w,x都为向量)直接去拟合样本的话,y值的范围为R, 而概率的取值范围为[0,1]。显然这样是不合理的,概率不可能大于1或小于0. 所以在这里就引入了logit函数. logit函数的定义域为(0,1), 值域为R。所以logit函数可以将p的值映射到R,这样就可以和线性回归建立关系。
在这里取logit(odd)函数的反函数,就可以得到:
这个就是下面的sigmoid函数。
假设函数 :
逻辑回归在这里引入了sigmoid函数
,可以把回归的结果压缩到[0, 1]的范围。
下图为sigmoid函数的图像:
然后选择一个阈值,一般我们选择0.5作为阈值,此时就可以将样本分为两类:
当
时, y = 1,
当
时,y = 0
所以
输出结果代表的意思就是样本属于y = 1类的概率,即
。因为当
输出的结果小于0.5时,样本就属于y=0类,也就是说样本属于y=1的概率很小。
决策边界
决策边界是将两类分开的函数, 也就是逻辑回归里面的
. 从前面我们知道
, y = 1;
, y = 0
再结合sigmoid函数的图像我们可以看到当
时,就有
,即样本的类型y = 1; 当
时,就有
,即样本的类型y = 0,所以函数
就是那条边界。
在这里引用吴恩达的两个例子:
1、linear boundary
假设
,
当
,即
是,y=1
当
,即
是,y=0
可视化的结果如下图所示,中间紫色的直线就是决策边界z。边界的右边为y=1的区域,左边为y=0的区域,将两类分割开:
2、non-liner boundary
当两类线性不可分时,可以采用高阶多项式。
假设
,
当
,即
是,y=1
当
,即
是,y=0
可视化的结果如下图所示,中间紫色的圆圈就是决策边界z。边界的外边为y=1的区域,里面为y=0的区域,将两类分割开:
代价函数
代价函数衡量了模型输出的结果和真实值之间的差距。逻辑回归的代价函数可以用极大似然函数给出。 这里没有给出推到过程。
为了简化代价函数的表达式,将代价函数改为:
这样就能保证代价函数为凸函数,所以逻辑回归在最小化代价函数的时候能够获得全局最小值。最后用优化算法,比如梯度下降求解出参数就得到了逻辑回归模型。