机器学习基础之《回归与聚类算法(4)—逻辑回归与二分类(分类算法)》

news2025/2/26 4:18:26

一、什么是逻辑回归

1、逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广泛

2、叫回归,但是它是一个分类算法

二、逻辑回归的应用场景

1、应用场景
广告点击率:预测是否会被点击
是否为垃圾邮件
是否患病
金融诈骗:是否为金融诈骗
虚假账号:是否为虚假账号

均为二元问题

2、看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器
会有一个正例,和一个反例

三、逻辑回归的原理

1、逻辑回归的输入
线性回归的输出,就是逻辑回归的输入

逻辑回归的输入就是一个线性回归的结果

2、怎么用输入来分类
要进行下一步处理,带入到sigmoid函数当中,我们把它叫做激活函数

3、sigmoid函数

可以理解为,f(x)=1/(1+e^(-x)),1加上e的负x次方分之1

sigmoid函数又称S型函数,它是一种非线性函数,可以将任意实数值映射到0-1之间的值,通常用于分类问题。它的表达式为:f(x)=1/(1+e^(-x)),其中e为自然对数的底数。它的输出值均位于0~1之间,当x趋向正无穷时,f(x)趋向1;当x趋向负无穷时,f(x)趋向0

4、分析
将线性回归的输出结果,代入到x的部分
输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值
逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。(方便损失计算)

5、假设函数/线性模型
1/(1 + e^(-(w1x1 + w2x2 + w3x3 + ... + wnxn +b)))
如何得出权重和偏置,使得这个模型可以准确的进行分类预测呢?

6、损失函数(真实值和预测值之间的差距)
我们可以用求线性回归的模型参数的方法,来构建一个损失函数

线性回归的损失函数:(y_predict - y_true)平方和/总数,它是一个值
而逻辑回归的真实值和预测值,是否属于某个类别
所以就不能用均方误差和最小二乘法来构建
要使用对数似然损失

7、优化损失(正规方程和梯度下降)
用一种优化方法,将损失函数取得最小值,所对应的权重值就是我们求的模型参数

四、对数似然损失

1、公式
逻辑回归的损失,称之为对数似然损失

(1)它是一个分段函数
(2)如果y=1,真实值是1,属于这个类别,损失就是 -log(y的预测值)
(3)如果y=0,真实值是0,不属于这个类别,损失就是 -log(1-y的预测值)

2、怎么理解单个的式子呢?这个要根据log的函数图像来理解
当y=1时:(横坐标是y的预测值)

前提真实值是1,如果预测值越接近于1,则损失越接近0。如果预测值越接近于0,则损失越大

当y=0时:(横坐标是y的预测值)

前提真实值是0,如果预测值越接近1,则损失越大

3、综合完整损失函数

损失函数:-(y真实*logy预测+(1-y真实)*log(1-y预测)),求和

是线性回归的输出,经过sigmoid函数映射之后的一个概率值

4、计算样例

五、优化损失

同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率

六、逻辑回归API

1、sklearn.linear_model.LogisticRegression(solver='liblinear', penalty='l2', C=1.0)
solver:优化求解方式(默认开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数)
    auto:根据数据集自动选择,随机平均梯度下降
penalty:正则化的种类
C:正则化力度

2、LogisticRegression方法相当于SGDClassifier(loss="log", penalty=" ")
SGDClassifier是一个分类器
SGDClassifier实现了一个普通的随机梯度下降学习,也支持平均随机梯度下降法(ASGD),可以通过设置average=True
而使用LogisticRegression它的优化器已经可以使用SAG

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

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

相关文章

【FPGA零基础学习之旅#15】串口接收模块设计与验证(工业环境)

🎉欢迎来到FPGA专栏~串口接收模块设计与验证(工业环境) ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如…

【ArcGIS微课1000例】0075:将AutoCAD(Dwg、Dxf)文件转换为shp、KML(kml、kmz)文件

文章目录 1. 加载DWG2. 导出为shp3. 投影变换4. 转为kml1. 加载DWG 打开ArcMap,点击添加符号: 选择地形图dwg数据,全选图层,也可以选择需要的图层。 提示位置的空间参考,点击确定即可。 加载效果。 2. 导出为shp 接下来我们演示将面状数据转为shp,选择Polygon图层,右键…

SD卡与NAND flash的差异

SD卡与普通的NAND Flash相比,具有以下优势和劣势: 优势: 可移动性:SD卡是一种可移动存储介质,可以轻松插入和拔出支持SD卡接口的设备,如相机、手机、笔记本电脑等。这使得SD卡成为方便携带和共享数据的理想…

maven构建拉依赖Malformed \uxxxx encoding

文章目录 简介踩坑原因解决方法一(不推荐)方法二(推荐)其他疑问简介 我在 mac 端本地拉项目下来,第一次点击 import pom 来产生第一次 build,发现能够拉依赖下来,在左侧也能看到依赖(jdk1.8 下的) 但是当我第二次 import pom 时候发现左侧依赖全消失了,而且提示错误…

Filebeat+Kafka+ELK日志分析架构

目录 一、zookeeper: 1. zookeeper 定义: 2. Zookeeper 工作机制: 3. Zookeeper 特点: 4. Zookeeper 数据结构: 5. Zookeeper 应用场景: 5.1 统一命名服务: 5.2 统一配置管理: 5.3 统一集群管理: 5.4 服务器动态上下线: 5.5 软负载均衡: 6. Zookeeper 选…

TCP/IP(二十一)TCP 实战抓包分析(五)TCP 第三次握手 ACK 丢包

一 实验三:TCP 第三次握手 ACK 丢包 第三次握手丢失了,会发生什么? 注意: ACK 报文是不会有重传的,当 ACK 丢失了,就由对方重传对应的报文 ① 实验环境 ② 模拟方式 1、 服务端配置防火墙iptables -t filter -I INPUT -s 172.25.2.157 -p tcp --tcp-flag ACK…

模拟面试

‍ 一、成功案例 “面试官说我的回答精准打击到他们的规划点”—— 为何能有这样得效果呢?除了常规的模拟面试流程,我还能提供一些—— 二、核心差异化价值 1、模拟面试前,我的用心准备 根据职位JD、公司/部门信息,我会梳理出面试…

攻防世界web篇-PHP2

直接点击进入到http网页中,会得到这样一个界面 这里,我最开始使用了burp什么包也没有抓到,然后接着又用nikto进行探测,得到的只有两个目录,当时两个目录打开后,一个是fond界面,一个是这个网页的…

Vue3响应式原理初探

vue3响应式原理初探 为什么要使用proxy取代defineProperty使用proxy如何完成依赖收集呢? 为什么要使用proxy取代defineProperty 原因1:defineproperty无法检测到原本不存在的属性。打个🌰 new Vue({data(){return {name:wxs,age:25}}})在vue…

MSQL系列(五) Mysql实战-索引最左侧匹配原则分析及实战

Mysql实战-索引最左侧匹配原则分析及实战 前面我们讲解了索引的存储结构,BTree的索引结构,以及索引最左侧匹配原则,Explain的用法,今天我们来实战一下 最左侧匹配原则 1.联合索引最左侧匹配原则 联合索引有一个最左侧匹配原则 …

一文了解什么是数字孪生

数字孪生,作为数字化时代的新兴技术,正日益引领着未来的发展方向。它并非一种独立的工具或软件,而是一种理念,一种将实体与虚拟世界紧密结合的方法。本文将详细介绍数字孪生的本质、应用领域以及对未来的影响。 数字孪生的本质 …

Redis:Feed流之Timeline的实现

当我们关注了用户后,这个用户发了动态,那么我们应该把这些数据推送给用户,这个需求,其实我们又把他叫做Feed流,关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的体验,通过无限下…

多测师肖sir_高级金牌讲师___python之模块openpyxl

python之模块openpyxl 一、用python读写excel的强大工具:openpyxl (一)下载openpyxl的方式 方式一:python -m pip install openpyxl 或 pip install openpyxl 方式二:在pycharm中安装 (二)…

《优化接口设计的思路》系列:第五篇—接口发生异常如何统一处理

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 本文参考项目源码地址:summo-springboot-interface-demo 前言 大家好!…

VScode运行SVN拉下来的项目

安装依赖包 pnpm install 启动程序 查看package.json文件中的serve,根据这个启动 pnpm dev 在浏览器使用http://localhost:8848/访问

论文阅读:Point-to-Voxel Knowledge Distillation for LiDAR Semantic Segmentation

来源:CVPR 2022 链接:https://arxiv.org/pdf/2206.02099.pdf 0、Abstract 本文解决了将知识从大型教师模型提取到小型学生网络以进行 LiDAR 语义分割的问题。由于点云的固有挑战,即稀疏性、随机性和密度变化,直接采用以前的蒸馏…

【算法设计与分析】第6章02 分支限界法

目录 分支限界法的设计技术 分支限界法:  约束条件  剪枝  分支限界法的设计步骤 思考题: 【例6-6】装载问题。  计算模型 【例6-7】背包  问题分析  问题分析 计算模型  计算模型  算法设计与描述 代码: 思…

文件打包下载excel导出和word导出

0.文件下载接口 请求 GET /pm/prj/menu/whsj/download/{affixId} 文件affixId多个id以逗号隔开。多个文件会以打包得形式。 1.Excel导出 1.0接口 POST 127.0.0.1:8400/pm/io/exportExcel/year-plan-table-workflow/report 参数 [{"org":"011","re…

C#快速排序算法

快速排序实现原理 快速排序(Quick Sort)是一种常用的排序算法,它基于分治的思想,通过将一个无序的序列分割成两个子序列,并递归地对子序列进行排序,最终完成整个序列的排序。 其基本思路如下: 选…

056:mapboxGL中layer的layout,paint,filter的属性值表达式说明总结

第056个 点击查看专栏目录 本篇文章是mapbox的layer中layout,paint,filter的表达式说明总结。 mapbox中 Expressions 是什么 Expressions:表达式集合(并非 style 的属性,只是 layer 的任何 layout布局属性和 paint绘制属性,以及 filter 属性等,它们的值都可以指定成一…