極限學習機的使用方法

2021-07-23 17:06:16 字數 2652 閱讀 9278

**:

在傳統的神經網路訓練中,我們通常的做法是要通過梯度下降演算法來不斷的調整隱層與輸出層,輸出層與隱層之間的權值矩陣,以及偏置b。但是elm演算法指出,其實隱層的權值矩陣w和偏置b其實是沒有必要調整的,在學習演算法開始時,任意隨機給定w和b的值,利用其計算出h(隱層節點的輸出),並令其保持不變,需要確定的引數就只有

β 了。這是乙個比較重要的理論基礎。

設前向神經網路的輸入層節點數量為

p ,特徵向量的維數與輸入節點數量相同;hidden layer的節點數量為

l .

則hidden layer的第i個節點的輸出為: 

g(x;wi,

bi)=

g(xw

i+bi

)

則相當於將p維向量對映到l維向量: 

h(x)=[g

(x;w

l,bl

),..

..,g

(x;w

l,bl

)]g(x;

wi,b

i)=1

1+e−

(xwi

+bi)

輸出層的節點數記作m;第i個隱層節點和第j個輸出層節點之間的權重為,則節點j的輸出為:  f

j(x)

=∑i=

1lβi

,j∗g

(x;w

i,bi

)(6)

因此輸入樣本x,他對應的輸出為:f(

x)=[

f1(x

),..

..,f

m(x)

] ,其中: 

β=⎡⎣⎢⎢⎢

⎢β1:

:βl⎤

⎦⎥⎥⎥

⎥=⎡⎣

⎢⎢⎢⎢

β1,1

::βl

,1..

.::.

..β1

,m::

βl,m

⎤⎦⎥⎥

⎥⎥在識別階段,給定乙個樣本x,則該樣本所屬類別為: 

label(x

)=ar

gj=1

,...

.,mm

axfj

(x)

在elm演算法中,input weight and biases 是隨機分配的,因此只有

β  需要訓練令 y

k  表示輸入xk

對應的實際的輸出向量,則將所有的訓練樣本帶入公式(6)中可以得到: 

hβ=y

其中: 

h=⎡⎣⎢⎢⎢

⎢h(x

1)::

h(xn

)⎤⎦⎥

⎥⎥⎥=

⎡⎣⎢⎢

⎢⎢g(

x1;w

1,b1

)::g

(xn;

w1,b

1)..

.::.

..g(

x1;w

l,bl

)::g

(xn;

wl,b

l)⎤⎦

⎥⎥⎥⎥

y=⎡⎣

⎢⎢⎢⎢

y1::

yn⎤⎦

⎥⎥⎥⎥

=⎡⎣⎢

⎢⎢⎢y

1,1:

:yn,

1...

::..

.y1,

m::y

n,m⎤

⎦⎥⎥⎥

訓練的目標是使得訓練誤差||

t−hβ

||2 和輸出權重||

β|| 的範數最小。

因此訓練過程可以表示為乙個有約束最優化問題:

minimiz

e:ψ(

β,ξ)

=12|

|β||

2+c2

||ξ|

|2su

bjec

tto:

hβ=t

−ξ其中c是乙個regularization factor,用來平衡擬合函式的平滑度和函式擬合值與真實資料距離差距這兩者之間的關係。 

可以使用拉格朗日法解決此問題,如果矩陣 (

ic+h

th) 為非奇異矩陣,則  β

=(ic

+hth

)−1h

tt若矩陣非奇異,則還可有:  β

=ht(

ic+h

ht)−

1t可以看到,矩陣(i

c+ht

h)是l*l維的矩陣,而(i

c+hh

t)是n*n維矩陣,因此當訓練樣本很大時,可以使用(15)對(14)進行降維處理。

該方法只有兩個引數要調節:1)隱層節點數l; 2)規範化係數c 

訓練速度要比傳統的神經網路快

實驗採用的是標誌牌識別實驗。

使用標誌牌識別資料集gtsrb進行測試。我直接使用的該資料集中已經提取好的hog特徵,輸入神經網路中訓練。

源**可以參考我的github:

本**是基於作者的elm源**: 

測試43個種類的標誌牌,分類準確度:91.94%。限於計算機記憶體限制,沒有使用全部的訓練集樣本,只使用了訓練集的一半,如果使用全部的訓練集相信精度可以更高。

頂 0 踩

極限學習機

單層前饋神經網路 slfn 以其良好的學習能力在許多領域得到了廣泛的應用,然而傳統的學習演算法,如bp等固有的一些缺點,成為制約其發展的主要瓶頸,前饋神經網路大多採用梯度下降法,該方法存在以下幾個方面的缺點和不足 1 訓練速度慢。由於梯度下降法需要多次迭代,從而達到修正權值和閾值的目的,因此訓練過程...

簡單易學的機器學習演算法 極限學習機 ELM

極限學習機 extreme learning machine elm,是由黃廣斌提出來的求解單隱層神經網路的演算法。elm最大的特點是對於傳統的神經網路,尤其是單隱層前饋神經網路 slfns 在保證學習精度的前提下比傳統的學習演算法速度更快。elm是一種新型的快速學習演算法,對於單隱層神經網路,el...

使用方法 高壓清洗機使用方法

高壓清洗機使用方法 高壓清洗機在供水方面主要分兩類 一類是接水龍頭或者地插等,也就是水會自動流向幫浦頭 另外一類是使用水桶或者水池吸水使用。推薦大家使用水龍頭供水,一是因為水龍頭水量足,這樣機器工作時壓力也大 二是水龍頭水質較好,可以減少幫浦頭 噴嘴的堵塞機率。水桶或水池自吸,一是供水來不如水龍頭充...