第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以使用哪個 numpy 命令多次減去不同維度的向量?

我可以使用哪個 numpy 命令多次減去不同維度的向量?

守候你守候我 2021-08-14 19:34:54
我必須寫這個函數(shù): 其中 x 是一個維度為 [150,2] 的向量,c 是 [N,2](假設(shè) N=20)。從每個分量 xi (i=1,2) 我必須以這種方式減去 c 的分量 ([x11-c11,x12-c12])...([x11-cN1, x12-cN2]) 對于所有的150 個樣品。我以一種具有相同維度的方式對它們進(jìn)行了轉(zhuǎn)換,并且可以減去它們,但是函數(shù)的結(jié)果應(yīng)該是一個向量。也許我怎么能用 numpy 寫這個?謝謝 好的,讓我們假設(shè) x=(5,2) 和 c=(3,2)這是我獲得的兩個數(shù)組的轉(zhuǎn)換維度。問題是,我必須這樣做,但是使用“for 循環(huán)”迭代,因為 exp 函數(shù)應(yīng)該給我一個向量。所以我必須獲得一種分為 N 塊的矩陣。
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗 獲得超11個贊

根據(jù)我對這個問題的理解,問題似乎在于您計算向量范數(shù)的方式,而不是減法。使用您的示例,但計算exp(-||x-c||),請嘗試:


x = np.linspace(8,17,10).reshape((5,2))

c = np.linspace(1,6,6).reshape((3,2))

sub = np.linalg.norm(x[:,None] - c, axis=-1)

np.exp(-sub)


array([[  5.02000299e-05,   8.49325705e-04,   1.43695961e-02],

       [  2.96711024e-06,   5.02000299e-05,   8.49325705e-04],

        [  1.75373266e-07,   2.96711024e-06,   5.02000299e-05],

        [  1.03655678e-08,   1.75373266e-07,   2.96711024e-06],

        [  6.12664624e-10,   1.03655678e-08,   1.75373266e-07]])


np.exp(-sub).shape

(5, 3)

numpy.linalg.norm 將嘗試在其輸入的所有維度上返回某種矩陣范數(shù),除非您明確告訴它哪個軸代表向量分量。


查看完整回答
反對 回復(fù) 2021-08-14
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊

我明白了,試試這是否給出了預(yù)期的結(jié)果,但仍然存在結(jié)果具有相同形狀的問題x:


import numpy as np


x = np.arange(10).reshape(5,2)

c = np.arange(6).reshape(3,2)


c_col_sum = np.sum(c, axis=0)


for (h,k), value in np.ndenumerate(x):

  x[h,k] = c.shape[0] * x[h,k] - c_col_sum[k]

最初x是:


[[0 1]

 [2 3]

 [4 5]

 [6 7]

 [8 9]]

并且c是:


[[0 1]

 [2 3]

 [4 5]]

之后函數(shù)x變成:


[[-6 -6]

 [ 0  0]

 [ 6  6]

 [12 12]

 [18 18]]


查看完整回答
反對 回復(fù) 2021-08-14
  • 2 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號