Numpy隨機數生成:rand與randn的零基礎教程

Numpy是Python科學計算核心庫,`np.random`子模塊提供隨機數生成功能,`rand`和`randn`爲常用函數,隨機數爲僞隨機數,固定種子可復現。 `np.random.rand(d0,…dn)`生成**[0,1)均勻分佈**隨機數,參數指定數組形狀(如1維、2維等),所有元素值在[0,1)間,適用於等概率取值場景(如初始化權重)。 `np.random.randn(d0,…dn)`生成**標準正態分佈**(均值0、標準差1)隨機數,元素集中在-1~1間,極端值概率低,需調整均值/標準差可通過公式`μ+σ*randn`實現,常用於模擬自然數據波動(如噪聲)。 兩者均接受形狀參數,前者均勻分佈,後者正態分佈,可通過`np.random.seed(seed)`固定種子復現結果。

閱讀全文
Numpy廣播機制:讓數組運算更簡單的核心技巧

Numpy廣播機制解決不同形狀數組的元素級運算問題,通過自動擴展小數組形狀以匹配大數組合並維度,避免手動reshape,節省內存且高效。核心規則:從右到左匹配維度,每個維度大小需爲1或相等,小數組會被廣播至與大數組合並形狀。例如標量(如10)可廣播到任意形狀數組;一維數組(如[10,20,30])與2×3二維數組廣播時,一維數組重複爲2行。三維數組(2×2×2)與二維數組(2×2)廣播時,二維數組擴展爲2×2×2。若維度不兼容(如2×2與1×3)則報錯。應用場景包括元素級操作(如數組加常數)、矩陣標準化等,避免循環,簡化代碼。掌握廣播可大幅提升Numpy數組運算效率與可讀性。

閱讀全文