Logistic Regression 逻辑回归算法

来源:互联网 发布:中国经济数据网 编辑:程序博客网 时间:2024/04/30 10:57

基本介绍

  逻辑回归一般用来解决分类问题。是有监督学习。Logistic Regression分类器实际上是一个0/1二分类器。可简单的理解为线性回归

加上一个Sigmoid函数,即把线性回归输出作为Sigmoid函数的输入。有些分类问题并不是线性可分的,但我们可以通过特征映射将非线

性问题转换为线性问题来求解。Sigmoid函数的作用是:将线性回归的输出,如从负无穷到正无穷,压缩到(0~1)之间。

逻辑回归函数

  Sigmoid函数

g(z)=11+ez

  线性回归
f(x)=wTx=w0x0+w1x1+w2x2+...+wnxn x0=1

  逻辑回归

    线性回归输出作为Sigmoid函数的输入的Sigmoid函数叫做逻辑回归。

g(z)=11+ewTx

判定边界

  当线性函数f(x)=0,此时Sigmoid函数g(f(x))=0.5

  当线性函数f(x)>0,此时Sigmoid函数g(f(x))>0.5g(z)(0.51.0),认为当前数据样本x为类别1。

  当线性函数f(x)<0,此时Sigmoid函数g(f(x))<0.5g(z)(0.00.5),认为当前数据样本x为类别0。

  这就是逻辑回归分类的决策原理。选择0.5作为阈值是一般的做法,实际工程中可根据需求选择阈值。如对正例的要求较高,阈值可以

大一些。

损失函数

  逻辑回归的目标在于找到判定边界。判定边界即Sigmoid函数的输入函数。判断判定边界的的优劣需要用到损失函数。

cost(g(x),y)={log(g(x))log(1g(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)=1mi=1m(yilogg(xi)+(1yi)log(1g(xi)))

  g(xi):Sigmoid函数预测的类别概率。

  y:原类别,0或1。

  带上正则化的损失函数:

J(w)=1mi=1m(yilogg(xi)+(1yi)log(1g(xi)))+λ2mj=1nw2j

    λ2mnj=1w2j:正则化项,权重的L2范数乘以一个正则化系数。一定程度上防止过拟合。

    该函数是凸函数,有全局最低点,可以通过梯度下降法去求解。

举例:

  (1)给你用户的姓名、年龄、注册时间等特征属性作为自变量,预测该用户购房的概率。

  (2)预测用户是否点击某个商品

  (3)预测一条评论是正面还是负面

  (4)推荐系统:把推荐的问题转换为分类问题,按概率降序排序做推荐

  (5)CTR预估


0 0
原创粉丝点击