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

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

Numpy dot 返回不同的值

Numpy dot 返回不同的值

牛魔王的故事 2022-10-25 14:59:15
Numpy dot 在標(biāo)準(zhǔn)化后返回不同的值。我有兩個函數(shù)應(yīng)該返回相同的值。import numpy as npfrom sklearn.preprocessing import normalizedef foo1(x, y):    with np.errstate(invalid='ignore'):        x_norm = np.nan_to_num(x / (np.linalg.norm(x, axis=0)))    z = np.dot(x_norm, y / np.linalg.norm(y))    print(z)def foo2(x, y):    x_norm = normalize(x, axis=0)    z = np.dot(x_norm, normalize(y))    print(z)最小的可重現(xiàn)示例x = np.array([[1, 2, 3],              [4, 5, 6]])y = np.array([[1], [2], [3]])foo1(x, y)foo2(x, y)輸出[[0.62190562] [1.47271032]][[1.0611399 ] [2.79304638]]預(yù)期的第一個值。
查看完整描述

1 回答

?
慕桂英546537

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

y因此,您的問題是由3x1 矩陣這一事實引起的。當(dāng)您調(diào)用normalize時,它會在第二個軸 ( axis=1) 上進(jìn)行歸一化,它會分別對每個值進(jìn)行歸一化。所以

normalize(y) -> array([[1.], [1.], [1.]])

當(dāng)你想要的時候

normalize(y, axis=0) -> array([[0.26726124], [0.53452248], [0.80178373]])

進(jìn)行此更改,您的兩個函數(shù)都將返回相同的值[[0.62190562] [1.47271032]]


查看完整回答
反對 回復(fù) 2022-10-25
  • 1 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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