亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

協方差矩陣使用 np.matmul(data.T, data)

協方差矩陣使用 np.matmul(data.T, data)

aluckdog 2021-10-26 11:00:22
這是我在網上找到的代碼d0 = pd.read_csv('./mnist_train.csv')labels = d0.label.head(15000)data = d0.drop('label').head(15000)from sklearn.preprocessing import StandardScalerstandardized_data = StandardScaler().fit_transform(data)#find the co-variance matrix which is : (A^T * A)/nsample_data = standardized_data# matrix multiplication using numpycovar_matrix = np.matmul(sample_data.T , sample_data) / len(sample_data)相同數據相乘如何得到np.matmul(sample_data.T, sample_data)協方差矩陣?根據我在網上找到的本教程,協方差矩陣是什么?最后一步是我不明白的。
查看完整描述

2 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

對于數學或統計堆棧交換來說,這可能是一個更好的問題,但我現在會在這里回答。

這來自協方差的定義。維基百科頁面(鏈接)提供了很多細節,但協方差被定義為(在偽代碼中)

cov = E[dot((x - E[x]), (x - E[x]).T)]

對于列向量,但在您的情況下,您可能有行向量,這就是為什么點積中的第一個元素被轉置,而不是第二個元素的原因。所述E[...]裝置預期值,這對于高斯分布的數據的平均值。當您執行 時StandardScaler().fit_transform(data),您基本上是在減去數據的平均值,所以這就是為什么您沒有在點積中明確這樣做的原因。

請注意,這StandardScaler()也除以方差,因此它將所有內容歸一化為單位方差。這會影響你的協方差!因此,如果您需要未經歸一化的數據的實際協方差,只需使用類似np.cov()numpy 模塊的東西來計算它。


查看完整回答
反對 回復 2021-10-26
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

讓我們一步一步地構建協方差矩陣,首先讓我們定義方差。

一些隨機變量 X 的方差衡量分布中的值相對于均值的平均變化程度。

現在我們必須定義協方差。協方差是兩個隨機變量聯合概率的度量。它描述了兩個變量如何一起變化。

所以現在你可以理解協方差矩陣是一個矩陣,它顯示了每個特征如何隨著其他特征的變化而變化。這可以計算為?

在那里你可以看到你對底部形成的等式感到困惑。如果您有任何進一步的疑問,請發表評論。


查看完整回答
反對 回復 2021-10-26
  • 2 回答
  • 0 關注
  • 286 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號