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

从线性分类器谈起

        给定一些数据集合,他们分别属于两个不同的类别。例如对于广告数据来说,是典型的二分类问题,一般将被点击的数据称为正样本,没被点击的数据称为负样本。现在我们要找到一个线性分类器,将这些数据分为两类。用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android转流媒体,android 4.4中的流媒体渲染过程

第一次写blog,只是为了记下学习的过程。android中东西很多,架构和流程都很复杂,经常发现以前学习过的很多东西,即使当时看明白没多久就忘记了,只能重新拾起再看。于是想起blog这个东东,写下来总不会忘记&am…

【错误记录】python requests库 Response 判断坑

在requests访问之后, 我直接判断resp的值, 如下: if resp:do something发现当Response 为500的时候没有进入if分支, 检查源码,发现Response重写了__bool__方法, 根据resp.raise_for_status来确定是否为True, 当为500时, 为假, 记录一下转载于:https://ww…

linux Hello World 模块编程

折腾了差不多一个晚上: 1、关于在前面加上TAB,这个是有必要的、 2、Makefile的编写也是有些差异的 3、关于内核的版本可以通过uname -r来查看一下 我

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

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

怎么样批量修改html里的内容,批量修改替换多个Word文档中同一内容的方法

批量修改替换多个Word文档中同一内容的方法群里一位朋友问到,如何一次性批量替换多个word文档中的同一内容。其实,实现多个Word文档的字符进行批量替换的方法有多种。第一种方法,可以利用第三方软件:全能字符串批量替换机。在网上…

织梦建站

这是调用对应文章连接的标签 [field:arcurl/]&#xff0c;例如下面这个调用文章标签里面&#xff0c;就调用了文章的连接&#xff1a; {dede:arclist row 10<a href"[field:arcurl/]">[field:title/]</a>dede:arclist/} 1234{dede:arclist flagh typeid…

linux下的字符设备驱动

Linux字符设备驱动程序的一个简单示例一.开发环境&#xff1a; 主 机&#xff1a;VMWare--Fedora 9 开发板&#xff1a;友善之臂mini2440--256MB Nandflash 编译器&#xff1a;arm-linux-gcc-4.3.2 二.驱动源码&#xff1a; 该源码很浅显易懂&#xff0c;非常适合初学者。 me…

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

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

计算机表示法是知识 表示法么,计算机三级考试关于IP地址知识点

计算机三级考试关于IP地址知识点IP地址是IP协议提供的一种统一的地址格式&#xff0c;它为互联网上的每一个网络和每一台主机分配一个逻辑地址&#xff0c;以此来屏蔽物理地址的差异&#xff0c;同时也是计算机三级考试的重要内容&#xff0c;小编整理了相关知识点&#xff0c;…

VMware 下Linux无法上网 新增支持WIFI方式 无线连接

试过很管用、如果宿主机可以上网、不管是有线还是无线、只在在连接网络那里是.net的方式就可以正常上网的 ADSL-VMware 共享上网 单机环境&#xff0c;ADSL拨号上网&#xff0c;安装VMware后&#xff0c;客户机如何与宿主机共享上网&#xff1f;网友经常问这个问题&#xff0…

Http学习笔记

在 MIME 扩展中会使用一种称为多部分对象集合&#xff08;Multipart&#xff09;的方法&#xff0c;来容纳多份不同类型的数据。包含的对象如下&#xff1a; form-data在 Web 表单文件上传时使用。byteranges状态码 206&#xff08;Partial Content&#xff0c;部分内容&#x…

监督学习与无监督学习

监督学习 用一个例子介绍什么是监督学习把正式的定义放在后面介绍。 假如说你想预测房价。前阵子&#xff0c;一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。你把这些数据画出来&#xff0c;看起来是这个样子&#xff1a; 横轴表示房子的面积&#xff0c;单位是平…

html css配色方案,链接css不同的配色方案问题

为什么导航链接采用正常链接的风格&#xff1f;这是一个基本的导航菜单&#xff1a;Home |Autobelettering |Reclame |Prints |Textiel |Ontwerpen |Aanleveren |Contact这是CSS/* Normal links */a {font-size: 12px;color: #DC342F;}a:link {text-decoration: none;color: #D…

嵌入式linux文件系统

嵌入式linux文件系统 操作系统中最重要的莫过于“进程管理”和“文件系统”两大部分,而linux从一开始就把外部设备当成是“文件”处理。从某种意义来讲,凡是能够产生或接受消息的都是“文件” 以下是几种文件的含义 1、一种特定的文件格式,如FAE32,EXT2,EXT3等; 2、按特定的…

【CodeVS】1023 GPA计算

1023 GPA计算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 小松终于步入了大学的殿堂&#xff0c;带着兴奋和憧憬&#xff0c;他参加了信息科学技术学院的新生大会。会上&#xff0c;院长梅教授给大家介绍了在大学中的成绩计算方式&…

单变量与多变量线性回归(Linear Regression with One Variable)

2.1 线性回归算法模型表示 让我们通过一个例子来开始&#xff1a;这个例子是预测住房价格的&#xff0c;我们要使用一个数据集&#xff0c;数据集包含俄勒冈州波特兰市的住房价格。在这里&#xff0c;我要根据不同房屋尺寸所售出的价格&#xff0c;画出我的数据集。比方说&…

SPI、I2C、UART三种串行总线的原理、区别及应用

SPI协议解析&#xff0c;链接如下 https://blog.csdn.net/weiqifa0/article/details/82765892 I2C协议解析&#xff0c;链接如下 https://blog.csdn.net/weiqifa0/article/details/82765349 串口UART串行总线协议 https://blog.csdn.net/weiqifa0/article/details/8269988…

计算机网络课制作双绞线实验,《计算机网络》课程实验——网线制作.pdf

第1 章 网线的制作和应用第1 章 网线的制作和应用实验1 直连双绞线的制作和应用双绞线一般分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP )两类。如果没有特殊要求&#xff0c;在计算机网络中一般使用非屏蔽双绞线&#xff0c;所以本节主要以非屏蔽双绞线为例进行介绍。1.1.1 实验概述…

Python网络数据采集系列-------概述

这是一个正在准备中的系列文章&#xff0c;主要参考的是《Web Scraping with Python_Collecting Data from the Modern Web-OReilly(2015)》。这是一本关于网络数据采集&#xff08;俗称的爬虫&#xff09;的书&#xff0c;由浅入深&#xff0c;比较适合入门。在学习过程中也肯…

AttributeError: ‘list‘ object has no attribute ‘ndim‘

错误&#xff1a; AttributeError Traceback (most recent call last) <ipython-input-6-9b77ac20aa23> in <module>()1 # Print the images dimensions ----> 2 print(images.ndim)3 4 # Print the number of imagess elements5 p…