官术网_书友最值得收藏!

3.2.1 少量數學知識

這里使用數學方法表示梯度下降法。首先,我們使用良好定義的老式數學符號重寫均方誤差損失函數。

如果你不熟悉這個符號,那么只需要知道符號Σ表示“求和”的含義即可。同樣,公式里的m代表“樣本的數量”。如果使用自然語言表示,則可以將這個公式讀作:m個樣本的誤差平方和除以樣本數的平均值。

別忘了這里的x和y值都是常數——它們分別表示輸入樣本變量和標簽的取值。由于樣本的數量不會改變,m也是一個常數。由于我們暫時把b固定為0,所以b也是常數。雖然我們會在不久之后重新引入變量b,但是目前上述公式中唯一能夠發生變化的值就是w。

現在計算權重w關于損失函數L的梯度,也稱為“函數L關于變量w的導數”。如果你還記得在學校學過的微積分,那就能夠自己計算出這個導數值。如果不記得也沒有關系,已經有人算出來了:

損失函數的導函數與損失函數自身有點類似,只不過導函數沒有二次冪,而且求和式的每個加項都乘上了x,然后再對求和結果乘以2。我們可以把w的任意值代入上述公式,然后得到這一點的梯度值。

下面是轉換成代碼后的計算公式,這里按照約定將b設置為0。

既然已經有了一個計算梯度的函數,那就讓我們通過重寫train()函數的方式來實現梯度下降法。

主站蜘蛛池模板: 垦利县| 嘉兴市| 磐石市| 英德市| 十堰市| 韶关市| 龙南县| 阳城县| 嘉义市| 邢台市| 靖远县| 那曲县| 兴安县| 商水县| 扎鲁特旗| 彩票| 凭祥市| 新野县| 彰武县| 留坝县| 城市| 白玉县| 垣曲县| 乐山市| 突泉县| 通城县| 嘉义县| 白城市| 鱼台县| 花莲县| 托里县| 晴隆县| 志丹县| 大足县| 陇西县| 托克托县| 鸡西市| 扎赉特旗| 将乐县| 万安县| 肇东市|