从线性分类器谈起

给定一些数据集合,他们分别属于两个不同的类别。例如对于广告数据来说,是典型的二分类问题,一般将被点击的数据称为正样本,没被点击的数据称为负样本。现在我们要找到一个线性分类器,将这些数据分为两类。用X表示样本数据,Y表示样本类别(例如1与-1,或者1与0)。我们线性分类器的目的,就是找到一个超平面将两类样本分开。对于这个超平面,可以用以下式子描述:

对于logistic回归,有:

其中x为样本,x=[x1,x2,⋯,xn]为n维向量,函g为我们常说的logistic函数g的更一般公式为:

为什么要用Logistic函数

分类器中最简单的自然是线性分类器,线性分类器中,最简单的应该就属于感知器了。在上个世纪五六十年代,感知器就出现了:

感知器的思想,就是对所有特征与权重做点积(内积),然后根据与阈值做大小比较,将样本分为两类。稍微了解一点神经网络的同学,对一下这幅图一定不陌生,这幅图描述的就是一个感知器。

感知器相当于控制原理中的阶跃函数:

这两者的本质都是一致的,即通过划定一个阈值,然后比较样本与阈值的大小来分类。

这个模型简单直观,实现起来也比较容易。但是问题在于,这个模型不够光滑。第一,假设t0=10,现在有一个样本进来,最后计算出来的值为10.01,你说这个样本分类应该是为1还是0呢?第二,这个函数在t0这点有个阶跃,有从0到1的突变,导致这点不连续,在数学上处理起来也不方便。

因此使用logistic函数对比前面的感知器或者阶跃函数,通过logistic函数的图像,我们很容易总结出他的以下优点:
        1.logistic函数的输入范围是−∞→+∞,而之于刚好为(0,1),正好满足概率分布为(0,1)的要求。我们用概率去描述分类器,自然比单纯的某个阈值要方便很多;
        2.logistic函数是一个单调上升的函数,具有良好的连续性,不存在不连续点。

有监督学习

机器学习分为有监督学习,无监督学习,半监督学习,强化学习。对于逻辑回归来说,就是一种典型的有监督学习。既然是有监督学习,训练集自然可以用如下方式表述:

对于这m个训练样本,每个样本本身有n维特征。再加上一个偏置项x0 ,则每个样本包含n+1维特征:

其中x∈Rn+1,x0=1y∈{0,1}

李航博士在统计学习方法一书中给分类问题做了如下定义:
        分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出的预测,称为分类(classification).

为什么要使用logistic函数:

其中一个重要的原因,就是要将Hypothesis(NG课程里的说法)的输出映射到0与1之间,既:

统计学习方法都是由模型,策略,和算法构成的,即统计学习方法由三要素构成,可以简单表示为:
        方法=模型+策略+算法方法=模型+策略+算法
        方法=模型+策略+算法

对于logistic回归来说,模型自然就是logistic回归,策略最常用的方法是用一个损失/代价函数来度量预测错误程度,算法则是求解过程。

logistic回归模型

逻辑回归(Logistic Regression)是机器学习中最常见的一种用于二分类的算法模型,由于其数学原理简单易懂,作用高效,其实际应用非常广泛。虽然带回归二字,实则是分类模型,下面从logit变换开始。

logit变换

我们在研究某一结果y与一系列因素(x1,x2,⋯ ,xn)之间的关系的时候,最直白的想法是建立因变量和自变量的多元线性关系

其中(θ0,θ1,θ2,⋯ ,θn)为模型的参数,如果因变量是数值型的话,可以解释成某某因素xi变化了多少导致结果y发生了多少变化,如果因变量y是用来刻画某特定结果发生的概率(0~1)呢?这时候因素xi变化导致结果y的变化恐怕微乎其微,有时候甚至忽略不计。于是,我们需要让不显著的线性关系变得显著,使得模型能够很好解释随因素的变化,结果也会发生较显著的变化,这时候,人们想到了logit变换,下图是对数函数图像

从对数函数的图像来看,其在(0,1)之间的因变量的变化是很迅速的,也就是说自变量的微小变化会导致因变量的巨大变化,这就符合了之前想要的效果。于是,对因变量进行对数变换,右边依然保持线性关系,有下面式子

虽然上式解决了因变量随自变量变化的敏感性问题,同时也约束了y的取值范围为(0,+∞)。我们知道概率是用来描述某件事发生的可能性,事件发生与不发生有对立性,结果可以走向必然发生(概率为1),也可以走向必然不发生(概率为0),因此概率的取值范围为(0,1),而等式左边y的取值范围是(0,+∞),所以需要进一步压缩,又引进了几率。

几率

几率(odd)是指事件发生的概率与不发生的概率之比,假设事件A发生的概率为p,不发生的概率为1−p,那么事件A的几率为

几率恰好反应了某一事件两个对立面,具有很好的对称性,下面我们再来看一下概率和几率的关系

首先,我们看到概率从0.01不断增大到0.99,几率也从0.01随之不断变大到99,两者具有很好的正相关系,我们再对p向两端取极限有

于是,几率的取值范围就在(0,+∞),这符合我们之前的因变量取值范围的假设。

logistic模型

正因为概率和几率有如此密切对等关系,于是想能不能用几率来代替概率刻画结果发生的可能性大小,这样既能满足结果对特定因素的敏感性,又能满足对称性,便有了下面式子

现在,我们稍微改一改,让等式左边对数变成自然对数ln=loge,等式右边改成向量乘积形式,便有

其中θ=(1,θ1,θ2,⋯ ,θn),X=(1,x1,x2,⋯ ,xn)T,解得

其中e是自然常数,保留5位小数是2.71828。这就是我们常见的logistic模型表达式,作出其函数图像如下

我们看到logistic/sigmoid函数图像是一条S型曲线,以(0,0.5)为对称中心,随着自变量x不断增大,其函数值不断增大接近1,随自变量x不断减小,其函数值不断降低接近0,函数的取值范围在(0,1)之间,且函数曲线在中心位置变化速度最快,在两端的变化速率较慢。

从上面的操作,我们可以看到逻辑回归模型从最初的线性回归模型基础上对因变量进行logit变换,使得因变量对自变量显著,同时约束因变量取值范围为0到正无穷大,然后用概率表示几率,最后求出概率关于自变量的表达式,把线性回归的结果压缩在(0,1)范围内,这样最后计算出的结果是一个0到1之间的概率值,表示某事件发生的可能性大小,可以做概率建模,这也是为什么逻辑回归叫逻辑回归,而不叫逻辑分类。

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

连载。。。。

logistic模型原理与推导过程分析(1)_LiBiGor的博客-CSDN博客
https://blog.csdn.net/qq_39237205/article/details/121031296

logistic模型原理与推导过程分析(2)_LiBiGor的博客-CSDN博客
https://blog.csdn.net/qq_39237205/article/details/121031899

logistic模型原理与推导过程分析(2)_LiBiGor的博客-CSDN博客
https://blog.csdn.net/qq_39237205/article/details/121031899

logistic模型原理与推导过程分析(1)相关推荐

  1. logistic模型原理与推导过程分析(3)

    附录:迭代公式向量化 θ相关的迭代公式为: ​ 如果按照此公式操作的话,每计算一个θ需要循环m次.为此,我们需要将迭代公式进行向量化. 首先我们将样本矩阵表示如下: 将要求的θ也表示成矩阵的形式: 将 ...

  2. logistic模型原理与推导过程分析(2)

    二项逻辑回归模型 既然logistic回归把结果压缩到连续的区间(0,1),而不是离散的0或者1,然后我们可以取定一个阈值,通常以0.5为阈值,如果计算出来的概率大于0.5,则将结果归为一类(1),如 ...

  3. NVDIMM编程模型原理大概推导梳理

    NVDIMM编程模型原理大概推导梳理2021 1 NVDIMM 简介 NVDIMM(Non-Volatile DIMM) 非易失性DIMM(Dual In-line Memory Module,双列直 ...

  4. 【数学建模】MATLAB从入门到精通:Logistic模型原理及应用案例(附MATLAB代码)

    前言 1844或1845年,比利时数学家Pierre François Verhulst提出了logistic方程,这是一个对S型曲线进行数学描述的模型.一百多年来,这个方程多次应用于一些特殊的领域建 ...

  5. 线性回归模型原理及推导

    https://www.toutiao.com/a6665460843691377160/ 今天我们来看一个最常见的机器学习模型--线性回归(linear regression)模型.先举个例子让你明 ...

  6. R语言应用实战-基于R浅谈SEIR传染病模型以以及马尔萨斯,logistic模型(推导过程和源代码)

    前言 关于传染病SEIR模型,接下来我们分为以下几块内容讨论:一传染病的数学模型原理,二.R语言代码实现,三.常见错误以及相关其他模型的讨论(马尔萨斯模型和logistic模型). 以下是我为大家准备 ...

  7. 从朴素贝叶斯的角度推导logistic模型

    从朴素贝叶斯的角度推导logistic模型 文章结构预览 1.朴素贝叶斯算法的理解 2.logistic模型简介 3.从朴素贝叶斯的角度解释为什么logistic模型的sigmoid函数可以表示概率 ...

  8. 【分类算法】Logistic算法原理、标准评分卡开发流程、python代码案例

    [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/sunyaowu315/article/details/ ...

  9. logit回归模型的参数估计过程_评分卡模型原理及应用

    关注新蜂数字金融,ID:gh_c5ca7eb11df4 这是新蜂数字金融的第145篇原创首发文章 信用评分卡模型,作为金融业一项重要的风险控制手段,在行业中有着广泛的应用.只有对模型进行科学认知,理解 ...

最新文章

  1. 大数据计算引擎发展的四个阶段
  2. 使用TCP的简单C/S程序
  3. 浏览器中的WebSocket(ws://127.0.0.1:9988);
  4. 国防科大JAVA工程师笔试题_国防科大人工智能考博题答案
  5. MySQL数据库技术与应用:数据查询
  6. 关于高速光耦6N137的使用总结
  7. hibernate的注解属性mappedBy详解
  8. windows 10 微软拼音输入法设置
  9. 计算机英语中bar是什么意思啊,bar是什么意思
  10. html mako
  11. 【读书笔记】AMBA 2 AHB、AMBA 3 AHB(AHB_Lite)和AMBA 5 AHB协议比较
  12. Jave中IO的详细总结
  13. Go语言之禅 | Gopher Daily (2021.05.06) ʕ◔ϖ◔ʔ
  14. ngrok服务器搭建和4种客户端使用方法
  15. OSChina 周一乱弹 ——个子不高就找不到女友了么?
  16. 二进制 补码 反码 原码
  17. 百度2016年软件测试开发工程师面经
  18. 怎么提高深度睡眠质量?(最大限度利用好睡眠时间)
  19. 起底人脸信息倒卖产业链:一次丢失,终身危险
  20. 直角三角形 射影定理 欧几里德定理

热门文章

  1. 真格量化-隐含波动率购买
  2. (转)告别程序员生涯,一点感慨,与诸君共勉
  3. java内存区域及静态常量池、运行时常量池介绍
  4. JAVA HASHMAP 用法
  5. java swingworker_Java中的SwingWorker
  6. 数据分析之pandas笔记
  7. 【自动化测试】整理各种测试开发工具!持续更新
  8. 大数据集群搭建之节点的网络配置过程(二)
  9. 农用地包括哪些地类_土地地类一览表
  10. 喇叭正反相位测试音频_FIR滤波器能给音频扩声带来怎样的帮助?