吳恩達機器學習之神經網路概述

2021-09-11 00:07:38 字數 2223 閱讀 4909

一、非線性假設

線性回歸與邏輯回歸,都是線性假設,對於一些問題,如果用線性假設模擬,引數將會非常多,計算量巨大,而用非線性假設模擬,引數數量可能要少的多。此外,所有的線性假設,如感知機,都不能解決異或(xor,不同即為真)與同或(xnor,相同即為真)問題,即非線性邊界。神經網路,既可以做線性假設,也可以做非線性假設,因此應用範圍更廣

二、模型表示

如上圖,layer1是輸入層,layer2是隱藏層,layer3是輸出層。輸入層,即輸入資料集層。隱藏層,中間計算結果層,單層神經網路沒有此層。輸出層,是結果輸出層。

每個紅色的圓圈,對應乙個神經元。每個神經元,對應乙個啟用函式,如sigmoid函式,功能即通過對加權的輸入進行非線性組合產生非線性決策邊界。每條箭頭,對應乙個權重項(引數項)。

三、啟用函式

啟用函式要求

可導性:計算梯度(偏導數)時必須要有此性質。

非線性:保證資料非線性可分。

單調性:保證凸函式,能夠取得全域性最優結果。

有界性:保證輸出結果有界。

常用啟用函式可參考博文簡要分析。從分析可知,選擇合適的啟用函式也同樣重要。

四、超引數

超引數是在開始學習過程之前設定值的引數,而不是通過訓練得到的引數資料。通常情況下,需要對超引數進行優化,給學習機選擇一組最優超引數,以提高學習的效能和效果。

超引數的一些示例:

樹的數量或樹的深度

矩陣分解中潛在因素的數量

學習率(多種模式)

深層神經網路隱藏層數

k均值聚類中的簇數

五、引數的反向傳播演算法

1、代價函式

代價函式是邏輯回歸的一般形式,在這裡都是似然負對數。神經網路代價函式中:l表示網路層數,s指神經元單元數,m指特徵數,正則化項是所有的權重(每乙個神經元對應的權重和)。

2.反向傳播演算法

在迭代過程中,快速求解代價函式的每乙個引數的偏導數。

3.梯度檢測

為了驗證編碼中由反向傳播演算法計算的偏導數,最好做梯度檢測,而且只做一次即可,因為梯度檢測計算梯度相比反向傳播演算法要慢很多。

上圖是使用計算偏導數定義的方法計算梯度,當其結果與反向傳播計算結果相差很小時,認為反向傳播計算梯度是正確的。

4.隨機初始化

如果使用迭代法求解權重,權重需要進行初始化。如果所有權重初始化為相同的值,經推導,最後訓練結果各權重值相等,即對特徵中各分量影響一樣,這是不符合常理的。因此,可以使用隨機初始化方法,原理如下:

六、大規模機器學習

1、隨機梯度下降

以線性回歸為例。

上面左圖分別是批量梯度下降的線性回歸的假設函式,代價函式及迭代過程,其中學習率後面的項為引數的偏導數。在大規模機器學習中,樣本數量特別多,引數也很多。在每一次迭代過程中,要更新所有的引數,而每個引數的更新所有樣本都要參與計算,而偏導數計算量是較大的且耗時。

右圖為隨機梯度下降(m個樣本,n+1個引數)。其過程為:

(1).把m個訓練樣本隨機打亂;

(2).迴圈m個樣本。每次迴圈,只用乙個樣本i,用樣本i計算每個引數的偏導數項,進而更新每個引數。

隨機梯度下降要比批量梯度下降速度要快很多。

2.mini-batch 梯度下降

屬於隨機梯度下降,每次迴圈,使用b(一般取2-100)個樣本,而不是1個樣本。

3.隨機梯度下降收斂

批量梯度下降,每次迭代,所有樣本都參與計算,因此每次迭代都可以計算代價函式,檢查是否收斂。但隨機梯度下降,由於其下降過程是曲折的,即隨著訓練進行,代價函式值區域性可能變大,整體趨勢是變小的。因此,每次迴圈檢查收斂性是不可靠的。

可以,比如每隔1000個樣本,計算這1000個樣本的代價函式平均值,來檢查是否在收斂

吳恩達 機器學習 4 神經網路

當特徵數量大時,在進行邏輯回歸和線性回歸時要包含所有的相關項,二項式的個數以n 2的量級增長,最終的結果可能過擬合,同時計算量也過大。model representation x 0x 0 x0 為偏置單位,總是等於1,x是輸入,h x h theta x h x 是輸出,theta 是權重即函式的...

吳恩達之神經網路和深度學習 1 3

監督式神經網路在監督學習中,我們會得到乙個資料集,並且已經知道我們的正確輸出應該是什麼樣子的,因為我們認為輸入和輸出之間是有關係的。監督學習問題分為回歸問題和分類問題。在回歸問題中,我們試圖在連續輸出中 結果,這意味著我們試圖將輸入變數對映到某個連續函式。在分類問題中,我們試圖 離散輸出的結果。換句...

吳恩達機器學習筆記 9 神經網路學習

本章講述了神經網路的起源與神經元模型,並且描述了前饋型神經網路的構造。在傳統的線性回歸或者邏輯回歸中,如果特徵很多,想要手動組合很多有效的特徵是不現實的 而且處理這麼大的特徵資料量,計算上也很複雜。神經網路最開始起源於生物資訊中的大腦,在上世紀80 90年代的時候很火,後來就沒什麼訊息了。在神經網路...