摘要:

  1.算法概述

  2.算法推导

  3.算法特性及优缺点

  4.注意事项

  5.实现和具体例子

  6.适用场合

内容:

1.算法概述

  最基本的LR分类器适合于对两分类(类0,类1)目标进行分类;这个模型以样本特征的线性组合sigma(theta * Xi)作为自变量,使用logistic函数将自变量映射到(0,1)上。

  其中logistic函数(sigmoid函数为):

  

  函数图形为:

  

   从而得到LR的模型函数为:,其中待定。

2.算法(数学)推导

  建立的似然函数:

  

  对上述函数求对数:

  做下函数变换:

  

  通过梯度下降法求最小值。θ的初始值可以全部为1.0,更新过程为:(j表样本第j个属性,共n个;a表示步长--每次移动量大小,可自由指定)

   求导:

  

  

  因此,θ(可以设初始值全部为1.0)的更新过程可以写成:

  (i表示第i个统计样本,j表样本第j个属性;a表示步长)

  矩阵形式(矢量化)的解:

  

约定训练数据的矩阵形式如下,x的每一行为一条训练样本,而每一列为不同的特称取值:

g(A)的参数A为一列向量,所以实现g函数时要支持列向量作为参数,并返回列向量。由上式可知hθ(x)-y可由g(A)-y一次计算求得。

θ更新过程可以改为:

综上所述,Vectorization后θ更新的步骤如下:

(1)求A=X*θ(此处为矩阵乘法,X是(m,n+1)维向量,θ是(n+1,1)维列向量,A就是(m,1)维向量)

(2)求E=g(A)-y(E、y是(m,1)维列向量)

(3)求 (a表示步长)

3.算法特性及优缺点

   LR分类器适用数据类型:数值型和标称型数据。

   可用于概率预测,也可用于分类。

  其优点是计算代价不高,易于理解和实现;其缺点是容易欠拟合,分类精度可能不高。

  各feature之间不需要满足条件独立假设(相比NB),但各个feature的贡献是独立计算的(相比DT)。

4.注意事项

  步长a的选择:值太小则收敛慢,值太大则不能保证迭代过程收敛(迈过了极小值)。

  归一化:多维特征的训练数据进行回归采取梯度法求解时其特征值必须做scale,确保特征的取值范围在相同的尺度内计算过程才会收敛

  最优化方法选择:L-BFGS,收敛速度快;(这个不太懂)

  正则化:L1正则化可以选择特征,去除共线性影响;损失函数中使用了L1正则化,避免过拟合的同时输出稀疏模型;

  (来自http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression)

5.实现和具体例子

  Logistic回归的主要用途:

  • 寻找危险因素:寻找某一疾病的危险因素等;

  • 预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大;

  • CTR预测:http://www.flickering.cn/uncategorized/2014/10/转化率预估-2逻辑回归技术/?utm_source=tuicool&utm_medium=referral
  • 官网使用LR L1正则项进行特征选择的例子:https://github.com/Tongzhenguo/Python-Project/blob/master/learntoscikit/LRforFeatureSelect.py
  • 一个银行风控的例子:http://www.weixinla.com/document/44745246.html

6.适用场合

  是否支持大规模数据:支持,并且有分布式实现

  特征维度:可以很高

  是否有 Online 算法:有(参考自

  特征处理:支持数值型数据,类别型类型需要进行0-1编码

逻辑回归(LR)总结复习的更多相关文章

  1. 逻辑回归LR

    逻辑回归算法相信很多人都很熟悉,也算是我比较熟悉的算法之一了,毕业论文当时的项目就是用的这个算法.这个算法可能不想随机森林.SVM.神经网络.GBDT等分类算法那么复杂那么高深的样子,可是绝对不能小看 ...

  2. 线性模型之逻辑回归(LR)(原理、公式推导、模型对比、常见面试点)

    参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读,方可全面了解LR): (1).https://zhuanlan.zhihu.com/p/74874291 (2).逻辑回归与交叉熵 (3) ...

  3. 机器学习(四)—逻辑回归LR

    逻辑回归常见问题:https://www.cnblogs.com/ModifyRong/p/7739955.html 推导在笔记上,现在摘取部分要点如下: (0) LR回归是在线性回归模型的基础上,使 ...

  4. 机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 前面介绍过线性回归的基本知识, ...

  5. 机器学习-逻辑回归与SVM的联系与区别

    (搬运工) 逻辑回归(LR)与SVM的联系与区别 LR 和 SVM 都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题,如LR的Softmax回归用在深度学习的多分类 ...

  6. 逻辑回归算法的原理及实现(LR)

    Logistic回归虽然名字叫"回归" ,但却是一种分类学习方法.使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素.逻辑回归(Logistic Regression, L ...

  7. Python实现LR(逻辑回归)

    Python实现LR(逻辑回归) 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所需,不画图可不必) 计算过程 st=>start: 开始 e=>end o ...

  8. 逻辑回归模型(Logistic Regression, LR)基础

    逻辑回归模型(Logistic Regression, LR)基础   逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函 ...

  9. 细品 - 逻辑回归(LR)

    1. LR的直观表述 1.1 直观表述 今天我们来深入了解一个人见人爱,花见花开,工业界为之疯狂,学术界..额,好像学术界用的不多哎.不过没关系,就算学术界用的不多也遮不住它NB的光芒,它就是LR模型 ...

随机推荐

  1. ubuntu 16.04 + N驱动安装 +CUDA+Qt5 + opencv

    Nvidia driver installation(after download XX.run installation file) 1. ctrl+Alt+F1   //go to virtual ...

  2. appium如何获取conten-desc内容文本

    如何获取conten-desc内容文本 定位到该元素,通过getAttribute("name");来获取内容如:媒体报道 总结: 思路和selenium一样,可以理解为获取它的v ...

  3. 移动web资源整理

    [原]移动web资源整理 2013年初接触移动端,简单做下总结,首先了解下移动web带来的问题 设备更新换代快--低端机遗留下问题.高端机带来新挑战 浏览器厂商不统一--兼容问题多 网络更复杂--弱网 ...

  4. CentOS 6.4下编译安装MySQL 5.6.14

    概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...

  5. 数据泵Expdp和Impdp

    一.数据泵导入导出技术 1.结构 2.目录对象 二.EXPDP参数 1.attach 2.content 3.directory 4.dumpfile 5.estimate 6.estimate_on ...

  6. 闭包和重写函数 返回IE浏览器版本号

    开发过程中我们有时候需要知道IE的版本号,我们知道得到IE的版本号的方法: var v = 3, div = document.createElement('div'), all = div.getE ...

  7. [RxJava^Android]项目经验分享 --- RxLifecycle功能实现分析(二)

      接着上一篇文章的内容,这篇文章一边分析RxLifecycle的实现原理,一边学习RxJava操作符. 首先RxLifecycle在基础类里定义BehaviorSubject并绑定Activity或 ...

  8. 关于textarea中换行、回车、空格的识别与处理

    需求:在textarea中输入文字,提交给后台后,后台输出在另一个页面,文字按原格式显示.   问题:如何还原输入框中的换行和空格? 兼容性:IE9以上.FF.chrome在换行处匹配/\n/     ...

  9. dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)

    dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...

  10. php止刷新页面重复提交

    利用session来解决,首先新建一个session,并赋值,第一次提交后改变session的值,当第二次再此提交此内容时,如果不是我们的赋值,就不在处理传过来的数据.如:<?php sessi ...