摘要:

  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. Eclipse导入到最新版Android Studio详解

    说到使用AndroidStudio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到AndroidStudio中使用.这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客, ...

  2. http错误代码含义中英文对照

    Http错误代码含义中文 概要当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字 ...

  3. Ubuntu13.10下安装HADOOP

    2013-03-05 09:04 995人阅读 评论(0) 收藏 举报 运行这个脚本: #/bin/sh sudo add-apt-repository ppa:webupd8team/java su ...

  4. Github初学者教程(一)

    如果你是一名程序员,或者是相关专业的学生,那么Github你不应不知道.很多开源组织和大神,会选择在Github这个平台上,发布他们的开源项目,学会使用Github将能够给你的学习和工作带来巨大帮助! ...

  5. iOS开发资源(持续更新)

    vm10虚拟机安装Mac OS X10.10教程 马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today) Xcode使用教程详细讲解 (上) Xcode使用 ...

  6. JavaScript 数组

    JavaScript 数组 简介:数组是值的有序集合,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 一:创建数组 ...

  7. MAC系统设置SSX教程与下载

    http://ss.hongxingchajian.com MAC系统设置SSX教程与下载 1.下载客户端并安装,装完后打开 链接: http://pan.baidu.com/s/1o7ypp5g 密 ...

  8. fft练习

    数学相关一直都好弱啊>_< 窝这个月要补一补数学啦, 先从基础的fft补起吧! 现在做了 道. 窝的fft 模板 (bzoj 2179) #include <iostream> ...

  9. [ios]关于用FMDB 操作数据库 删除 tableView 后刷新

    刚了解使用fmdb,从数据库获取数据 绑定到一个可变数组classNameItems //从ClassList表取得数据 FMResultSet *classInfo=[db executeQuery ...

  10. BCD码和十六进制,十进制转换

    参考文档: http://wenku.baidu.com/link?url=CfK2Wl7sCEmpzEabnbHSbcwf2t4yoSH6_n8sUIRw54piWaRB7hZ6RkaStWEkbC ...