上節回顧:
介紹了神經元、神經網絡
介紹了激活函數
提到了前向傳播概念
留下問題:用到的參數w和b是怎麽來的,是自己隨便設定的嗎
本節介紹:
神經網絡、反向傳播的例子
損失函數和梯度下降法、學習率介紹
最重要的用途是分類
這種能自動對輸入的東西進行分類的機器,就叫做 分類器 。分類器的輸入是壹個數值向量,叫做特征(向量)。
第壹個例子裏,分類器的輸入是壹堆0、1值,表示字典裏的每壹個詞是否在郵件中出現,比如向量(1,1,0,0,0......)就表示這封郵件裏只出現了兩個詞abandon和abnormal;
第二個例子裏,分類器的輸入是照片,假如每壹張照片都是320x240像素的紅綠藍三通道彩色照片,那麽分類器的輸入就是壹個長度為320x240x3=230400的向量。
分類器的輸出也是數值。
第壹個例子中,輸出1表示郵件是垃圾郵件,輸出0則說明郵件是正常郵件;
第二個例子中,輸出0表示圖片中是狗,輸出1表示是貓。
分類器的目標就是讓正確分類的比例盡可能高。壹般我們需要首先收集壹些樣本, 人為標記上正確分類結果 ,然後用這些標記好的數據 訓練分類器 ,訓練好的分類器就可以 在新來的特征向量上工作 了。
這就是BP神經網絡(back propagation)。
旨在得到最優的全局參數矩陣,進而將多層神經網絡應用到分類或者回歸任務中去。
前向傳播 輸入信號直至 輸出產生誤差 , 反向傳播 誤差信息 更新權重 矩陣。
這個地方提到的誤差這個概念,其實就是對應了損失函數,損失函數說白了就是計算誤差的函數。
舉例:線性回歸:尋找壹條擬合圖中數據點最好的直線
把每條小豎線的長度加起來就等於我們現在通過這條直線預測出的值與實際值之間的差距
缺點:采用梯度下降法學習時,模型壹開始訓練學習速率非常慢
對壹個多元函數求偏導,會得到多個偏導函數.這些導函數組成的向量,就是梯度;壹元函數的梯度是什麽?它的梯度可以理解為就是它的導數。
求解多元函數和壹元函數的道理是壹樣的,只不過函數是壹元的時候,梯度中只有壹個導函數,函數是多元的時候,梯度中有多個導函數.
當我們把梯度中的所有偏導函數都變為0的時候,就可以找到每個未知數的對應解。
梯度下降中求偏導數的未知數不是x和y,而是x的參數W。
梯度下降的方向:把這壹點帶入到梯度函數中,結果為正,那我們就把這壹點的值變小壹些,同時就是讓梯度變小些;當這壹點帶入梯度函數中的結果為負的時候,就給這壹點的值增大壹些。
在這個下降的過程中.因為我們並不知道哪壹個點才是最低點,也沒有辦法來預測下降多少次才能到最低點.這裏梯度下降給出的辦法是:
先隨便蒙壹個點出來,然後根據這個點每次下降以丟丟.什麽時候下降得到的值(點帶入偏導函數得到的)和上壹次的值基本壹樣,也就是相差特別特別小的時候,我們認為就到了最低點。
讓點沿著梯度方向下降慢慢求得最優解的過程我們叫做 學習 ,學習率就是用來限制他每次學習別太過"用功"的。下左圖是我們所期望的,壹個點按照梯度方向下降,慢慢逼近最低點,右圖中展示的這個梯度值過大的時候,點下降的step就過大了,壹次性邁過了最低點,導致函數無法找到最優解。學習率就是用來限制這種情況的。
更新權重的算法:每壹個權重值都要減去它對應的導數和學習率的乘積
Lr 代表的是學習率
簡單舉例