神經網路(根據史丹福大學網上機器學習公開課)

2021-08-07 17:27:03 字數 1395 閱讀 6309

神經網路應該分了很多類別吧,之前學過卷積神經網路,這裡還是從比較原始的神經網路說。

上面是乙個三層的神經網路,+1那個小圓指的是偏移,a(i)表示的是第i層的輸出,z(i)表示第i層的輸入,當然小圓裡面進行的操作就是g()了,這裡其實說的不是很嚴密,當然其實也比較好理解。

首先還是從cost function來說:

其實和logistic regression差不多,只是因為這裡不再是二元分類問題,可以是多元分類問題,因此y就需要變成y(k)。

當然也有加入了正規化的cost function

後面給出了具體的數,實際中還是代入其具體的值,其實就是把這個網路中除了與+1連線的那些theta之外的所有theta取平均和。

有了這個cost function就可以計算在給定輸入與網路引數下的cost function值了,這相當於是乙個從輸入到輸出的計算,feedforward

下面開始定義梯度:

這裡提出的是後向演算法(backpropagation)

當然我們一開始會疑問,我們不是應該對cost function求各個theta的偏導然後計算嗎,但是因為這是好幾層,直接求一定麻煩,於是用了後向演算法來一層一層的求,當然很好理解就是這個演算法一定是從輸出往輸入算的,好了,假設有三層:第一層輸入層,第二層隱藏層,第三層輸出層。

這裡我們還是跳過了具體證明,因為我之前也具體算過,當然人家說的演算法不會有錯誤,你算一遍如果不再往深入研究也沒有什麼效果,還不如直接理清邏輯後直接來用。

我們的目標是計算:

為此我們引入中間量:誤差變數,也就是先算誤差值,再通過誤差值計算目標值。

從後往前:

輸出層誤差值:

隱藏層誤差值:

注意第一層也就是輸入層沒有定義誤差項,後面還有一些計算這裡就不列舉了,真正在程式設計的時候其實只要再去看一下公式,然後注意一下在計算前面一項detla的時候不要算上後面一層中+1那個偏置的detla就好。

這一次講的十分簡單,因為確實還有地方需要補充。

史丹福大學機器學習公開課

寒假玩了大半了,把各種遊戲給解除安裝了,正兒八經的學習啦。一直想把這個公開課看完,上學的時候吧不想看,放假了也不想看,胡亂寫寫,作為乙個渣渣,把不明白給記下來。這個公開課的第一課,主要是介紹了機器學習概念應用什麼的,好像主要是概念吧,之前看的記不太清了。第二課 監督學習應用 梯度下降 可以看這個鏈結...

史丹福大學的機器學習筆記SVM初探詳解

最近在看史丹福大學的機器學習的公開課,學習了支援向量機,再結合網上各位大神的學習經驗總結了自己的一些關於支援向量機知識。一 什麼是支援向量機 svm 1 支援向量機 support vector machine,常簡稱為svm 是一種監督式學習的方法,可廣泛地應用於統計分類以及回歸分析。支援向量機屬...

史丹福大學機器學習筆記 正則化的邏輯回歸模型

在上面部落格中我們討論了正則化的線性回歸模型,下面我們來討論一下正則化的邏輯回歸模型。前面我們講述了兩種常用於邏輯回歸的方法 基於梯度下降法的邏輯回歸模型 基於高階優化的邏輯回歸模型 基於梯度下降法的邏輯回歸模型 首先我們還是需要先設計加入正則化後的損失函式,與線性回歸模型相似,我們只需要在原來邏輯...