zoukankan      html  css  js  c++  java
  • 逻辑回归模型分析

    2、逻辑(logistics)回归

    逻辑回归可以进行二分类和多分类,下面分别进行讨论:

    1)二项逻辑回归(二分类)

      假如我们现在需要对一类物品进行二分类,首先根据物品的多个特征,然后将物品的多个特征进行线性组合,这和我们上面讨论的多元线性模型有点类似。只是我们现在不是需要拟合平面(空间)上的点,而是需要将平面(空间)上的不同类别的点区分开来。

      多元线性模型为:h(x)=a0+a1x1+a2x2+…+anxn

      我们可以直接使用多元线性模型来对物品进行分类,通过设置一个阀值,然后将所有h(x)大于阀值的样本分为一类,其他的分为另一类。但这种方式存在一个问题,由于h(x)的值是任意大小的,阀值的选择是一件困难的事情,若我们对其进行归一化处理,则阀值的选择就相对简单很多。

    设阀值为:t,则

    为了方便表述,设:

    在此我们使用sigmoid函数对其进行归一化。

    此时,若我们使用平方最小误差函数来估算参数,由于归一化后的函数为非凸函数,故而不能使用梯度下降法来找到其最小值。但我们使用极大似然估计的方法估计模型参数。

    由于是二分类,可以设:

    所以似然函数为:

    对数似然函数:

    对L(a)求极大值,得到a的估计值。为了能使用梯度下降算法,我们在对数似然函数前面加上负号,这样就可以求其最小值:

    每次让参数a向对数似然函数的负梯度方向移动一小步。

    //推导过程很简单,感兴趣的可以去看参考文献[2]

    最后,对a的值进行更新:

    2)多项逻辑回归

    上面介绍了二项逻辑回归,多分类的逻辑回归有点类似,假如类别共有K类,对于前面的k-1类使用下式进行计算:

    对于第K类:

    总结

      逻辑回归虽然有回归二字,但是它并不能处理回归问题,其主要用来进行二分类,当然也能进行多分类。其主要过程是将输入线性加权后再归一化到(0,1)这个区间内,其归一化使用sigmoid函数。

    参考文献:

    [1] https://www.cnblogs.com/liuwu265/p/4709101.html

    [2] 李航,统计学习方法。

  • 相关阅读:
    06 is和==的区别 encode()编码 decode()解码
    05 dic的增删改查 字典的嵌套 考试题dic.get()的相关使用
    03 编码 int ,bool,str的常用操作 主要讲str
    01 基本数据类型 变量 if语句
    04 列表的增删改查 常用方法 元祖 range
    02 while循环 格式化输出 运算符
    多校2 Harmonious Army hdu6598 网络流
    P3159 [CQOI2012]交换棋子 网络流
    P2172 [国家集训队]部落战争 最大流
    P2402 奶牛隐藏 网络流
  • 原文地址:https://www.cnblogs.com/tinglele527/p/11993745.html
Copyright © 2011-2022 走看看