《机器学习》从入门到实战——逻辑回归

目录

一、简介

二、逻辑回归的原理

1、线性回归部分

2、逻辑函数(Sigmoid函数)

3、分类决策

 4、转换为概率的形式使用似然函数求解

5、对数似然函数

​编辑

6、转换为梯度下降任务

三、逻辑回归拓展知识

1、数据标准化

(1)、0~1标准化

(2)、Z标准化 

2、 交叉验证

K折交叉验证

3、过拟合、欠拟合

(1)、过拟合

(2)、欠拟合

4、正则化惩罚

5、混淆矩阵

四、总结


一、简介

机器学习中的逻辑回归是一种广泛使用的分类算法,尤其适用于二分类问题(也可以扩展到多分类问题)。它的核心思想是通过线性回归模型预测概率,然后使用逻辑函数(如 Sigmoid 函数)将概率映射到分类标签。

二、逻辑回归的原理

逻辑回归是在线性回归的基础上使得线性函数映射Sigmoid函数上从而达到分类的效果。

1、线性回归部分

 使用线性方程计算输入特征的加权和:

其中:

  • w0,w1,…,wnw0​,w1​,…,wn​ 是模型参数(权重)。

  • x1,x2,…,xnx1​,x2​,…,xn​ 是输入特征。

2、逻辑函数(Sigmoid函数)

将线性回归的结果 zz 映射到 [0, 1] 之间的概率值:

其中:

  • P(y=1∣x)P(y=1∣x) 是样本属于类别 1 的概率。

  • Sigmoid 函数的输出值越接近 1,表示样本属于类别 1 的概率越大。

3、分类决策

根据概率值进行预测:

整合:

 4、转换为概率的形式使用似然函数求解

5、对数似然函数

6、转换为梯度下降任务

求偏导

参数更新

三、逻辑回归拓展知识

1、数据标准化

(1)、0~1标准化

也叫离差标准化,是对原始数据的线性变换,使结果映射到[0,1]区间。

min(x)、max(x)分别代表样本的最小值和最大值。 

(2)、Z标准化 

这种方法基于原始数据的均值(mean)和标准差(stand ard deviation)进行数据的标准化。将A的原始值x使用z- score标准化到x'。

s为样本的标准差 。

2、 交叉验证

K折交叉验证

3、过拟合、欠拟合

(1)、过拟合

  • 定义:模型在训练集上表现很好,但在测试集上表现较差。

  • 原因

    • 模型过于复杂(例如,参数过多)。

    • 训练数据过少或噪声过多。

  • 解决方法

    • 增加训练数据。

    • 降低模型复杂度

    • 减少特征、使用正则化

(2)、欠拟合
  • 定义:模型在训练集和测试集上表现都不好。

  • 原因

    • 模型过于简单(例如,特征不足)。

    • 训练时间不足。

  • 解决方法

    • 增加特征或使用更复杂的模型。

    • 增加训练时间。

4、正则化惩罚

正则化是一种防止过拟合的技术,通过在损失函数中添加惩罚项来限制模型参数的大小。

 损失函数:

 正则化惩罚:

 正则化惩罚种类

5、混淆矩阵

混淆矩阵(Confusion Matrix)是用于评估分类模型性能的一种表格,特别适用于二分类和多分类问题。它展示了模型预测结果与真实标签之间的对比情况,帮助我们直观地分析分类模型的准确性、错误类型等。

对于二分类

  • 真正例 (True Positive, TP):模型正确预测为正类的样本。

  • 假正例 (False Positive, FP):模型错误预测为正类的样本(实际为负类)。

  • 假反例 (False Negative, FN):模型错误预测为负类的样本(实际为正类)。

  • 真反例 (True Negative, TN):模型正确预测为负类的样本。

 计算公式

  • 召回率(Recall)是分类模型评估中的一个重要指标,主要用于衡量模型在识别正类样本(即实际为正类的样本)时的表现。它反映了模型将正类样本正确分类的能力。
  • 特异度(Specificity)是分类模型评估中的一个重要指标,主要用于衡量模型在识别负类样本(即实际为负类的样本)时的表现。它反映了模型将负类样本正确分类的能力。
  • F1 分数(F1 Score)是分类模型评估中的一个重要指标,用于综合衡量模型的精确率(Precision)召回率(Recall)。它是精确率和召回率的调和平均值,旨在平衡两者,特别适用于正负样本分布不均衡的场景。 

四、总结

逻辑回归是一种简单但强大的分类算法,适用于线性可分或近似线性可分的数据。通过标准化、正则化和交叉验证等技术,可以进一步提升其性能。尽管逻辑回归对非线性数据的拟合能力有限,但在许多实际应用中仍然表现出色。 

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

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

相关文章

实践:事件循环

实践:事件循环 代码示例 console.log(1); setTimeout(() > console.log(2), 0); Promise.resolve(3).then(res > console.log(res)); console.log(4);上述的代码的输出结果是什么 1和4肯定优先输出,因为他们会立即方式堆栈的执行上下文中执行&am…

【机器学习】工业 4.0 下机器学习如何驱动智能制造升级

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 随着科技的飞速发展,工业 4.0 浪潮正席卷全球制造业,而机器学习作为这一变革中的关键技术,正以前…

自从学会Git,感觉打开了一扇新大门

“同事让我用 Git 提交代码,我居然直接把项目文件压缩发过去了……”相信很多初学者都经历过类似的窘境。而当你真正掌握 Git 时,才会发现它就像一本魔法书,轻松解决代码管理的种种难题。 为什么 Git 能成为程序员的标配工具?它究…

Mono里运行C#脚本21—mono_image_init_name_cache

前面分析了怎么样加载mscorlib.dll文件,然后把文件数据读取到内存。 接着下来,就会遇到加载整个C#的类型系统,比如System. Object,大体类型如下图所示: 在对CIL编译之前,需要把这些类型全部加载到内存里,以便快捷地访问它们。 mono_image_init_name_cache函数就是完成…

【Triton-ONNX】如何使用 ONNX 模型服务与 Triton 通信执行推理任务上-Triton快速开始

模型部署系列文章 前置-docker 理解:【 0 基础 Docker 极速入门】镜像、容器、常用命令总结前置-http/gRPC 的理解: 【HTTP和gRPC的区别】协议类型/传输效率 /性能等对比【保姆级教程附代码】Pytorch (.pth) 到 TensorRT (.plan) 模型转化全流程【保姆级教程附代码(二)】Pytor…

win32汇编环境,对话框中显示bmp图像文件

;运行效果 ;win32汇编环境,对话框中显示bmp图像文件 ;显示的是一张尺寸267*400的bmp位图,及一张缩小为原来三分之一的位图 ;将代码复制进radasm软件里,直接编译就可以运行了 ;下面为asm文件 ;>>>>>>>>>>>>>>&…

GAN对抗生成网络(二)——算法及Python实现

1 算法步骤 上一篇提到的GAN的最优化问题是,本文记录如何求解这一问题。 首先为了表示方便,记,这里让最大的可视作常量。 第一步,给定初始的,使用梯度上升找到 ,最大化。关于梯度下降,可以参考笔者另一篇…

多线程访问FFmpegFrameGrabber.start方法阻塞问题

一、背景 项目集成网络摄像头实现直播功能需要用到ffmpeg处理rtmp视频流进行web端播放 通过网上资源找到大神的springboot项目实现了rtmp视频流转为http请求进行视频中转功能,其底层利用javacv的FFmpegFrameGrabber进行拉流、推流,进而实现了视频中转。 …

X86、X64、64位、32位归纳总结

梳理一下位数区别和命名规范。 操作系统的位数决定了内存寻址空间的大小 X86_32的简称是X86。32位,最多只能识别4GB的内存。 X86_64的简称是X64。64位,最多能识别数十TB内存。 由于历史发展原因,形成了这样的简称,简称很关键。…

redis的学习(二)

4 哈希表 哈希类型中的映射关系通常称为field-value,⽤于区分Redis整体的键值对(key-value), 注意这⾥的value是指field对应的值,不是键(key)对应的值, 4.1 操作命令 hset&#xff…

前端编码技巧与规范

当我们完成项目的构建,进入开发阶段的时候,除了你需要了解框架本身的知识点外,我们还需要提前掌握一些项目的编码技巧与规范,在根源上解决之后因编码缺陷而导致的项目维护困难、性能下降等常见问题,为项目多人开发提供…

谷歌广告关键词出价根据什么来判断?

投放广告的目的是为了盈利,而关键字的出价直接关系到广告费用的支出。因此,设定出价上限时,不仅要参考关键字规划师的建议,还需结合广告的盈利表现来合理判断。 可以在谷歌广告账户的后台查看“平均每次点击费用”和“每次点击的…

《我在技术交流群算命》(二):QGraphicsItem怎么写自定义信号啊(QObject多继承顺序问题)

某位群友突然无征兆的抛出以下问题: QGraphicsItem怎么写自定义信号啊 看到这个问题的时候我是比较疑惑的,按鄙人对 Qt 的了解,自定义信号只需: 继承QObject类中加入Q_OBJECT宏声明一个信号并使用 但该群友毕竟也不是一个Qt新手&#xff0…

filebeat采集应用程序日志和多行匹配

1 filebeat采集nginx json日志 01 修改nginx的日志为json格式 elk93节点安装nginx,注释掉默认的nginx日志格式:# access_log /var/log/nginx/access.log;,在下方增加以下配置。然后重启nginx log_format wzy_nginx_json {"timestamp&…

大语言模型提示技巧(二)-给模型时间思考

在与大语言模型交互的时候,如果模型给出了错误的结论,不要着急否定大模型的能力,我们应当尝试重新构建查询,请求模型在提供它的最终答案之前进行一系列相关的推理。也就是说,如果给模型一个在短时间或用少量文字无法完…

深入剖析MySQL数据库架构:核心组件、存储引擎与优化策略(一)

sql语句分为两大类:查询(select)、增删改----修改(update) select语句的执行流程 执行sql语句的流程:连接数据库、缓存查询、解析器、优化器、执行器、存储引擎操作数据 客户端:图形界面工具…

【AimRT】现代机器人通信中间件 AimRT

目录 一、什么是AimRT二、AimRT与ROS22.1 定位与设计2.2 组成与通信方式对比 三、AimRT基本概念3.1 Node、Pkg 和 Module3.2 Protocol、Channel、Rpc 和 Filter3.3 App模式 和 Pkg模式3.4 Executor3.5 Plugin 一、什么是AimRT AimRT 是智元机器人公司自主研发的一款机器人通信…

SSM-Spring-AOP

目录 1 AOP实现步骤(以前打印当前系统的时间为例) 2 AOP工作流程 3 AOP核心概念 4 AOP配置管理 4-1 AOP切入点表达式 4-1-1 语法格式 4-1-2 通配符 4-2 AOP通知类型 五种通知类型 AOP通知获取数据 获取参数 获取返回值 获取异常 总结 5 …

idea( 2022.3.2)打包报错总结

一 报错 class lombok.javac.apt.LombokProcessor (in unnamed module 0x4fe64d23) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing …

攻防靶场(29):目录权限和文件权限 ICMP

目录 1. 侦查 1.1 收集目标网络信息:IP地址 1.2 主动扫描:扫描IP地址段 1.3 搜索目标网站 2. 初始访问 2.1 利用面向公众的应用 3. 权限提升 3.1 有效账户:本地账户 3.2 滥用特权控制机制:Sudo和Sudo缓存 靶场下载地址&#xff1a…