Logistic Regression 逻辑回归算法

    xiaoxiao2021-03-25  79

    基本介绍

      逻辑回归一般用来解决分类问题。是有监督学习。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.5 g(z)(0.51.0) ,认为当前数据样本x为类别1。

      当线性函数 f(x)<0 ,此时Sigmoid函数 g(f(x))<0.5 g(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预估


    转载请注明原文地址: https://ju.6miu.com/read-35149.html

    最新回复(0)