損失函數 與 平均方差函數 傻傻分不清
損失函數是概念;平均方差函數是具體的實現
損失函數(如均方誤差 MSE)用于衡量模型預測值與真實值之間的差距。損失越小,說明模型對當前數據的擬合越好。
但模型并非擬合度越高越好,假設模型輸入它沒見過的數據,模型預測的結果跟實際出入很大,不符合要求,這種現象叫過擬合;如果模型對新數據也有很好的預測效果,就是泛化能力強
后續。。。
?對于直線模型很簡單,但是世界事物的規律是很復雜的不能通過直線模型來表達,更多是彎彎曲曲的曲線,要描述這樣曲線 是通過? 非線性函數 (激活函數) 嵌套線性函數,一層嵌套還是不能描述出這樣復雜曲線,就需要n多層的這樣嵌套函數,理論上能造出非常復雜的曲線(很抽象很難理解)
激活函數 :
梯度下降:
w = w - 學習率 × ?L/?w
臥槽! 這個公式是什么意思?其實???L/?w 是梯度,還是不懂,什么是梯度?回到二維平面,這個梯度等同與初中數學的斜率。這里拋物線描述的是直線模型的損失函數在變量w 方向上變化?。機器通過不斷調整w值讓損失函數最小,什么時候最小? 答:頂點最小,頂點怎么求?有頂點公式,也可以使用? ?導數 = 0 求出。
但是復雜模型的損失函數不是一條簡單的拋物線,于是就有梯度下降算法,本質上是不斷猜和試,但是不能盲猜,面多加水,水多加面,水和面不能一下加太多,就使用小勺子(學習率)慢慢調
如下圖
?當切點在右邊是正數,就減去一點點;?當切點在左邊是負數數,負負得正加一點點。就這樣一點點不斷地試,總有w是某個值,讓損失函數最小。
而 ?L/?w是高緯度的曲面的表面曲線求導,這里方便人的理解,高維我這里通常指3維,4維我們想象不出來!
下圖是一座大山,是3維立體的,紅線就是曲面上的某條曲線?,像不像一個個階梯,?L/?w 就好比下山某條曲線的陡峭程度,如果?L/?w的絕對值(包含正負數)越大 說明越陡峭!?L/?w如果是正數右傾斜,如果是負數表示左傾斜
?L/?w 那是多少怎么算?? 這里是使用 鏈式法則(不展開講,高數不過關,但這不影響我們理解,機器會就行)
總結一下:
W新 = W當前 - 學習率 × ?L/?w
這個是公式指導機器如何自己調整W值,當W猜測是3時,預測值與真實值誤差大了,?L/?w就變大,那我猜測新的W 值,就需要減少一點?L/?w。?L/?w有時很大,就需要使用學習率進行縮放。回到下山例子就是,人下山既要快,就需要選擇最陡峭的路線,但是不安全,就需要使用學習率控制,要快也要安全。
反向傳播:在神經網絡從后往前,使用損失函數指導修改預測函數參數的過程,就是反向傳播