当前位置: 首页 > 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…...

数学建模算法与应用 第1章 线性规划

第1章 线性规划 线性规划是数学规划领域的重要分支,广泛应用于资源配置、生产计划、物流管理等领域。它主要用于解决如何在满足一定约束条件下,使目标函数(如成本、利润等)达到最大或最小的问题。第一章将介绍线性规划的基本概念…...

使用 systemd 设置 PHP 程序为服务

使用 systemd 设置 PHP 程序为服务 在现代 Linux 系统中,systemd 是用于管理和控制服务的标准工具。通过 systemd,我们可以轻松地将 PHP 程序配置为后台运行的系统服务,从而实现自动化启动、重启和日志记录等功能。本文将介绍如何为 PHP 程序…...

HRNET模型实现钢板表面缺陷检测

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色…...

28 基于51单片机的两路电压检测(ADC0808)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,通过ADC0808获取两路电压,通过LCD1602显示 二、硬件资源 基于KEIL5编写C代码,PROTEUS8.15进行仿真,全部资源在页尾,提供…...

SpringBootTest Mockito 虚实结合编写测试

SpringBootTest & Mockito 虚实结合测试 起因 单一使用mockito,会出现很多mock困难的问题,导致测试编写过程太长,太恶心 单一使用springboottest,会遇到需要外部接口的地方,这个时候就非得去真实调用才行。也很恶…...

国内外网络安全政策动态(2024年9月)

国内网络安全政策动态 ▶︎ 1.三项智能网联汽车强制性国家标准正式发布 9月4日,工业和信息化部组织制定的GB 44495—2024《汽车整车信息安全技术要求》、GB 44496—2024《汽车软件升级通用技术要求》和GB 44497—2024《智能网联汽车 自动驾驶数据记录系统》三项强制…...

使用Android studio进行Unit Test中遇到的问题记录

1、模块本身代码运行不起来 提示: Cannot resolve method ‘getVolumes’ in ‘StorageManager’ Cannot resolve method ‘registerListener’ in ‘StorageManager’ Cannot resolve method ‘unregisterListener’ in ‘StorageManager’ 查看Android 源码&…...

智能运维与问题诊断工具:提升生产环境的安全稳定性

引言 在当今复杂的IT环境中,确保生产系统的安全稳定运行是一项巨大挑战。随着技术的进步,智能运维和问题诊断工具应运而生,为IT团队提供了强大的支持。本文将介绍一系列先进的工具,这些工具利用人工智能、机器学习和自动化技术,帮助组织提高系统可靠性、加速问题解决、优…...

【MAUI】CommunityToolkit社区工具包介绍

一、为什么需要声明式开发 .NET的MVVM,始于WPF,很古典,它甚至可能是现代前端框架“声明式开发”的鼻祖。声明式开发,之所以出现,是因为命令式开发在UI层和代码层上无法解耦的问题。如下图所示: 1、命令式开发:后台代码需要调用UI层的控件(label.Text),如果更新UI层…...

【答疑解惑】图文深入详解undo和redo的区别及其底层逻辑

题记:最近有些人问我,undo和redo到底是什么关系,他们中不乏已经入行3-4年的同学,今天咱们就来深入探讨下到底什么是undo和redo,他们分别做什么,底层逻辑原理是什么等等。 1. undo 1.1 undo的存储结构 Un…...