最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

neuralnetwork

2023-06-29 14:12 作者:SPSSAU官方賬號  | 我要投稿

SPSSAU-在線SPSS分析軟件

BP神經網絡 多層感知器MLP(Multi-Layer Perception) neural network ? SPSSAU

神經網絡

神經網絡(neural network)是一種模擬人腦神經思維方式的數據模型,神經網絡有多種,包括BP神經網絡、卷積神經網絡,多層感知器MLP等,最為經典為神經網絡為多層感知器MLP(Multi-Layer Perception),SPSSAU默認使用該模型。類似其它的機器學習模型(比如決策樹、隨機森林、支持向量機SVM等),神經網絡模型構建時首先將數據分為訓練集和測試集,訓練集用于訓練模型,測試集用于測試模型的優(yōu)劣,并且神經網絡模型可用于特征重要性識別、數據預測使用,也或者訓練好模型用于部署工程使用等。

神經網絡案例

Contents

1 背景 2

2 理論 2

3 操作 4

4 SPSSAU輸出結果 5

5文字分析 5

6 剖析 6

1 背景

本部分神經網絡使用的‘鳶尾花分類數據集’進行案例演示,其共為150個樣本,包括4個特征屬性(4個自變量X),以及標簽(因變量Y)為鳶尾花卉類別,共包括3個類別分別是剛毛鳶尾花、變色鳶尾花和弗吉尼亞鳶尾花(下稱A、B、C三類)。

2 理論

神經網絡的原理上,其可見下圖。

原理上,首先輸入特征項X,即放入的自變量項,神經網絡模型時,可將特征項X構建出‘偽特征’,比如輸入的是性別、年齡、身高、體重等,其結合‘激活函數’構建出一些‘偽特征項’(即事實不存在,完全由模型構建的特征項,并且是無法解釋的特征項),具體構建上,比如為線性激活函數時可直觀理解為類似“y=1+2*x1+3*x2+4*x3+…”這樣的函數)。并且構建‘偽特征項’可有多個層次(即‘隱層神經元’可以有多層,默認是1層),并且每個層次可以有多個神經元(默認是100)。最終由數學優(yōu)化算法計算,得到輸出,即預測項。

通俗上看,即輸入特征項X,然后經過1輪或多輪的‘偽特征’構建,并且由算法最優(yōu)求解,得到輸出項。結合神經網絡的原理情況,其涉及以下參數,如下:

激活函數,即中間神經元如何得到的數學函數,通常是非線性函數,且通常使用relu項即可。權重優(yōu)化方法上提供三種,分別是lbfgs,sgd和adam,默認使用機遇梯度下降法,權重優(yōu)化方法用于最優(yōu)權重值計算?!癓2正則化懲罰系數”用于防止過擬合使用,該值越大時越容易帶來更好的訓練模型擬合,但‘過擬合’風險越高(即訓練數據模型良好,但測試數據模型糟糕)。最大迭代次數和優(yōu)化容忍度為算法內部結束的判斷標準。

隱層神經元設置上,層數越多模型越復雜,計算時間越長,但理論上層數越多模型擬合效果會越好,SPSSAU默認是一層。神經元個數(即‘偽特征數量’)上,該參數值越大時越容易帶來更好的模型擬合效果,但同時也容易帶來‘過擬合’效果,一般情況下建議神經元個數應該小于‘特征項個數’的2倍,比如本案例數據時僅為4個特征項,可將神經元個數最多設置為8;隱層神經元層次越多,神經元個數越多時,會讓模型變的復雜并且計算時間越長,當特征項個數較多時,建議通過減少層數和神經元個數方式綜合權衡(SPSSAU默認是一層,神經元個數為100)。

除此之外,當權重優(yōu)化方法為sgd或者adam時,可能涉及下述3個參數值(權重優(yōu)化方法為lbfgs牛頓法時時不包括),如下:

初始學習率為內部迭代過程中最優(yōu)解移動的步長值,該值越大時計算越快,但容易找不到最優(yōu)解,該值越小時計算越慢,但其更可能找到最優(yōu)解。除此之外,還可對學習率進行優(yōu)化,優(yōu)化方法共有三種,默認使用constant法。

Batch size指內部數學算法時每次用于訓練數據的個數,比如訓練數據有1000個,那么設置Batch size為100,神經網絡內部算法會先用其中100個數據來訓練,然后用另外100個訓練,一直訓練直至訓練數據使用完。該參數值越小時,其會減少機器內存的使用,但通常神經網絡運行時間會越長,該參數值默認為200和訓練樣本個數二者的較小值,如果訓練數據較小時,建議自行設置該參數值為較小值,比如僅100個訓練數據時,建議設置該值介于2 ~ 20之間,但過小的Batch size值會帶來計算收斂太慢等問題,因而實際使用時,建議設置多個不同的batch size值進行對比選擇使用。

3 操作

本例子操作如下:

訓練集比例默認選擇為:0.8即80%(150*0.8=120個樣本)進行訓練神經網絡,余下20%即30個樣本(測試數據)用于模型的驗證。為保持數據量綱統(tǒng)一,選擇‘正態(tài)標準化’方式。但需要注意的是,本案例數據僅150個,用于訓練的數據僅120個非常少,因而需要特別設置某些參數值。

首先是batch size值,由于僅120個數據用于訓練模型太少,因此batch size設置為10個(或者20個對比等)較好。其它參數暫默認,但第一次出來的模型非常糟糕,訓練集數據f1-score僅為0.58,意味著該模型不可行。接著考慮隱層神經元這個重要的參數值,由于當前數據樣本非常少,并且特征項很低,可以考慮‘讓模型更復雜些’,即加大神經元層數,本次設置為3層,每層為100個神經元。最終訓練數據評估效果良好,并且測試數據評估效果良好,意味著模型不存在‘過擬合’現(xiàn)象,模型可用。

本案例設置參數如下:

4 SPSSAU輸出結果

SPSSAU共輸出5項結果,依次為基本信息匯總,訓練集或測試集模型評估結果,測試集結果混淆矩陣,模型匯總表和模型代碼,如下說明:

上述表格中,基本信息匯總展示出因變量Y(標簽項)的分類分布情況,模型評估結果(包括訓練集或測試集)用于模型的擬合效果判斷,尤其是測試集的擬合效果,以及提供測試集數據的混淆矩陣結果;模型匯總表格將各類參數值進行匯總,并且在最后附錄神經網絡模型構建的核心代碼。

5文字分析

接下來針對最重要的模型擬合情況進行說明,如下表格:

上表格中分別針對訓練集和測試集,提供四個評估指標,分別是精確率、召回率、f1-scrore、準確率,以及平均指標和樣本量指標等,訓練數據時f1-score值為0.97,并且測試集數據也保持著0.94高分,二者比較接近,因而意味著應該不存在‘過擬合’現(xiàn)象,而且模型良好。

接著進一步查看測試數據的‘混淆矩陣’,即模型預測和事實情況的交叉集合,如下圖:

‘混淆矩陣’時,右下三角對角線的值越大越好,其表示預測值和真實值完全一致。上圖中僅B類中2個樣本被判斷成C類,其余全部正確,意味著本次神經網絡在測試數據上表現(xiàn)良好。最后SPSSAU輸出模型參數信息值,如下表格:

模型匯總表展示模型各項參數設置情況,最后SPSSAU輸出使用python中slearn包構建本次神經網絡的核心代碼如下:

model = MLPClassifier(activation='relu', alpha=1.0E-4, hidden_layer_sizes=(100,100,100), learning_rate='constant', learning_rate_init=1.0E-4, batch_size=20, max_iter=200, solver='adam', tol=0.001) ? ?

model.fit(x_train, y_train)

6 剖析

涉及以下幾個關鍵點,分別如下:

  • 神經網絡時是否需要標準化處理?

一般建議是進行標準化處理,因為神經網絡中可能涉及距離計算,需要量綱化數據處理,通常使用正態(tài)標準化處理方式即可。

  • 保存預測值

保存預測值時,SPSSAU會新生成一個標題用于存儲模型預測的類別信息,其數字的意義與模型中標簽項(因變量Y)的數字保持一致意義。

  • SPSSAU進行神經網絡構建時,自變量X(特征項)中包括定類數據如何處理?

神經網絡時通常不會關注于數據類型本身,因為其原理上是對特征項進行非線性轉換神經元,進而優(yōu)先各類特征權重值,且其中間隱藏層變換過程后已經失去原始特征的實際意義,因而神經網絡通常不關注數據類型。如果一定要處理,建議可對定類數據進行啞變量轉化后放入,關于啞變量可點擊查看。

http://spssau.com/front/spssau/helps/otherdocuments/dummy.html

  • SPSSAU中神經網絡合格的判斷標準是什么?

機器學習模型中,通常均為先使用訓練數據訓練模型,然后使用測試數據測試模型效果。通常判斷標準為訓練模型具有良好的擬合效果,同時測試模型也有良好的擬合效果。機器學習模型中很容易出現(xiàn)‘過擬合’現(xiàn)象即假的好結果,因而一定需要重點關注測試數據的擬合效果。針對單一模型,可通過變換參數調優(yōu),與此同時,可使用多種機器學習模型,比如使用決策樹、隨機森林、支持向量機、神經網絡等,綜合對比選擇最優(yōu)模型。

  • 神經網絡更多參考資料?

更多關于神經網絡的資料,可通過sklearn官方手冊查看,點擊查看。

https://scikit-learn.org/stable/modules/neural_networks_supervised.html

  • 神經網絡模型參數設置?

神經網絡模型時,參數設置非常重要,建議對batch size進行自定義(當權重優(yōu)化方法為sgd或adam時,且選擇batch size為custom,自定義batch size),并且設置隱層神經元層數及每層神經元個數(隱層神經元層數加大,每層神經元個數加大時均對模型有著擬合幫助,但會帶來計算時間更長且模型更復雜帶來‘過擬合’現(xiàn)象,正常情況下建議隱層神經元層數小于等于3)。如果出現(xiàn)‘過擬合’現(xiàn)象,可對L2正則化懲罰系數值進行設置(設置更大)。另外可對初始學習率參數值設置更多,以加快計算速度。

neuralnetwork的評論 (共 條)

分享到微博請遵守國家法律
开化县| 崇义县| 林周县| 丁青县| 楚雄市| 阳新县| 巩义市| 齐齐哈尔市| 揭阳市| 漳平市| 广灵县| 吉隆县| 西安市| 安塞县| 门源| 临桂县| 句容市| 天峻县| 辰溪县| 金坛市| 乌鲁木齐县| 开鲁县| 若尔盖县| 昌都县| 桂阳县| 溧水县| 兴文县| 镇雄县| 浦北县| 潞城市| 南丰县| 兴仁县| 利川市| 奎屯市| 牡丹江市| 湘阴县| 玛曲县| 化德县| 繁昌县| 太康县| 中江县|