博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Logistic Regression知识点整理
阅读量:4221 次
发布时间:2019-05-26

本文共 3865 字,大约阅读时间需要 12 分钟。

Logistic Regression

  1. Linear Regression 的原理(Logistic Regression 的基础)
    目标函数 f(x)=wx+b f ( x ) = w x + b
    损失函数 均方误差 E=mi=1(f(xi)yi)2 E = ∑ i = 1 m ( f ( x i ) − y i ) 2 推广至多元 E=(ywx)T(ywx)(w=(w,b)) E = ( y − w x ) T ( y − w x ) ( 其 中 把 w = ( w , b ) )
    求解方法 最小二乘法 OLS,即分别对w和b求偏导 推广至多元 Ew=2xT(ywx) ∂ E ∂ w = 2 x T ( y − w x )
    当x满秩或正定有 w=(xTx)1xTy w = ( x T x ) − 1 x T y (这意味着如果样本数<<特征数时,存在多种解,需要引入正则项)
    检验方式:多元线性回归的
    模型的解释程度(拟合度检验) R^2 :[0,1] 存在随着自变量个数的增多而变大,采用修正的R^2
    总体显著性检验F:目标变量和自变量之间的线性关系是否显著,即自变量的系数是否不全为0
    系数的显著性检验P
    采用OLS估计系数的应用条件(参数估计假设):
    a. 输入变量是确定变量,且输入变量之间无共线性
    (多重共线性会使得参数估计值方差减小,可以用DW检验残差是否存在序列相关性)
    所谓多重共线性(Multicollinearity)是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。影响
    (1)完全共线性下参数估计量不存在
    (2)近似共线性下OLS估计量非有效
    多重共线性使参数估计值的方差增大,1/(1-r2)为方差膨胀因子(Variance Inflation Factor, VIF)
    (3)参数估计量经济含义不合理
    (4)变量的显著性检验失去意义,可能将重要的解释变量排除在模型之外
    (5)模型的预测功能失效。变大的方差容易使区间预测的“区间”变大,使预测失去意义。
    b. 随机误差的期望值总和为0,即随机误差与自变量不相关
    c. 随机误差呈现正态分布
    (当存在异方差时,普通最小二乘法估计存在以下问题: 参数估计值虽然是无偏的,但不是最小方差线性无偏估计)
    对于线性回归模型,当响应变量服从正态分布,误差项满足高斯–马尔科夫条件(零均值、等方差、不相关)时,回归参数的最小二乘估计是一致最小方差无偏估计。
  2. Generalized Linear Regression
    y=f(x)=wx+b y = f ( x ) = w x + b 扩展为 y=g(z)=g(f(x))=g(wx+b) y = g ( z ) = g ( f ( x ) ) = g ( w x + b )
  3. Logistic Regression:二分类

    目标函数: y=g(z)=11+expz=11+exp(wx+b) y = g ( z ) = 1 1 + e x p − z = 1 1 + e x p − ( w x + b ) 这里的 g() g ( ⋆ ) 就是sigmoid函数
    z=g1(y)=lny1y z = g − 1 ( y ) = l n y 1 − y
    可以推出
    当y=1时 y=expwx+bexpwx+b+1 y = e x p w x + b e x p w x + b + 1
    当y=0时 y=1expwx+b+1 y = 1 e x p w x + b + 1
    损失函数:对数似然损失函数-logP(Y|X)
    参数估计方法:对数极大似然估计,\beta = (w,b)
    l(β)=mi=1lnP(yi|β)=mi=1lnyiexpβxi+(1yi)expβxi+1=mi=1ln(yiexpβxi+(1yi))ln(expβxi+1) l ( β ) = ∑ i = 1 m l n P ( y i | β ) = ∑ i = 1 m l n y i e x p β x i + ( 1 − y i ) e x p β x i + 1 = ∑ i = 1 m l n ( y i e x p β x i + ( 1 − y i ) ) − l n ( e x p β x i + 1 )
    当y_i=0 时候第一个ln()项为0,当y_i=1时第一个ln()为\beta x_i,故等式可以化为

    maxi=1myiβxiln(expβxi+1) m a x ∑ i = 1 m y i β x i − l n ( exp β x i + 1 )

    等价于 J(β)=minmi=1yiβxi+ln(expβxi+1) J ( β ) = m i n ∑ i = 1 m − y i β x i + l n ( exp β x i + 1 )

    求解方法:梯度、拟牛顿、牛顿
    sklearn 中solver封装了liblinear、lbfgs、newton-cg、sag
    a) liblinear:使用了开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数。
    b) lbfgs:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
    c) newton-cg:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
    d) sag:即随机平均梯度下降,是梯度下降法的变种,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计算
    L1 liblinear liblinear适用于小数据集;如果选择L2正则化发现还是过拟合,即预测效果差的时候,就可以考虑L1正则化;如果模型的特征非常多,希望一些不重要的特征系数归零,从而让模型系数稀疏化的话,也可以使用L1正则化。
    L2 liblinear libniear只支持多元逻辑回归的OvR,不支持MvM,但MVM相对精确。
    L2 lbfgs/newton-cg/sag 较大数据集,支持one-vs-rest(OvR)和many-vs-many(MvM)两种多元逻辑回归。
    L2 sag 如果样本量非常大,比如大于10万,sag是第一选择;但不能用于L1正则化。
    系数显著性检验:Wald检验 W=βD(β) W = β D ( β ) ,其中 D() D ( ⋆ ) 为标准差,如果P-Value小于0.05,则说明影响显著
    变量筛选办法:
    向前引入(逐个加入自变量)、向后剔除(逐个删除)、逐步回归
    注意事项(缺点)
    数据量不能太少、自变量的共线性会对结果产生影响、异常值的干扰、不能处理缺失值

  4. 带正则项的Logistic Regression
    目的:防止模型过拟合
    函数: J(β)=J(β)+λ||w||p J ( β ) = J ( β ) + λ | | w | | p
    常用正则项:
    L1(可以产生稀疏解答,起到特征选择的作用,倾向于使参数变为0),L2(倾向于将w接近0)
  5. 和线性回归的比较
    LINEAR LOGISTIC
    目标变量的假设服从分布 正态分布 二项分布或多项分布
    目标变量和自变量之间的关系 线性 非线性
    残差 有 无
    参数估计方式 最小平方法 极大似然法
    由于线性回归在整个实数域内敏感度一致,而分类范围,需要在[0,1]之内。而逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,其回归方程与回归曲线如下图所示。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为(0,1)。
  6. 和最大熵MaxEnt模型的区别和联系
    逻辑回归跟最大熵模型没有本质区别。逻辑回归是最大熵对应类别为二类时的特殊情况
    指数簇分布的最大熵等价于其指数形式的最大似然。
    二项式分布的最大熵解等价于二项式指数形式(sigmoid)的最大似然;
    多项式分布的最大熵等价于多项式分布指数形式(softmax)的最大似然。
  7. 和SVM的区别和联系
    | SVM | LR |
    样本点对模型的作用 支持向量(少量) 全部
    损失函数 hinge log
    输出 概率值
    过拟合处理 自带正则 需要加正则
    处理多分类 二分类,需要(ovo,ova) 直接多分类
    计算复杂度 海量数据中效率低下
    数据要求 需要对样本进行标准化
    回归 可以 不可以
  8. 并行化的Logistic Regression
    sklearn中n_jobs为并行数,-1为和CPU个数一致
    J(β)=minmi=1yiβxi+ln(expβxi+1) J ( β ) = m i n ∑ i = 1 m − y i β x i + l n ( exp β x i + 1 )
    求导得
    g(βk)=mi=1[xi(yiexpβkxiβkxi+1)] g ( β k ) = ∑ i = 1 m [ x i ( y i − e x p β k x i β k x i + 1 ) ]
    逻辑回归的并行化最主要的就是对目标函数梯度计算的并行化。
    目标函数的梯度向量计算中只需要进行向量间的点乘和相加,可以很容易将每个迭代过程拆分成相互独立的计算步骤,由不同的节点进行独立计算,然后归并(求和)计算结果。

参考

LR的并行化
LR的理论
《数据挖掘与数据化运营实战》
《统计学习方法》
《机器学习》

转载地址:http://nfqmi.baihongyu.com/

你可能感兴趣的文章
CCScaleTo与CCScaleBy比较
查看>>
cocos2dx CCObject引用计数,内存释放分析(1)
查看>>
cocos2dx2.X 编译时,传递编译选项
查看>>
ccCArray.cpp 文件
查看>>
cocos2dx 屏幕大小
查看>>
libgdx: 2D Particle Editor工具使用
查看>>
eclipse 给jar库添加源码
查看>>
3.0正式版环境搭建(4)-- 运行(3)创建的工程
查看>>
C++ 枚举声明 enum 和 enum class
查看>>
Python optionParser模块的使用方法
查看>>
android 消灭星星出错
查看>>
PyCharm 教程(三)Hello world!
查看>>
PyCharm: 显示源码行号
查看>>
cocos2dx使用第三方字库.ttf,需要注意的事项
查看>>
cocos2.X版本lua端使用定时器的方法
查看>>
lua math.fmod使用注意小数问题
查看>>
lua 时间转化
查看>>
lua学习笔记之五(Lua中的数学库)
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第一篇:互联网时代U盘化生存方式 【张振华.Jack】
查看>>
CentOS6.4配置Hadoop-2.6.0集群配置安装指南(经过实战演练)【张振华.Jack】
查看>>