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 函数
在这个函数中,如果输入数字为零,则输出数字为 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 中的一个例子来展示这个函数的性能。
在第一个数据 (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 的输入的对数函数的输出。
四、后记
我分两部分解释了逻辑回归的理论,在下一部分机器学习系列: 逻辑回归(第 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…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...