百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

人工智能中常用的L1和L2范数是什么?如何实现它?

ztj100 2024-11-03 16:15 11 浏览 0 评论

专栏推荐



正文

L1范式

就是将向量中所有元素的绝对值相加求和

以上是对a、b、c三个向量求L1范式,都是8

L2范式

L2是所有元素平方和然后再开根号


还可以在向量的指定维度求范式,需要知道的是,在向量的哪个维度取范式,那么求出来的范式的维度就是原始向量消掉所取维度后的向量维度。

B的shape为(2,4)

对b在1维度上求范式,那么也就是b的维度为消掉原始b在1维度上的4,那么它的维度就是(2)

最大值man、最小值min、均值mean,累乘prod,求和sum,最大值索引argmax

求最小值索引argmin

如果argmax和argmin没有参数,那么它会求将一个向量拉伸开,也就是拉成dim=0之后求下标

如果要是想让向量不伸展开,那么我们可以再指定维度上求最大最小的索引

a. argmin(dim=0)这个表示再dim=0的维度上求最小值得索引

如图所示,求dim=1维度上的最大值,因为a得维度为(4,5)所以求最大值之后dim为1了,keepdim=True的意思就是说要保持维度,如上所示求最大值之后的dim仍为2

取最大或者最小的几个值

a.topk(2,dim=1)表示求a在dim=1维度上最大的两个值

b. topk(1,dim=1)表示求a在dim=1维度上最大的一个值

如果要是想要求最小的几个值可以

a.topk(2,dim=1,largest=False)

直接求第几个(从1开始)最小的值

如果不keepdim,那么输出的维度为[4]

比较>,>=,<,<=,!=,==会对向量的每个元素进行判断比较

Torch.equal(a,b)等价于torch.equal(a,b)

会对a,b向量的每一个维度进行比较,相等则返回1,不等返回0

tensor的操作

x = torch.randn(4, 3,1)

print(x)

max_value, max_idx = torch.max(x, dim=2)#我们约定0为第一维度,1为第二维度,2为第三维度

#print(max_value)

sum_x = torch.sum(x, dim=2)

print(sum_x)

归并操作此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作

以上大多数函数都有一个参数dim,用来指定这些操作是在哪个维度上执行的。关于dim(对应于Numpy中的axis)的解释众说纷纭,这里提供一个简单的记忆方式:

假设输入的形状是(m, n, k)

· 如果指定dim=0,输出的形状就是(1, n, k)或者(n, k)

· 如果指定dim=1,输出的形状就是(m, 1, k)或者(m, k)

· 如果指定dim=2,输出的形状就是(m, n, 1)或者(m, n)

size中是否有"1",取决于参数keepdim,keepdim=True会保留维度1。注意,以上只是经验总结,并非所有函数都符合这种形状变化方式,如cumsum。

逐元素比较操作

· t.max(tensor):返回tensor中最大的一个数

· t.max(tensor,dim):指定维上最大的数,返回tensor和下标

· t.max(tensor1, tensor2): 比较两个tensor相比较大的元素

相关推荐

Whoosh,纯python编写轻量级搜索工具

引言在许多应用程序中,搜索功能是至关重要的。Whoosh是一个纯Python编写的轻量级搜索引擎库,可以帮助我们快速构建搜索功能。无论是在网站、博客还是本地应用程序中,Whoosh都能提供高效的全文搜...

如何用Python实现二分搜索算法(python二分法查找代码)

如何用Python实现二分搜索算法二分搜索(BinarySearch)是一种高效的查找算法,适用于在有序数组中快速定位目标值。其核心思想是通过不断缩小搜索范围,每次将问题规模减半,时间复杂度为(O...

路径扫描 -- dirsearch(路径查找器怎么使用)

外表干净是尊重别人,内心干净是尊重自己,干净,在今天这个时代,应该是一种极高的赞美和珍贵。。。----网易云热评一、软件介绍Dirsearch是一种命令行工具,可以强制获取web服务器中的目录和文件...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。...

从零开始学习 Python!2《进阶知识》 Python进阶之路

欢迎来到Python学习的进阶篇章!如果你说已经掌握了基础语法,那么这篇就是你开启高手之路的大门。我们将一起探讨面向对象编程...

白帽黑客如何通过dirsearch脚本工具扫描和收集网站敏感文件

一、背景介绍...

Python之txt数据预定替换word预定义定位标记生成word报告(四)

续接Python之txt数据预定替换word预定义定位标记生成word报告(一)https://mp.toutiao.com/profile_v4/graphic/preview?pgc_id=748...

假期苦短,我用Python!这有个自动回复拜年信息的小程序

...

Python——字符串和正则表达式中的反斜杠(&#39;\&#39;)问题详解

在本篇文章里小编给大家整理的是关于Python字符串和正则表达式中的反斜杠('\')问题以及相关知识点,有需要的朋友们可以学习下。在Python普通字符串中在Python中,我们用'\'来转义某些普通...

Python re模块:正则表达式综合指南

Python...

Python中re模块详解(rem python)

在《...

python之re模块(python re模块sub)

re模块一.re模块的介绍1.什么是正则表达式"定义:正则表达式是一种对字符和特殊字符操作的一种逻辑公式,从特定的字符中,用正则表达字符来过滤的逻辑。(也是一种文本模式;)2、正则表达式可以帮助我们...

MySQL、PostgreSQL、SQL Server 数据库导入导出实操全解

在数字化时代,数据是关键资产,数据库的导入导出操作则是连接数据与应用场景的桥梁。以下是常见数据库导入导出的实用方法及代码,包含更多细节和特殊情况处理,助你应对各种实际场景。一、MySQL数据库...

Zabbix监控系统系列之六:监控 mysql

zabbix监控mysql1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,如何处理报警等。要进行监控的系统规划需要对Zabbix很了解,这里只是...

mysql系列之一文详解Navicat工具的使用(二)

本章内容是系列内容的第二部分,主要介绍Navicat工具的使用。若查看第一部分请见:...

取消回复欢迎 发表评论: