????????本節(jié)先討論怎樣計算偏導(dǎo)數(shù)來實現(xiàn)logistic回歸中單個樣本實例的一次梯度下降法。本節(jié)使用導(dǎo)數(shù)流程圖來計算logistic回歸中的梯度下降另伍。
????????計算logistic回歸要做的是更新參數(shù)w和b,最小化損失函數(shù)凸主。
????????單個樣本實例的一次梯度下降法:從左到右計算出預(yù)測值鸥拧,再計算出損失函數(shù)(預(yù)測值和實際值相差的程度)。然后從右到左計算出各個參數(shù)的梯度(梯度方向:方向?qū)?shù)的最大值)累榜,更新參數(shù)营勤。
????????事實上不只是單個樣本,而是在m個樣本的整個訓(xùn)練集上進行梯度下降壹罚。
????????針對單個樣本的叫損失函數(shù)葛作,對于整個訓(xùn)練集叫做全局成本函數(shù),它是一個求和渔嚷。它表明全局成本函數(shù)對w1的導(dǎo)數(shù)进鸠,即各項損失函數(shù)對w1導(dǎo)數(shù)的平均。每一個樣本都有參數(shù)w1形病、w2和b客年,用上標i來區(qū)分不同的樣本霞幅。
????????計算出單個樣本對參數(shù)w1的導(dǎo)數(shù)值后,將m個樣本的求和后平均量瓜,即得到全局樣本對參數(shù)w1的梯度值司恳,這個值可直接應(yīng)用到梯度下降算法中。
補充說明:
1绍傲、導(dǎo)數(shù):簡單理解為切線斜率扔傅,只有一維,一條曲線烫饼。
2猎塞、偏導(dǎo)數(shù):多元函數(shù)沿坐標軸的(特定方向)變化率,二維的就是一個曲面杠纵,還有三維荠耽、四維……例如:df(x,y)/dx指的是函數(shù)在y方向不變,函數(shù)值沿著x軸方向的變化率比藻;Df(x,y)/dy指的是函數(shù)在x方向不變铝量,函數(shù)值沿著y軸方向的變化率。
3银亲、方向?qū)?shù):各個方向(非特定方向)上的導(dǎo)數(shù)慢叨。可以使用x务蝠、y方向上的偏微分來求出任何方向的斜率(類似于一個平面的所有向量可以用倆個基向量來表示一樣)
4拍谐、梯度:是一個矢量,梯度的方向是方向?qū)?shù)中取到最大值的方向请梢,梯度的值是方向?qū)?shù)的最大值赠尾。
????????在m個樣本上實現(xiàn)一步梯度下降的過程如下:
????????圖中看到一共使用了2次for循環(huán),一次是將m各樣本全部遍歷一遍毅弧,一次是將單個樣本上的n個特征值全部遍歷一遍气嫁,該例中是2個特征值w1和w2,實際上特征值會很多够坐。而在代碼中顯式地使用for循環(huán)會使算法很低效寸宵。同時在深度學(xué)習(xí)領(lǐng)域,會有越來愈大的數(shù)據(jù)集元咙,所以令代碼中完全不使用for循環(huán)可以幫助使用很大的數(shù)據(jù)集梯影。有一門向量化技術(shù)可以幫助擺脫顯式地for循環(huán),在深度學(xué)習(xí)興起初期庶香,向量化是很棒的甲棍,可以用來加速運算。雖然有時未必有效赶掖,但是在深度學(xué)習(xí)中已經(jīng)變得相當重要感猛,因為我們越來愈多地開始訓(xùn)練相當大的數(shù)據(jù)集七扰,代碼需要變得非常高效。