一、LR分类器(Logistic Regression Classifier)

在分类情形下,经过学习后的LR分类器是一组权值w0,w1, …, wn,当测试样本的数据输入时,这组权值与测试数据按照线性加和得到x = w0+w1x1+w2x2+… wnxn,这里x1,x2, …xn是样本的n个特征。

之后按照sigmoid函数的形式求出f(x) = 1/(1+e^(-x))

由于sigmoid函数的定义域为(-INF, INF),值域为(0, 1),因此最基本的LR分类器适合对两类目标进行分类。

所以Logistic回归最关键的问题就是研究如何求得w0,w1, …, wn这组权值。这个问题是用极大似然估计来做的。

二、logistic回归模型

考虑具有n个独立变量的向量x = (x1,x2, …, xn),设条件慨率P(y=1|x) = p为根据观测量相对于某事件x发生的概率。那么Logistic回归模型可以表示为

这里

称为Logistic函数。其中g(x) =w0+w1x1+w2x2+…+wnxn。

那么在x条件下y不发生的概率为

所以事件发生与不发生的概率之比为

这个比值称为事件的发生比(the oddsof experiencing an event),简记为odds。

对odds取对数得到

可以看出Logistic回归都是围绕一个Logistic函数来展开的。接下来就讲如何用极大似然估计求分类器的参数。

假设有m个观测样本,观测值分别为y1,y2, …, ym,设pi = P(yi=1|xi)为给定条件下得到yi=1的概率,同样地,yi=0的概率为P(yi=0|xi) = 1-p,所以得到一个观测值的概率为P(yi) = pi^(yi)*(1-p)^(1-yi)。

因为各个观测样本之间相互独立,那么它们的联合分布为各边缘分布的乘积。得到似然函数为

然后我们的目标是求出使这一似然函数的值最大的参数估计,最大似然估计就是求出参数w0, w1, …, wn,使得L(w)取得最大值,对函数L(w)取对数得到

继续对这n+1个wi分别求偏导,得到n+1个方程,比如现在对参数wk求偏导,由于

所以得到

这样的方程一共有n+1个,所以现在的问题转化为解这n+1个方程形成的方程组。

上述方程比较复杂,一般方法似乎不能解之,所以我们引用了牛顿-拉菲森迭代方法求解。

利用牛顿迭代求多元函数的最值问题以后再讲。

简单牛顿迭代法:http://zh.m.wikipedia.org/wiki/%E7%89%9B%E9%A1%BF%E6%B3%95

实际上在上述似然函数求最大值时,可以用梯度上升算法,一直迭代下去。梯度上升算法和牛顿迭代相比,收敛速度慢,因为梯度上升算法是一阶收敛,而牛顿迭代属于二阶收敛。

三、总结

Logistic是用来分类的,是一种线性分类器,需要注意的地方有:

  1. logistic函数表达式(sigmoid函数):

其导数形式为:

2. logsitc回归方法主要是用最大似然估计来学习的,所以单个样本的后验概率为:

  得到整个样本的后验概率:

其中:

 通过对数进一步化简为:

 3. 其实它的loss function为-l(θ),因此我们需使loss function最小,可采用梯度下降法得到。梯度下降法公式为:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

四、要点

1. 二值型输出(0、1),也被看做是一种概率估计,是一种线性分类器。基本函数(线性回归)z = w0+ w1x1 + w2x2 + … + wnxn,求出z值后带入sigmoid函数判断01值分类。

2. 在每个特征上都乘上一个回归系数,然后把所有结果相加,将此总和带入sigmoid函数,进而得到一个范围为0~1之间的数值,再用二值映射判定0或1.

3.分类:(sigmoid函数输出)

大于0.5:结果为1

小于0.5:结果为0

4.关键:回归系数的求解  →→  
梯度上升法、随机梯度上升法(在线算法)

(采用最优化算法)

5.处理缺失数据:依实际情况而定

核心:

1.是一种线性分类器,sigmoid函数表达式h(x) = 1/(1+e^(-x)) →求回归系数x(最大似然估计)

2.回归系数求解是用最大似然估计来学习的,由单个样本后验概率p(y|xjo)求得整个样本后验概率L(o) = ∏(…),然后对L(o)进行对数化简得到l(o) = logL(o) = ∑(…)

3.其他loss function为 -I(o),因此需使lossfunction最小。可采用梯度下降法得到,梯度下降法公式:L(o)对o求偏导……

优点:

1.实现简单;

2.分类时计算量很小,速度很快,存储资源低

缺点:

1.容易欠拟合,准确度不高

2.只能处理二分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分。

数据类型:数值型、标称型

【机器学习】分类算法——Logistic回归的更多相关文章

  1. 机器学习算法-logistic回归算法

    Logistic回归算法调试 一.算法原理 Logistic回归算法是一种优化算法,主要用用于只有两种标签的分类问题.其原理为对一些数据点用一条直线去拟合,对数据集进行划分.从广义上来讲这也是一种多元 ...

  2. 机器学习(4)之Logistic回归

    机器学习(4)之Logistic回归 1. 算法推导 与之前学过的梯度下降等不同,Logistic回归是一类分类问题,而前者是回归问题.回归问题中,尝试预测的变量y是连续的变量,而在分类问题中,y是一 ...

  3. 机器学习之线性回归---logistic回归---softmax回归

    在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分类等问题 ...

  4. 分类,logistic回归

    1. 使用回归进行分类 机器学习中分类是指输入一个样本点,输出这个样本点所属的类别,预测的是一个离散值,如类别(1,2). 而回归问题是输入一个样本点,预测一个值,这个值是连续值,可以介于\([1,2 ...

  5. 机器学习实战之logistic回归分类

    利用logistic回归进行分类的主要思想:根据现有数据对分类边界建立回归公式,并以此进行分类. logistic优缺点: 优点:计算代价不高,易于理解和实现.缺点:容易欠拟合,分类精度可能不高. . ...

  6. 机器学习实践之Logistic回归

        关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2017年12月17日 19:18:31所撰写内容(http://blog.cs ...

  7. 机器学习(1):Logistic回归原理及其实现

    Logistic回归是机器学习中非常经典的一个方法,主要用于解决二分类问题,它是多分类问题softmax的基础,而softmax在深度学习中的网络后端做为常用的分类器,接下来我们将从原理和实现来阐述该 ...

  8. 机器学习实战之Logistic回归

    Logistic回归一.概述 1. Logistic Regression 1.1 线性回归 1.2 Sigmoid函数 1.3 逻辑回归 1.4 LR 与线性回归的区别 2. LR的损失函数 3. ...

  9. 机器学习入门-逻辑(Logistic)回归(1)

    原文地址:http://www.bugingcode.com/machine_learning/ex3.html 关于机器学习的教程确实是太多了,处于这种变革的时代,出去不说点机器学习的东西,都觉得自 ...

随机推荐

  1. go test 下篇

    前言 go test 上篇 给大家介绍了golang自带的测试框架,包括单元测试和性能测试.但是在实际生产中测试经常会遇到一些网络或者依赖的第三方系统接口,运行测试用例的时候希望忽略这些接口的实际依赖 ...

  2. 设计TCP服务器的规则

    设计TCP服务器,采用如下规则: 1.正等待连接请求的一端有一个固定长度的连接队列,该队列中的连接已被TCP接受(完成三次握手),但还没有被应用层接受.注意:TCP接受一个连接是将其放入这个队列,而应 ...

  3. grok表达式

    grok表达式 grok其实就是封装了各种常用的正则表达式,屏蔽了直接写正则的复杂性:通过它可以提取日志内容,按照自己指定的格式输出到kibana. http://udn.yyuap.com/doc/ ...

  4. net上传文件的三种方法

    ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关 ...

  5. 九度OJ 1038:Sum of Factorials(阶乘的和) (DP、递归)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1845 解决:780 题目描述: John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, ...

  6. js为Object对象动态添加属性和值 eval c.k c[k]

    const appendInfo = () => { const API_SECRET_KEY = 'https://github.com/dyq086/wepy-mall/tree/maste ...

  7. 如果数据需要被多个应用程序消费的话,推荐使用 Kafka,如果数据只是面向 Hadoop 的,可以使用 Flume

    https://www.ibm.com/developerworks/cn/opensource/os-cn-kafka/index.html Kafka 与 Flume 很多功能确实是重复的.以下是 ...

  8. pgsql 数据类型

  9. 深入了解Cookie(1)------selenium2进行Cookie操作的前奏

    世界上最宽阔的是海洋,比海洋还宽阔的是天空,比天空还宽阔的是人的心量.做人的心量有多大.人生的成就就有多大. 不为一己之利去争.去斗.去夺,扫除报复之心和妒忌之念.自然"心底无私天地宽&qu ...

  10. mapreduce的一个模版

    import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import j ...