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

二项逻辑回归模型

既然logistic回归把结果压缩到连续的区间(0,1),而不是离散的0或者1,然后我们可以取定一个阈值,通常以0.5为阈值,如果计算出来的概率大于0.5,则将结果归为一类(1),如果计算出来的概率小于0.5,则将结果归为另一类(0),用分段函数写出来便是

这样逻辑回归就可以用来进行2分类了,假设数据结构如下

其中m表示样本个数,n表示影响因数的个数,yi(i=0,1,⋯ ,m)取0或者1。现在我们结合数据,利用条件概率分布模型给出基于概率的二项logistic模型如下:

其中,X表示自变量,y表示因变量所属的类别,θ为模型待求的参数,模型解释为在特定的因素下,模型结果取1的概率和取0的概率。模型建好了,接下来就需要进行机器训练,而怎么来给训练一种恰当反馈呢?答案是损失函数,通过损失函数来评估模型学习的好坏和改进机制。

损失函数

机器学习或者统计机器学习常见的损失函数如下:

1.0-1损失函数(0-1 loss function)

2.平方损失函数(quadratic loss function)


3.绝对值损失函数(absolute oss function)

4.对数损失函数(logarithmic loss function)或对数似然损失函数(log - like hood loss function)

逻辑回归中,采用的则是对数损失函数。如果损失函数越小,表示模型越好

说说对数损失函数与平方损失函数

        在逻辑回归的推导中,我们假设样本是服从伯努利分布(0-1分布)的,然后求得满足该分布的似然函数,最终求该似然函数的极大值。整体的思想就是求极大似然函数的思想。而取对数,只是为了方便我们的在求MLE(Maximum Likelihood Estimation)过程中采取的一种数学手段而已。

        由前面阈值的取定原则,我们知道相当于我们用一个类别值代替概率值,而类别值是sigmoid函数的两个最值,概率不可能时时刻刻都取到最值,这势必会造成误差,我们把这种误差称为损失,为了给出损失函数表达式,我们假设模型第i个样本所求的概率值为Pi,而真实类别值可能是0或者1。

当类别真实值是1的情况下:
        所求的概率值pi越小,越接近0,被划为类别0的可能性越大,被划为类别1的可能性越小,导致的损失越大。
        所求的概率值pi越大,越接近1,被划为类别1的可能性越大,被划为类别0的可能性越小,导致的损失越小。我们用下面的函数来描述这种变化关系

其中pi∈(0,1),其图像大致如下

当类别真实值是0的情况下:
        所求的概率值pi越大,越接近1,其结果的类别判定更偏向于1,导致的损失越大。
        所求的概率值pi越小,越接近0,其结果的类别判断更偏向于0,导致的损失越小。我们用下面的函数来描述这种变化关系

其中pi∈(0,1),其图像大致如下

------------------------ ---------- ---------- 分割线内容,hθ等于Pi --------------------------------

根据上面的内容,我们可以得到逻辑回归的对数似然损失函数cost function:

当y=1时,假定这个样本为正类:
        ①如果此时预测的概率hθ(x)=1 ,则单对这个样本而言的cost=0,表示这个样本的预测完全准确。那如果所有样本都预测准确,则总损失total_cost=0
        ②如果此时预测的概率hθ(x)=0,那么单对这个样本而言的cost→∞。也就是说预测y=1的概率为0,那么此时就要对损失函数加一个很大的惩罚项。

当y=0时,推理过程跟上述完全一致,不再累赘。

将以上两个表达式合并为一个,则单个样本的损失函数可以描述为:

 

梯度下降的原理

由上述可知在单个样本中,其损失函数为:

现在问题就转化为一个无约束优化问题,即我们找出最小的θ,使得costfunction达到最小。而在无约束优化问题中,最重要最基本的方法莫过于梯度下降了。

梯度下降的过程:

现在就要把两种情况结合起来并且绘制成全样本的损失函数,就不需要分真实值是1还是0两种情况讨论,求出其期望值,做成一个交叉熵(cross entropy)的全体样本的损失函数如下:

        因为yi只有两种取值情况1或0,分别令y=1或y=0,即可得到原来的分段表示式。

        其中yi表示第i个样本的真实值,pi或者hθ(x)是根据模型计算出来的概率值。

        当yi=1时,costi=−log(pi),yi=0时,costi=−log(1−pi),这符合前面两种情况。

假设现在有m个样本,总体的损失函数为

 上式即为二项逻辑回归的损失函数,是一个关于参数θ和X的二元函数,也叫对数似然函数,现在问题转化为以对数似然函数为目标函数的最优化问题,其中θ为模型待求的参数,为了求参数θ,可以对目标函数求偏导数,记

对L(X∣θ)求关于θ的偏导,主要是里面对数函数关于θ的偏导数求解

--------------------------------------------------------分割线内容中hθ等于Pi-------------------------------------

logistic回归模型的应用

        既然logistic回归主要用来二分类,用logistic回归模型二分类的场景,用logistic回归模型预测某件事情的发生概率,我们常见的logistic回归模型的应用场景有

(1)根据申请人的提供的资料,预测其违约的可能性大小,进而决定是否给其贷款。

(2)根据购买记录预测用户下一次是否会购买某件商品。

(3)舆论平台做情感分类器。如根据某网友对某些特定主题的历史评论数据,预测其下次对某类型的主题是否会给出正面的评论。

(4)在医疗领域,根据病人症状,预测其肿瘤是良性的还是恶性的。

(5)根据CT,流行病学,旅行史,检测试剂结果等特点预测某位疑似病人是否真感染新型冠状病毒。

(6)在精准营销领域,预测某个产品的收益。

logistic回归模型的评价

        从logistic回归的数学原理,在阈值取定的时候一刀切的做法上面,我们能够根据logistic回归的这些特点给出模型优缺点评价

优点:

1、原理简单,模型清晰,操作高效,背后的概率的推导过程经得住推敲,在研究中,通常以Logistic回归模型作为基准,再尝试使用更复杂的算法,可以在大数据场景中使用。

2、使用online learning的方式更新轻松更新参数,不需要重新训练整个模型

3、基于概率建模,输出值落在0到1之间,并且有概率意义

4、求出来的参数θi代表每个特征对输出的影响,可解释性强

5、解决过拟合的方法很多,如L1、L2正则化,L2正则化就可以解决多重共线性问题

缺点:

1、对数据依赖性强,需要做特征工程,主要用来解决线性可分问题

2、Logistic回归模型本质上是一个线性的分类器,处理不好特征之间相关的情况,对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转,正好变负号。

3、logit变换过程是非线性的,在两端随着变化率微乎其微,而中间的变化很大,很敏感。导致很多区间的变量变化对目标概率的影响没有区分度,很难确定阀值。

4、当特征空间很大时,性能不好

5、容易欠拟合,精度不高

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

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/469851.shtml

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

相关文章

怎么样批量修改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…

驱动程序操作IO口API函数

驱动程序总会操作一些CPU的IO口下面列一些常用函数 int check_region(unsigned int from,unsigned int extent); 这个函数查看系统的I/O表,看是否有别的驱动程序占用某一段的I/o口 参数1:端口基地址 参数2:端口占用范围 返回:0为没有占用 非0 为已经有驱动占用 void re…

网络教育计算机 判断,北京师范大学网络教育计算机作业1、4、8

计算机11.自计算机问世至今已经经历了4个时代&#xff0c;划分时代的主要依据是计算机的__D__。A规模 B功能 C性能 D构成元件2.世界上第一台电子数字计算机采用的逻辑元件是__D__。A大规模集成电路 B集成电路 C晶体管 D电子管3.早期的计算机体积大、耗能高、速度慢&#xff0c;…

ImportError: DLL load failed while importing _ssl: 找不到指定的模块。

解决方案一&#xff08;自己的方法&#xff09;&#xff1a; 找到Anaconda3\pkgs\python-3.8.12-h900ac77_2_cpython\DLLs下的_ssl.pyd文件&#xff0c;查阅在该环境上安装的python版本号&#xff0c;下载python寻找对应的_ssl.pyd覆盖到上述目录中&#xff0c;即可解决问题。解…

Python核心编程-细节

直接从六张开始看看书里有什么。 cmp()  len()  max() and min()  sorted() and reversed()  enumerate() and zip()  sum()  list() and tuple()  dir()方法来得到它所有的方法和属性    extend() and append() extend()接受一个列表的内容&#xff0c;然…