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,一经查实,立即删除!

相关文章

linux Hello World 模块编程

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

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

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

linux下的字符设备驱动

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

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

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

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

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

监督学习与无监督学习

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

【CodeVS】1023 GPA计算

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

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

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

查看linux IO地址范围

端口统一编址原理是把IO控制器中的端口地址归入存储器寻址空间范围内,因此这种编址方式也成为存储器映像编址。CPU访问一个端口的操作与访问内存的操作一样,也使用访问内存的指令。 在linux下可以查看设置的IO地址范围

命令行import torch正常,但pycharm中显示“No module named torch”解决方法

pytorch第一步配置环境测试运行就遇到了如题目所述问题,问题如图: 步骤一 首先检查环境导入是否有问题,工具栏file–settings–project–project interpreter,在这里添加配置好的conda环境,注意添加时要选中对应的con…

机械厂html5手机模板,营销型机械消费设备企业通用织梦模板(带html5手机端) v1.0...

营销型机械消费设备企业通用织梦模板简介营销型机械消费设备企业通用织梦模板(带html5手机端)v1.0是一个自适应手机端和PC端的最新版织梦V5.7为内核的网站模板,软件兼容主流浏览器,模板包含安装说明,并包含测试数据。dedecms最新版内核开发&a…

Tensorboard --logdir=logs 无法显示图像的处理办法

Tensorboard --logdirlogs 无法显示图像的处理办法 问题描述: 解决方案:【要和工程目录对应!写全日志地址】 tensorboard --logdir"torch learning\logs" #注意要是双引号,而且路径不能单单是logs,还要包括…

C# 多种方式发送邮件(附帮助类)

因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用~ QQ邮箱发送邮件 #region 发送邮箱try{MailMessage mail new MailMessage();MailAddress from new MailAddress("发件…

安霸SPI 剖析

最近在搞单片机和A5S的SPI通信 1、A5S是跑的是ITRON的系统、有自己相关的SPI API函数2、单片机这边也是可以熟悉了,发送,接收什么的,我都可以自模拟出来3、但是问题是,A5S上面的API函数的工作是如何的,我一直没怎么弄清…

linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植

LED 驱动程序移植 编者;对于led的驱动程序,很多文章都有详细的介绍,我的博客里面有一篇专门详解这个的。需要看的,可以找下。led灯的驱动其实就代表了I/O口的驱动。在linux系统下,操作一个I/O口,可以说实在…

单变量批量梯度下降算法与单变量随机梯度下降算法

2.3 代价函数的直观理解I 让我们通过一些例子来获取一些直观的感受,看看代价函数到底是在干什么。 2.4 代价函数的直观理解II 代价函数的样子类似于等高线图,则可以看出在三维空间中存在一个J(θ0,θ1)使得最小的点。 通过这些图形,我希望你…

一台计算机连入计算机网络后通过该计算机,一台计算机连入计算机网络后,该计算机( )。...

摘要:计算机连当碰撞已不可避免时,船舶应根据良好船艺的要求采取最有效的行动以减小碰撞的损失,下列说法正确的是()。①应避免两船首相撞;②应避免一船船首撞入他船机舱附近或船中;③应尽量使两船相撞前相对速度达到最大;④应尽量使两船相撞前相对速度达到最小。算机…

反向传播+代码实现

ywx的反向传播代码实现 import torch x_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0]#w是Tensor(张量类型),Tensor中包含data和grad,data和grad也是Tensor。 # grad初始为None,调用l.backward()方法后w.grad为Tensor, # 故更…

计算机网络阅读报告,计算机网络实验二报告

计算机网络实验二报告 (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分计算机网络实验报告课程_ 计算机网络 _ 实验名称 TCP/IP协议分析与验证 姓 名 实 验 日 期&#xff…

使用Pytorch处理多维特征的输入

下图这个预测一个人在一年之后得糖尿病的概率的例子,这个时候我们的输入将会有很多的指标。你可以把它看成是我们体检的各种值。最后一排的外代表了他是否会得糖尿病。 那么多维的特征输入应该怎么办呢?我们就需要把每一个特征x付以相应的权重。在进行逻…