基本介绍
逻辑回归一般用来解决分类问题。是有监督学习。Logistic Regression分类器实际上是一个0/1二分类器。可简单的理解为线性回归
加上一个Sigmoid函数,即把线性回归输出作为Sigmoid函数的输入。有些分类问题并不是线性可分的,但我们可以通过特征映射将非线
性问题转换为线性问题来求解。Sigmoid函数的作用是:将线性回归的输出,如从负无穷到正无穷,压缩到(0~1)之间。
逻辑回归函数
Sigmoid函数
g(z)=11+e−z
线性回归
f(x)=wTx=w0x0+w1x1+w2x2+...+wnxn x0=1
逻辑回归线性回归输出作为Sigmoid函数的输入的Sigmoid函数叫做逻辑回归。
g(z)=11+e−wTx
判定边界
当线性函数 f(x)=0 ,此时Sigmoid函数 g(f(x))=0.5 。
当线性函数 f(x)>0 ,此时Sigmoid函数 g(f(x))>0.5 , g(z)∈(0.5∼1.0) ,认为当前数据样本x为类别1。
当线性函数 f(x)<0 ,此时Sigmoid函数 g(f(x))<0.5 , g(z)∈(0.0∼0.5) ,认为当前数据样本x为类别0。
这就是逻辑回归分类的决策原理。选择0.5作为阈值是一般的做法,实际工程中可根据需求选择阈值。如对正例的要求较高,阈值可以
大一些。
损失函数
逻辑回归的目标在于找到判定边界。判定边界即Sigmoid函数的输入函数。判断判定边界的的优劣需要用到损失函数。
cost(g(x),y)={−log(g(x))−log(1−g(x))y=1y=0
g(x) :Sigmoid函数预测的类别概率。y :原类别,0或1。
若本身是正样本
y=1 ,预测成了负样本(如 g(x) =0.01),损失 cost(g(x),y) 就非常大。若本身是负样本 y=0 ,预测成了正样本(如 g(x) =0.999),损失 cost(g(x),y) 也非常大。
损失函数合并得到平均损失:
J(w)=−1m∑i=1m(yilogg(xi)+(1−yi)log(1−g(xi)))
g(xi) :Sigmoid函数预测的类别概率。y :原类别,0或1。
带上正则化的损失函数:
J(w)=−1m∑i=1m(yilogg(xi)+(1−yi)log(1−g(xi)))+λ2m∑j=1nw2j
λ2m∑nj=1w2j :正则化项,权重的L2范数乘以一个正则化系数。一定程度上防止过拟合。该函数是凸函数,有全局最低点,可以通过梯度下降法去求解。
举例:
(1)给你用户的姓名、年龄、注册时间等特征属性作为自变量,预测该用户购房的概率。
(2)预测用户是否点击某个商品
(3)预测一条评论是正面还是负面
(4)推荐系统:把推荐的问题转换为分类问题,按概率降序排序做推荐
(5)CTR预估