tft每日頭條

 > 生活

 > 人工智能算法分哪兩類

人工智能算法分哪兩類

生活 更新时间:2025-05-22 17:28:43
專欄推薦正文

L1範式

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

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)1

以上是對a、b、c三個向量求L1範式,都是8

L2範式

L2是所有元素平方和然後再開根号

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)2

還可以在向量的指定維度求範式,需要知道的是,在向量的哪個維度取範式,那麼求出來的範式的維度就是原始向量消掉所取維度後的向量維度。

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)3

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的維度上求最小值得索引

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)4

如圖所示,求dim=1維度上的最大值,因為a得維度為(4,5)所以求最大值之後dim為1了,keepdim=True的意思就是說要保持維度,如上所示求最大值之後的dim仍為2

取最大或者最小的幾個值

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)5

a.topk(2,dim=1)表示求a在dim=1維度上最大的兩個值

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

如果要是想要求最小的幾個值可以

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

直接求第幾個(從1開始)最小的值

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)6

如果不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)

歸并操作此類操作會使輸出形狀小于輸入形狀,并可以沿着某一維度進行指定操作

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)7

以上大多數函數都有一個參數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。

逐元素比較操作

人工智能算法分哪兩類(人工智能中常用的L1和L2範數是什麼)8

· t.max(tensor):返回tensor中最大的一個數

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

· t.max(tensor1, tensor2): 比較兩個tensor相比較大的元素

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved