神經網路演算法 解決非線性分類複雜問題

2022-08-24 04:06:11 字數 2727 閱讀 6497

把神經元模擬成乙個邏輯單元,在神經網路的模型中,神經元收到來自n個其他神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權重的連線進行傳遞,神經元收到的總輸入值將與神經元的閾值進行比較,然後通過啟用函式(activation funciton)處理以產生神經元的輸出。

把許多個這樣的神經元按一定的層次結構連線起來,就得到了神經網路。

乙個神經元可以看成包含兩個部分,乙個是對輸入的加權求和加上偏置,乙個是啟用函式對求和後的啟用或者抑制。

與神經網路有關的幾個重要術語:

閾值邏輯單元(threshold logic unit,tlu),它可以輸入一組加權係數的量,對它們進行求和,如果這個和達到或者超過了某個閾值,輸出乙個量。

所謂啟用函式,就是在神經網路的神經元上執行的函式,負責將神經元的輸入對映到輸出端。

乙個前饋神經網路如果具有線性層和至少一層具有 "擠壓" 性質的啟用函式(如 signmoid 等),給定網路足夠數量的隱藏單元,它可以以任意精度來近似任何從乙個有限維空間到另乙個有限維空間的  可測函式。

要相符上面的定理,也就是想擬合任意函式,乙個必須點是「要有帶有 「擠壓」 性質的啟用函式」。這裡的 「擠壓」 性質是因為早期對神經網路的研究用的是 sigmoid 類函式,所以對其數學性質的研究也主要基於這一類性質:將輸入數值範圍擠壓到一定的輸出數值範圍。

連線是神經元中最重要的東西。每乙個連線上都有乙個權重。

乙個神經網路的訓練演算法就是讓權重的值調整到最佳,以使得整個網路的**效果最好。

例如:我們使用a來表示輸入,用w來表示權值。乙個表示連線的有向箭頭可以這樣理解:在初端,傳遞的訊號大小仍然是a,端中間有加權引數w,經過這個加權後的訊號會變成a*w,因此在連線的末端,訊號的大小就變成了a*w。

如果我們將神經元圖中的所有變數用符號表示,並且寫出輸出的計算公式的話,就是下圖。

它本質就是函式的截距,與線性方程 y=wx+b 中的 b 的意義是一致的。在 y=wx+b中,b表示函式在y軸上的截距,控制著函式偏離原點的距離,其實在神經網路中的偏置單元也是類似的作用。 

因此,神經網路的引數也可以表示為:(w, b),其中w表示引數矩陣,b表示偏置項或截距項。

bias的計算方式

神經網路結構中對偏置單元的計算處理方式有兩種, 

(1)設定偏置單元=1,並在引數矩陣 θ 中設定第 0 列對應偏置單元的引數,對應的神經網路如下: 

其中,x0 是第一層的偏置單元(設定為1),θ(1)

10 是對應該偏置單元 x0 的引數;a(2)

0 是第二層的偏置單元,θ(2)

10 是對應的引數。 

在計算啟用值時按照(以a(2)

1為例): 

相當於bias本身值為1,但它連線各個神經元的權重不為1,即---整個神經網路只有1個bias,對應有多個不同的權重(權重個數等於hide層和out層神經元的個數)

2)設定偏置單元,不在引數矩陣中設定對應偏置單元的引數,對應的神經網路如下: 

其中,b(1) 是 w(1) 對應的偏置單元向量,b(2) 是 w(2) 對應的偏置單元向量,b(1)

1 是對應 a(2)

1 的偏置單元。注意,此時神經網路的引數表示更改為:(w, b) 

在計算啟用值時按照: 

相當於bias連線各個神經元的所有權重都為1,但bias本身不為1,即---有多個bias,但所有的bias對應的權重都為1(bias的個數等於hide層和out層神經元的個數)

偏置的大小度量了神經元產生正 (負) 激勵的難易程度

定義: 感知器就是神經網路中的神經元

圖示:

輸入:x1-xn

權值:w1-wn

偏置 :w0

啟用函式 :跳躍函式

輸出用途:可以擬合所有的線性函式(線性分類、線性回歸) 線性分類:可用一條線對目標進行分類。

感知器的訓練訓練方法:將權重項和偏置項初始化為0,利用感知器規則迭代的修改w 和b,直到完成。

關於神經網路,最後提煉了幾條要點:

設計乙個神經網路時,輸入層與輸出層的節點數往往是固定的,中間層則可以自由指定;

神經網路結構圖中的拓撲與箭頭代表著**過程時資料的流向,跟訓練時的資料流有一定的區別;

結構圖裡的關鍵不是圓圈(代表「神經元」),而是連線線(代表「神經元」之間的連線)。每個連線線對應乙個不同的權重(其值稱為權值),這是需要訓練得到的。  

比如基礎的邏輯回歸,結合上面的神經元知識,可以發現,邏輯回歸就是啟用函式是sigmoid的單層簡單神經網路。也就是說,只要在神經元的輸出端有乙個合適的損失函式,就能讓單個神經元變成乙個線性分類器。因此說,那些線性的分類器本身就是乙個單層神經網路。

神經網路,如何解決非線性問題

如果您還記得特徵組合這一單元的話,就會發現以下分類問題屬於非線性問題 圖 1.非線性分類問題。非線性 意味著您無法使用形式為 b w1x1 w2x2 的模型準確 標籤。也就是說,決策面 不是直線。之前,我們了解了對非線性問題進行建模的一種可行方法 特徵組合。現在,請考慮以下資料集 圖 2.更難的非線...

深度學習 用神經網路解決非線性問題

已知德智育三項成績,總分大於等於95即可當選三好學生。用1代表是,用0代表否。線性問題是可以傳遞的,非線性問題則是所謂的 一票否決制 如果在一串連續的關係中有乙個非線性關係出現,一般來說,整個問題都將成為非線性的問題。啟用函式sigmoid 將線性化的關係轉換成非線性化關係的函式,可以把任何數字變成...

神經網路實現非線性回歸

import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 使用numpy生成200個隨機點 x data np.linspace 0.5,0.5,200 np.newaxis noise np.random....