小白機器學習高階(四) 計算機神經網路

2021-10-02 13:43:45 字數 1513 閱讀 8713

當我們使用邏輯回歸解決分類問題時,如果遇到非線性邏輯回歸時,我們需要將特徵量進行變換,這會導致變換後的特徵量增加。當訓練集的特徵量本身就很多時,特徵量的總數就會增加得逐漸讓人無法接受,這將造成困難。

此時我們可以使用神經網路演算法

層:輸入層、隱藏層、輸出層

單元:每層裡的不同元素

在下面的敘述中,θ代表權重矩陣,xi為輸入值,yi為輸出值,ai為單元中的activation value,其中z為自變數與相應權重矩陣的線性組合,a = g(z)

基本思路

自變數與權重矩陣的對應向量線性組合得到z→對z取sigmoid函式得到a→a作為下一層的輸入值

由上述基本思路可知,我們只需要確定權重矩陣即可實現神經網路演算法。

1.權重矩陣的維數

如果有l層,每層有j個單元,訓練集(x,y)有i個

則矩陣維數為i*(j+1)*l

(j+1)中的1來自於每一層的偏置項。

2.權重矩陣中θ的取值

思路:最小化代價函式

(1)代價函式

為最小化代價函式我們可以使用梯度下降演算法或一些其他最優化方法。

這些方法的共同點是我們要計算代價函式對每個θ的偏導數

我們可以使用反向傳播演算法計算偏導數。

(2)反向傳播演算法

計算δ

計算δ

計算d

計算偏導數

(3)初始化θ

在邏輯回歸中,我們簡單地定義了零型矩陣作為θ的初始化,然而這一方法並不適用於神經網路演算法。原因是由上述反向傳播演算法可知如果初始值全為零則最後產生的每乙個特徵量對應的權重全部相等。這是我們不希望得到的。

於是我們採用隨機初始化θ的值。

例如,想產生對稱區間的θ我們可以使用以下方法

(4)梯度檢驗

實際上,神經網路演算法可能會正常執行,但是因為某種原因會產生我們輕易檢查不到的細節錯誤。為了保證演算法的有效性,在進行樣本訓練之前可以使用梯度檢驗演算法來檢查神經網路的有效性。

思路是用數學的方法近似計算偏導數,在與神經網路得到的偏導數進行對比。如果二者近似則可認為神經網路有效。

如果上式得到的結果與神經網路求出的偏導數近似則神經網路有效。

注意:該方法只是用於檢驗有效性,在訓練樣本時應關閉,否則演算法執行會非常慢。

實現過程:

大量樣本訓練

#學習源:吳恩達機器學習

機器學習 計算機學習西洋跳棋

西洋跳棋是一種兩人棋盤遊戲。玩家的棋子都是沿斜角走的。棋子可跳過敵方的棋子並吃掉它。通過讓程式分析人們購物清單,來分析人們對商品的品牌 的偏好。通過跟蹤個人的新聞瀏覽,分析其興趣愛好 並為其推薦感覺興趣的新聞或產品。通過對已知的手寫字元的分析,能夠讓電腦程式自動的認出手寫字元。以上這些都是機器學習的...

計算機超實用學習資源(小白適用)

先講講咋們要學的東西 附帶一張超詳細 悄悄告訴你們,這張圖是我偷來的哦!因為我這個人比較懶,噗 哈哈 c語言我比較推薦浙江大學翁凱老師的課 中國大學mooc 還有翁凱老師的物件導向程式設計 但需要一定的英語水平 入門書籍比較推薦c primer plus。除此之外還有老九學堂 網易雲課堂 的課,超詳...

電腦科學導論學習筆記(四)

引言 第三章中,我們了解了計算機都可以儲存哪些型別的資料。本章將講述如何在這些儲存在計算機的資料上進行運算。資料上的運算可以分為三大類 算術運算 位移運算和邏輯運算。邏輯運算是指那些應用於位模式中的乙個二進位制位,或者兩個模式中相應的兩個二進位制位的相同基本運算。這意味著我們可以在位層次和模式層次上...