当前位置: 首页 > news >正文

ML 系列:【13 】— Logistic 回归(第 2 部分)

文章目录

  • 一、说明
  • 二、挤压方法
  • 三、Logistic 回归中的损失函数
  • 四、后记

一、说明


在这篇文章中,我们将深入研究 squashing 方法,这是有符号距离方法(第 12节)的一种很有前途的替代方案。squashing 方法通过提供增强的对异常值的弹性来解决有符号距离方法的缺点,从而提高 Logistic 回归模型的整体性能和准确性。

在整个讨论中,我们将对 shushing 方法进行概述,详细介绍其基本原理并说明其相对于有符号距离方法的优势。通过了解这种替代方法的复杂性,我们的目标是为从业者提供一个有价值的工具,以有效处理异常值并增强 Logistic 回归模型的稳健性。

二、挤压方法

这种方法不是使用简单的有符号距离,而是如果提到的距离很小,我们就按原样使用它,如果有符号距离是一个很大的数字,我们就减少该值。所以,我们需要一个函数,当输入值较小时线性增加,当输入值较大时,它减少输出值,这个函数将输入从负无穷大映射到 0 到 1 之间的无穷大,对于这种行为,它被称为“挤压”。其中一个函数是 sigmoid 函数。Sigmoid 是一个实数、有界且可微分的函数,可以针对所有实数值进行定义,并且具有正导数。从图形上看,此函数类似于英语中的字母“S”和希腊语中的 sigma “Ϭ”,在某些来源中,它也称为 sigma 函数。sigmoid 函数也称为 logistic 函数,该函数是这样的,如果 x 的值趋向于正无穷大,则预测值或 y 是接近 1 的数字,如果趋向于负无穷大,则预测值或 y 是接近零的数字。可以是 sigmoid 函数显示在表达式 1 中。

sigmoid 函数的表达式 1:
在这里插入图片描述
图 1 显示了 sigmoid 函数
在这里插入图片描述

图 1 显示了 sigmoid 函数。

在这个函数中,如果输入数字为零,则输出数字为 0.5,可以假设如果输出大于 0.5,则结果为 1 类 (y_i = +1),如果小于 0.5,则将其归类为负类 (y_i = -1)。

我们在上一节(第 12 天)之前想要最大化的优化问题:
在这里插入图片描述
应该更改此表达式,以便我们通过 sigmoid 函数 “Ϭ” 传递有符号区间值,并显示使用 sigmoid 函数的 Logistic 回归算法:
在这里插入图片描述
Logistic 回归的目标是最大化上述表达式。

三、Logistic 回归中的损失函数

双类分类中使用的函数之一是 “Binary Cross Entropy” 函数。此函数将每个预测概率与相应类或标签的实际输出(可以是 0 或 1)进行比较,然后计算一个分数,该分数根据与预期值的距离对概率进行惩罚。这意味着它与每个类的 label 值的接近或距离。

下面的方程式以分段函数的形式显示了此函数:
在这里插入图片描述
此外,上述函数也可以使用以下公式编写,如下面的等式所示:

“二进制交叉熵”函数的方程如下:
在这里插入图片描述
在上面的等式中,p_i 指的是算法的概率输出值,我们通常用 y-hat 表示,但在这个例子中,需要强调的是,这个值是带有 p_i 的概率输出,它是从第一个字母“Probability”派生出来的,y_i也指每个类的标签或实际输出,当该值等于数字 1 (y_i = 1) 时,只有执行第一个短语,第二个短语变为零,同样,当此值等于零 (y_i = 0) 时,仅执行第二个短语,第一个短语的值变为零,n 引用数据数。从上面的语句中可以看出,算法的输出值是通过对数函数传递的,因此,它在某些来源中也被称为 “Log Loss”。

我们用表 1 中的一个例子来展示这个函数的性能。
在这里插入图片描述

表 1.如何计算 “Binary Cross Entropy” 损失函数的示例

在第一个数据 (x_1) 中,实际输出值或标签为 1,算法的预测值为 0.95 且接近 1,此数据的误差值为 0.022。现在,如果我们关注第二行,这个数据的实际输出值是 1,但是预测值是 0.6,不出所料,这个数据的生产误差比第一行高,因为算法的发生率较小,或者换句话说,它与第一行相比有一个远的鼻子, 同样,如果我们看属于零类的第三和第四个数据,第三个数据的误差值低于第四个数据的误差,因为 0.15 的预测比第四个数据中预测的数字 0.55 更接近零类。

注意:让我们看看为什么我们应该在损失函数中使用负对数函数 (-log (p_i)),原因是算法产生的可能输出 (p_i) 介于 0 和 1 之间,并且我们知道 0 和 1 之间的数字的对数是负数, 因此,使用负系数 1 来避免产生负误差。

图 4 显示了从 0 到 5 的输入的对数函数的输出。
在这里插入图片描述

图 4.区间 0 到 5 的对数函数

四、后记

我分两部分解释了逻辑回归的理论,在下一部分机器学习系列: 逻辑回归(第 3 部分 — 实施)中,我想深入研究使用 Python 代码进行逻辑回归的简单实现。

相关文章:

ML 系列:【13 】— Logistic 回归(第 2 部分)

文章目录 一、说明二、挤压方法三、Logistic 回归中的损失函数四、后记 一、说明 ​ 在这篇文章中,我们将深入研究 squashing 方法,这是有符号距离方法(第 12节)的一种很有前途的替代方案。squashing 方法通过提供增强的对异常值…...

45岁被裁员的程序员,何去何从?

在当今快速变化的技术行业,职业生涯的稳定性受到挑战。在45岁被裁员,对很多程序员来说,可能是一种惊慌失措的体验。然而,这个阶段也可以被视为一个重新审视和调整方向的机会。本文将对可能的出路进行全方位的分析,并提…...

云计算Openstack Neutron

OpenStack Neutron是OpenStack云计算平台中的网络服务组件,它为OpenStack提供了强大的网络连接功能。 一、基本概念 Neutron是一个网络服务项目,旨在为OpenStack提供网络连接。它允许用户创建和管理虚拟网络,包括子网、路由、安全组等&…...

PointNet++网络详解

数据集转换 数据集转换的意义在于将原本的 txt 点云文件转换为更方便运算的npy点云文件,同时,将原本的xyzrgb这 6 个维度转换为xyzrgbc,最后一个c维度代表该点云所属的类别。 for anno_path in anno_paths:print(anno_path)try:elements a…...

Java | Leetcode Java题解之第459题重复的子字符串

题目: 题解: class Solution {public boolean repeatedSubstringPattern(String s) {return kmp(s s, s);}public boolean kmp(String query, String pattern) {int n query.length();int m pattern.length();int[] fail new int[m];Arrays.fill(fa…...

【动态规划-最长公共子序列(LCS)】【hard】力扣1092. 最短公共超序列

给你两个字符串 str1 和 str2,返回同时以 str1 和 str2 作为 子序列 的最短字符串。如果答案不止一个,则可以返回满足条件的 任意一个 答案。 如果从字符串 t 中删除一些字符(也可能不删除),可以得到字符串 s &#x…...

‌图片编辑为底片,智能工具助力,创作精彩视觉作品

在当今数字化时代,图像编辑已成为表达创意和美化视觉作品的重要手段。借助智能工具,即使是初学者也能轻松驾驭图片编辑。接下为大家展示图片编辑为底片图片的效果。 1.打开“首助编辑高手”,选择这里“图片批量处理”版块页面上 2.导入保存有…...

机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+

时间序列在回归预测的领域的重要性,不言而喻,在数学建模中使用及其频繁,但是你真的了解ARIMA、AR、MA么?ACF图你会看么?? 时间序列数据如何构造???,我打过不少…...

回溯算法之值子集和问题详细解读(附带Java代码解读)

子集和问题(Subset Sum Problem) 是一个经典的组合优化问题。问题可以这样描述: 给定一个整数集合和一个目标整数 target,我们需要从集合中选出若干个整数,使它们的和等于 target。如果这样的子集存在,返回…...

mysql游标的使用

说明: 虽然我们也可以通过筛选条件 WHERE 和 HAVING,或者是限定返回记录的关键字 LIMIT 返回一条记录,但是,却无法在结果集中像指针一样,向前定位一条记录、向后定位一条记录,或者是 随意定位到某一条记录 …...

linux udev详解

1.概念介绍 1.1sysfs文件系统 Linux 2.6以后的内核引入了sysfs文件系统,sysfs被看成是与proc、devfs和devpty同类别的文件系统,该文件系统是一个虚拟的文件系统,它可以产生一个包括所有系统硬件的层级视图,与提供进程和状态信息…...

EventSource和websocket该用哪种技术

EventSource(也称为Server-Sent Events, SSE)和WebSocket都是实现实时通信的技术,但是它们的设计目的和使用场景有所不同。在选择使用哪种技术时,需要根据具体的应用需求来决定。下面是一些关键点,可以帮助你做出选择&…...

通信工程学习:什么是三网融合

三网融合 三网融合,又称“三网合一”,是指电信网、广播电视网、互联网在高层业务应用上的深度融合。这一概念在近年来随着信息技术的快速发展而逐渐受到重视,并成为推动信息化社会建设的重要力量。以下是对三网融合的详细解释: 一…...

自定义类型结构体(上)

目录 结构体类型的声明结构体的概念结构体的声明特殊的声明结构的自引用 结构体变量的创建和初始化结构成员访问操作符 结构体类型的声明 结构体的概念 结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 举个例子:杰克的英语只考了6…...

b站-湖科大教书匠】4 网络层 - 计算机网络微课堂

【b站-湖科大教书匠】4 网络层 - 计算机网络微课堂_湖科大的计算机网络网课-CSDN博客...

国际 Android WPS Office v18.13 解锁版

WPS Office 移动版,设计不断优化,性能再次提升!融入Google Android最新设计标准,Material Design设计风格,完美支持沉浸式!简化文档操作,全新移动办公力作。全新界面更清晰舒适,功能…...

【中间件学习】Git的命令和企业级开发

一、Git命令 1.1 创建Git本地仓库 仓库是进行版本控制的一个文件目录。我们要想对文件进行版本控制,就必须创建出一个仓库出来。创建一个Git本地仓库对应的命令是 git init ,注意命令要在文件目录下执行。 hrxlavm-1lzqn7w2w6:~/gitcode$ pwd /home/hr…...

FTP连接池与多线程FTP上传下载算法(Java)

设计一个能够处理FTP连接池在多线程环境下,尤其是涉及到故障重连时避免竞争条件的算法,需要综合考虑线程同步、连接状态管理和重试机制。以下是一个设计思路和实现方案: 设计思路 连接池管理: 维护一个连接池,其中包含多个FTP连接对象。每个FTP连接对象需有状态标记(如…...

Spring Cloud微服务详解

Spring Cloud微服务详解 在当今的数字化时代,微服务架构已成为构建大型、复杂应用系统的主流方式。Spring Cloud,作为微服务领域的一颗璀璨明星,以其强大的功能和灵活的架构,吸引了无数开发者的目光。本文将深入探讨Spring Cloud…...

QT学习笔记1.2(QT的应用)

QT原生用于c的开发, 主要应用于电脑、桌面手机桌面软件的开发,主要是widget样式模板。 Qt Widgets、Qt Quick 和 Qt for Python 是 Qt 框架中的三种不同的技术,分别用于不同的应用场景。以下是它们的详细介绍和对比: 1. Qt Widg…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

Python如何给视频添加音频和字幕

在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...