日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

2.15 Python 中的广播-深度学习-Stanford吴恩达教授

發布時間:2025/4/5 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.15 Python 中的广播-深度学习-Stanford吴恩达教授 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

←上一篇↓↑下一篇→
2.14 向量化 Logistic 回歸的梯度輸出回到目錄2.16 關于 Python Numpy 向量的說明

Python 中的廣播 (Broadcasting in Python)

這是一個不同食物(每100g)中不同營養成分的卡路里含量表格,表格為3行4列,列表示不同的食物種類,從左至右依次為蘋果,牛肉,雞蛋,土豆。行表示不同的營養成分,從上到下依次為碳水化合物,蛋白質,脂肪。

那么,我們現在想要計算不同食物中不同營養成分中的卡路里百分比。

現在計算蘋果中的碳水化合物卡路里百分比含量,首先計算蘋果(100g)中三種營養成分卡路里總和56+1.2+1.8 = 59,然后用56/59 = 94.9%算出結果。

可以看出蘋果中的卡路里大部分來自于碳水化合物,而牛肉則不同。

對于其他食物,計算方法類似。首先,按列求和,計算每種食物中(100g)三種營養成分總和,然后分別用不用營養成分的卡路里數量除以總和,計算百分比。

那么,能否不使用for循環完成這樣的一個計算過程呢?

假設上圖的表格是一個4行3列的矩陣 AAA ,記為 A3?4A_{3*4}A3?4? ,接下來我們要使用Pythonnumpy庫完成這樣的計算。我們打算使用兩行代碼完成,第一行代碼對每一列進行求和,第二行代碼分別計算每種食物每種營養成分的百分比。

jupyter notebook中輸入如下代碼,按shift+Enter運行,輸出如下。

下面使用如下代碼計算每列的和,可以看到輸出是每種食物(100g)的卡路里總和。

其中sum的參數axis=0表示求和運算按列執行,之后會詳細解釋。

接下來計算百分比,這條指令將 3?43*43?4 的矩陣 AAA 除以一個 1?41*41?4 的矩陣,得到了一個 3?43*43?4 的結果矩陣,這個結果矩陣就是我們要求的百分比含量。

下面再來解釋一下A.sum(axis = 0)中的參數axis。axis用來指明將要進行的運算是沿著哪個軸執行,在numpy中,0軸是垂直的,也就是列,而1軸是水平的,也就是行。

而第二個A/cal.reshape(1,4)指令則調用了numpy中的廣播機制。這里使用 3?43*43?4 的矩陣 AAA 除以 1?41*41?4 的矩陣 calcalcal 。技術上來講,其實并不需要再將矩陣 calcalcal reshape(重塑)成 1?41*41?4 ,因為矩陣 calcalcal 本身已經是 1?41*41?4 了。但是當我們寫代碼時不確定矩陣維度的時候,通常會對矩陣進行重塑來確保得到我們想要的列向量或行向量。重塑操作reshape是一個常量時間的操作,時間復雜度是 O(1)O(1)O(1),它的調用代價極低。

那么一個 3?43*43?4 的矩陣是怎么和 1?41*41?4 的矩陣做除法的呢?讓我們來看一些更多的廣播的例子。

課程PPT






←上一篇↓↑下一篇→
2.14 向量化 Logistic 回歸的梯度輸出回到目錄2.16 關于 Python Numpy 向量的說明

總結

以上是生活随笔為你收集整理的2.15 Python 中的广播-深度学习-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。