**神經網路————基礎概念
** 神經網路 **
1.定義:神經網路也稱人工神經網路,是一種模仿生物上設神經網路的一種演算法。神經網路是機器學習諸多演算法中的一種,它既可以用來做有監督的任務,如分類、視覺識別等,也可以用作無監督的任務。同時它能夠處理複雜的非線性問題,它的基本結構是神經元。
2.神經元:生物學的神經元啟發我們構造了最簡單原始的「人造神經元」。下圖中的圓就好比乙個神經元,它接受外部輸入,在圓內進行簡單或複雜的處理後形成輸出,在神經網路中我們稱之為感知機。神經元是人體神經系統的基本結構和功能單位,是無數個神經元相連而成,這是乙個非常複雜的網路系統。神經元間****是互相接觸,而不是細胞質的互相溝通。接觸部位的結構特化稱為突觸,通常是乙個神經元的軸突與另乙個神經元的樹突或胞體借突觸發生機能上的聯絡,神經衝動由乙個神經元通過突觸傳遞到另乙個神經元。
其中圓形部分稱作神經元,他接受x1,x2,x3,+1(我們稱之為輸入層)的刺激,然後通過感知機,來執行一定的複雜函式,最後輸出(h(x))我們稱之為輸出層。整個過程可以理解為輸入——>處理——>輸出。
有多個神經元組成的系統即為神經網路。,在生物網路中,每個神經元與其他神經元相連,當它「興奮」(神經元的電位超過一定「閾值」(threshold))時,就會向相連的神經元傳送化學物質,從而改變這些神經元內的電位。如圖:
特殊的,layerl2,layerl3我們稱之為隱藏層,既沒有達到最終目的所作的鋪墊。
即神經網路的結構由輸入層,隱藏層,輸出層構成。其中除了輸入層以外,每一層的輸入都是上一層的輸出。
3.啟用函式
什麼是神經網路?。在多層神經網路中,上層節點的輸出和下層節點的輸入之間具有乙個函式關係,這個函式稱為啟用函式(又稱激勵函式)。通俗的講就是,生物學中刺激達到「閾值」產生乙個訊號,在該訊號的作用下,細胞產生化學物質的過程。
4.為什麼需要啟用函式?
如果不用激勵函式,在此狀態下,每一層的輸出是下一層的輸入,則該模型與普通的神經元一樣,沒有達到神經網路的功能,即沒有使用隱藏層,來使函式逼近,正因為上面的原因,我們決定引入非線性函式作為激勵函式,這樣深層神經網路表達能力就更加強大(不再是輸入的線性組合,而是幾乎可以逼近任意函式)。
5.sigmoid啟用函式:
sigmoid的表示式為:
其圖形為乙個s型曲線,會將所有的輸入結果對映到0-1之間,圖形樣式如下:
sigmoid常備用於處理二分類問題,比較典型的像邏輯回歸就是使用sigmoid處理二分類問題。
6.啟用函式之tanh函式:tanh函式的圖形和sigmoid類似,不同的是它是將輸入值對映到-1~1之間。它的圖形如下圖所示:
邏輯與神經元:
邏輯與:
對於乙個二值變數x1,x2屬於,我們想要學習一種非線性的決策邊界來區分正負樣本, 那麼神經網路是如何做到的呢?
x1,x2屬於,y=x1 and x2
我們可以用乙個簡單的神經網路(乙個神經元)表示與邏輯運算:
其中啟用函式hθ(x)可以用如下公式表示:
hθ(x)=g(−30+20x1+20x2)
其g(z)的影象如下:
根據上述影象,x1, x2取不同的值,h(x)如下:
x1=0 and x2=0 then g(−30)≈0
x1=0 and x2=1 then g(−10)≈0
x1=1 and x2=0 then g(−10)≈0
x1=1 and x2=1 then g(10)≈1
可以看出,這裡的神經網路啟用函式hθ(x)近似等於與邏輯運算。
具體理解可以看
邏輯或:同樣的二值變數,g(x)=(-10+20x1+20x2)當g(-10)約等於0,g(10)約等於1,此時我們的函式可以理解為邏輯或。
同理邏輯非是乙個單變數二值函式只需讓g(x)=(-10+20x1),g(10)約等於1,g(-10)約等於0,即可。
非邏輯運算僅針對乙個輸入值,我們來表示乙個略微複雜的邏輯表示式:
這個表示式等於1的前提是」當且僅當x1=x2=0".可以用神經網路模擬如下:
」同或(xnor)邏輯運算的神經網路「:
反向傳播error backpropagation 簡稱bp
權重:這裡我們理解為未知係數,即在變數前的係數。
偏置:係數b,即截距
反向傳播的目的在於通過不斷的回傳誤差,對權重進行更新,重新計算輸出,最終從已有的輸入值經過神經網路得到我們需要的結果。理解反向傳播,我們需要先理解前向傳播的過程。資料從輸入層——>隱藏層——>輸出層過程可以稱為前向傳播,當然在這個過程中會涉及很多數學計算,最終會在輸出層有乙個輸出值,而輸出值和我們需要的目標值或實際值之間一般會存在差距,即我們通常說的誤差。接下來,根據誤差進行反向更新權值的過程就稱之為誤差的反向傳播,要對權值進行更新,我們需要評估權值對誤差產生的影響大小,這個通過計算誤差對權值的偏導值進行估計。具體公式不做贅述(不太理解)。
bp神經網路的過程主要分為兩個階段,第一階段是訊號的前向傳播,從輸入層經過隱含層,最後到達輸出層;第二階段是誤差的反向傳播,從輸出層到隱含層,最後到輸入層,依次調節隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置。
softmax簡介:
softmax回歸模型是logistic回歸模型在多分類問題上的推廣,在多分類問題中,待分類的類別數量大於2,且類別之間互斥。比如我們的網路要完成的功能是識別0-9這10個手寫數字,若最後一層的輸出為[0,1,0, 0, 0, 0, 0, 0, 0, 0],則表明我們網路的識別結果為數字1。softmax的公式為,
神經元的數學表示:
設:x=⎡⎣⎢⎢x1⋮xm⎤⎦⎥⎥x=[x1⋮xm] 為樹突接受的多種電訊號,w=⎡⎣⎢⎢w1⋮wm⎤⎦⎥⎥w=[w1⋮wm]為 xx 的運算係數。
則神經元會進行以下演算法步驟:
第一步,將神經元將接收到的訊號 x 進行整合處理:
z=w1x1+w2x2+w3x3…
第二步,用啟用函式對 zz 進行處理,例如下面的步調函式:
sigmoid函式或tanh函式
第三步:感知器
感知器資料分類的演算法步驟如下:
把 ww 初始化為 0,或者把 ww 的每個分量初始化為[0, 1]之間的任意小數;
把訓練樣本 xx 輸入感知器,得到分類結果 ϕ(z)ϕ(z) (-1或1);
根據分類結果更新權重向量。
權重更新:梯度下降演算法等。
機器學習5
機器學習第六章走起 接著上一章,對於break point 按照前面的規律來看,隨著n的增大,我們的effective n 與pow 2,n 的差距越來越大 bound function 就是成長函式的乙個上限,我們剛才分析的成長函式是對於不同的h給與不同的分析,那我們有個目標,就是我們知道我們的n...
機器學習5
聚類問題是無監督學習,演算法的思想是 物以類聚,人以群分 聚類演算法感知樣本間的相似度,進行類別歸納,對新的輸入進行輸出 輸出變數取有限個離散值。k means 又稱k 均值或k 平均 聚類演算法。演算法思想就是隨機確定k個中心點作為聚類中心,然後把每個資料點分配給最鄰近的中心點,分配完成後形成k個...
機器學習第5周!
教輔說這週的作業是史上最難,果不其然,我花了好久好久才完成 好吧其實也沒有很難,就一開始的cost function卡了很久,後面倒是挺順利的,簡單地調了幾遍就過了,現在第五周完成了,還有1個小時第六周就過期了。路漫漫,是真的。機器學習的本質在於通過大量資料的訓練,使計算機能夠擁有人類的某種能力,比...