神經網絡基礎
- 神經網絡基礎
- 前言
- 1、Logistic 回歸
- 2、邏輯回歸損失函數
- 3、梯度下降算法
- 4、導數
- 5、導數計算圖
- 6、鏈式法則
- 7、邏輯回歸的梯度下降
神經網絡基礎
前言
Logistic 回歸是一種廣泛應用于統計學和機器學習領域的廣義線性回歸模型,主要用于解決二分類問題。盡管名字中包含“回歸”二字,但它實際上是一種分類方法。Logistic 回歸通過使用logistic函數(或者稱為sigmoid函數)來預測一個事件發生的概率。
備注:本系列文章基于B站課程: 122集付費!CNN、RNN、GAN、GNN、DQN、Transformer、LSTM等八大深度學習神經網絡一口氣全部學完!學習整理得到。
1、Logistic 回歸
邏輯回歸是一個主要用于解決二分類問題的算法。那么邏輯回歸是給定一個 x,輸出一個該樣本屬于 1 對應類別的預測概率 ?=P(y=1|x)
Logistic 回歸中使用的參數如下:
例如:
2、邏輯回歸損失函數
損失函數(loss function)用于衡量預測結果與真實值之間的誤差。最簡單的損失函數定義方式為平方差損失:
3、梯度下降算法
目的:使損失函數的值找到最小值
方式:梯度下降
函數的梯度(gradient)指出了函數的最陡增長方向。梯度的方向走,函數增長得就越快。那么按照梯度的負方向走,函數值自然就降低得最快了。模型的訓練目標即是尋找合適的 w 與 b 以最小化代價函數值。假設 w 與 b 都是一維實數,那么可以得到如下的 J 關于 w 與 b 的圖:
可以看到,成本函數 J 是一個凸函數,與非凸函數的區別在于其不含有多個局部最低。
參數 w 與 b 的更新公式為:
注:其中 α 表示學習速率,即每次更新的 w 的步伐長度。當 w 大于最優解 w’ 時,導數大于0,那就是向更小的方向更新。反之當 w 小于最優解 w’ 時,導數小于0,那么 w 就會向更大的方向更新迭代直到收斂。
通過平面來理解梯度下降過程:
4、導數
理解梯度下降的過程之后,通過例子來說明梯度下降在計算導數意義或者說這個導數的意義。
導數也可以理解成某一點處的斜率。
-
各點處的導數值一樣
我們看到這里有一條直線,這條直線的斜率為4,我們來計算一個例子:
取一點為 a=2,那么 y 的值為8,我們稍微增加 a =2.001,那么 y 的值為 8.004,也就是當 a 增加了 0.001,隨后 y 增加了 0.004,即4倍
那么我們這個斜率可以理解為當一個點偏移一個不可估量的小的值,所增加的為 4 倍,可以記作:
- 各點處的導數值不全一致
例:
取一點為 a=2,那么 y 的值為4,我們稍微增加 a 的值為 a=2.001,那么 y 的值約等于 4.004(4.004001)就是當 a 增加了 0.001,隨后 y 增加了 4 倍;
取一點為 a=5,那么 y 的值為25,我們稍微增加 a 的值為 a=5.001,那么 y 的值約等于 25.01(25.010001)就是當 a 增加了 0.001,隨后 y 增加了 10 倍;
可以得出該函數的導數為 2a
5、導數計算圖
那么接下來我們來看看含有多個變量的到導數流程圖,假設 J(a,b,c) = 3(a+bc)
我們以下面的流程圖代替:
這樣就相當于從左到右計算出結果,然后從后往前計算出導數
導數計算:
這里涉及到鏈式法則
6、鏈式法則
鏈式法則(Chain Rule)是微積分中用于計算復合函數導數的一個基本法則。當你有一個復合函數,即一個函數的輸出是另一個函數的輸入時,鏈式法則允許你通過計算各個函數的導數并將它們相乘來找到復合函數的導數。
假設有兩個函數 f 和 g,其中 g 的定義域和 f 的值域相同,我們可以構成一個復合函數 f(g(x))。鏈式法則表明復合函數 f(g(x)) 對 x 的導數可以通過以下方式計算:
這里:
- f′(g(x)) 是外函數 f 在 g(x) 處的導數;
- g′(x) 是內函數 g 在 x 處的導數
例如:
假設我們有以下復合函數:
7、邏輯回歸的梯度下降
邏輯回歸的梯度下降過程計算圖,首先從前往后的計算圖得出如下:
那么計算圖從前向過程為,假設樣本有兩個特征
問題:計算出 J 關于 z 的導數
所以我們這樣可以求出總損失相對于 w1 w2 b 參數的某一點導數,從而可以更新參數:
所以當我們計算損失函數的某個點相對于 w1 w2 b 的導數之后,就可以更新這次優化后的結果: