梯度下降的理解及部分細節

2021-10-07 05:29:56 字數 1477 閱讀 8583

關於網路,我們的目標就是學習到乙個函式,我輸入進x,可以輸出相應的y。我們是通過不斷的訓練來得到這個函式的,那麼怎麼得到呢。首先我們假設這個函式存在,具體的引數可以隨機初始化,然後放入很多的x,讓他去計算得到乙個y。這個y和真實的y是有差距的,所以再假設乙個函式叫損失/代價函式,可以用函式表達出真實值和**值之間的差距。如果我們能把這個差距變小,說明我們的函式**效果越好,那麼現在的目標就變成了找到這個代價函式的最小值,這就用到了梯度下降。

我們要用梯度下降去找到乙個函式的最小值,這個最小值對應的引數就是我們要的引數了。我們一般找函式的最小值就是求導,找倒數為0點。所以梯度下降的核心也是求導(分層次求導)。

乙個代價函式被多個引數所影響,如果對單個引數求偏導,就會得到乙個這個引數和代價函式最終值的關係圖,就是把這個代價函式變成了由乙個引數所影響的函式,那麼我去尋找這個關係圖的最低點也就是導數為0的點就是在從這個引數角度去降低最終值,如何尋找最低點呢,就是讓這個引數在目前點的斜率方向上挪動,比如下圖,只要按照斜率方向去移動,那麼值一定是在減小的。每個引數都這樣子做,整個函式的值就會都下降。

從這裡我們就可以看出,關鍵點子啊如何求斜率,也就是導數。

第一:代價函式是乙個求和,如何理解求和以及在計算的過程中怎麼處理求和這回事的。

解答:l是損失函式,是計算乙個樣本的損失,我們也知道乙個損失函式如何計算對某個引數的偏導。j是代價函式,是所有函式的損失和的均值,我們的最終目標是使j最小,根據式子可以看出j對某個引數求偏導,就是損失函式對每個樣本的求偏導的和的平均,所以求和是不存在理解問題。

經過計算我們知道,斜率最終就是拿**值和真實值以及輸入值就可以求出來(在下面會說),那麼不同的樣本計算出來的斜率就是不同的,你讓這個引數往下90度走,他讓45度走,所以求和平均是把所有樣本的斜率綜合了一下

關於求和的細節計算,要麼是把損失函式拿出來,計算每個樣本的損失函式然後遍歷每個樣本,再求和求平均。最終大家採用的都是向量化,就是用矩陣的形式多個樣本一起計算,一起求損失,一起求導。

第二:求導是怎麼進行的,因為有那麼多x w,誰是引數誰是變數不好弄?

回答:核心在於「分層向後傳播」。

不是想象中的直接把代價函式展開成由w x組成的長長的式子,而是從最後一層向前一層層傳播,把這層前面的不拆開,只求關於這個的導數,然後再向前求導,就是乙個鏈式求導過程。

梯度下降理解

第二天系統學習。1.設損失函式為j 希望將這個函式最小化,通過梯度下降方法找到最優解。這裡應該有些假設,這個函式是凸函式。以兩個引數為例,隨機乙個點開始,開始下山,對於這個點到最底部,最好的方式就是切線方向,這個方向下降最快,就像圖中紅色 每次按照藍色切線箭頭以一定的長度往下走,當走到最低點是停止。...

理解梯度下降法

梯度下降法是求解無約束最優問題中常用到的一種學習方法,形式簡單,屬於一階收斂,在空間進行線性搜尋。在前面講到的邏輯斯蒂回歸模型中,就常用到梯度下降法來學習引數。首先給出問題定義 統計學習方法附錄a 假設f x 是rn 上具有一階連續偏導的函式,求解的目標問題如下 mi nx r nf x x 表示目...

梯度下降演算法理解(梯度的含義)

梯度 梯度的本意是乙個向量 向量 表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向 此梯度的方向 變化最快,變化率最大 為該梯度的模 參考這個部落格 1 梯度下降 gradient descent 3 梯度下降法的基本思想可以模擬為乙個下山的過程。假設這樣乙個場景 乙個人...