国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

拓端tecdat|SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型

2021-07-14 11:13 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=20781?

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

什么是神經(jīng)網(wǎng)絡(luò)?

人工神經(jīng)網(wǎng)絡(luò)最初是由研究人員開發(fā)的,他們?cè)噲D模仿人腦的神經(jīng)生理學(xué)。通過將許多簡(jiǎn)單的計(jì)算元素(神經(jīng)元或單元)組合成高度互連的系統(tǒng),這些研究人員希望產(chǎn)生諸如智能之類的復(fù)雜現(xiàn)象。神經(jīng)網(wǎng)絡(luò)是一類靈活的非線性回歸,判別模型。通過檢測(cè)數(shù)據(jù)中復(fù)雜的非線性關(guān)系,神經(jīng)網(wǎng)絡(luò)可以幫助做出有關(guān)實(shí)際問題的預(yù)測(cè)。

神經(jīng)網(wǎng)絡(luò)對(duì)于存在以下條件的預(yù)測(cè)問題特別有用:

  • 尚無將輸入與輸出相關(guān)的數(shù)學(xué)公式。

  • 預(yù)測(cè)模型比解釋模型更重要。

  • 有很多訓(xùn)練數(shù)據(jù)。

神經(jīng)網(wǎng)絡(luò)的常見應(yīng)用包括信用風(fēng)險(xiǎn)評(píng)估,營銷和銷售預(yù)測(cè)。

neuralNet?基于多層感知器(MLP),具有以下特征:

  • 有任意數(shù)量的輸入

  • 在隱藏層和輸出層中使用線性組合函數(shù)

  • 在隱藏層中使用S型激活函數(shù)

  • 具有一個(gè)或多個(gè)包含任意數(shù)量單位的隱藏層

使用神經(jīng)網(wǎng)絡(luò)函數(shù)

該??neuralNet?通過最小化的目標(biāo)函數(shù)訓(xùn)練網(wǎng)絡(luò)。

開發(fā)神經(jīng)網(wǎng)絡(luò)時(shí),需要做出許多參數(shù)選擇:要使用的輸入數(shù)量,要使用的基本網(wǎng)絡(luò)體系結(jié)構(gòu),要使用的隱藏層數(shù)量,每個(gè)隱藏層的單位數(shù)量,要使用的激活函數(shù)使用等等。

您可能根本不需要任何隱藏層。線性模型和廣義線性模型可用于多種應(yīng)用。而且,即使要學(xué)習(xí)的函數(shù)是輕微的非線性,如果數(shù)據(jù)太少或噪聲太大而無法準(zhǔn)確估計(jì)非線性,使用簡(jiǎn)單的線性模型也可能會(huì)比使用復(fù)雜的非線性模型獲得更好的效果。最簡(jiǎn)單的方法是從沒有隱藏單元的網(wǎng)絡(luò)開始,然后一次添加一個(gè)隱藏單元。然后估計(jì)每個(gè)網(wǎng)絡(luò)的誤差。當(dāng)誤差增加時(shí),停止添加隱藏的單位。

如果有足夠的數(shù)據(jù),足夠多的隱藏單元和足夠的訓(xùn)練時(shí)間,則只有一個(gè)隱藏層的MLP可以學(xué)習(xí)到幾乎任何函數(shù)的準(zhǔn)確性。

生成神經(jīng)網(wǎng)絡(luò)模型的獨(dú)立SAS評(píng)分代碼

訓(xùn)練和驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型后,可以使用該模型對(duì)新數(shù)據(jù)進(jìn)行評(píng)分??梢酝ㄟ^多種方式對(duì)新數(shù)據(jù)進(jìn)行評(píng)分。一種方法是提交新數(shù)據(jù),然后運(yùn)行模型,通過SAS Enterprise Miner或SAS Visual Data Mining and Machine Learning使用數(shù)據(jù)挖掘來對(duì)數(shù)據(jù)進(jìn)行評(píng)分,以生成評(píng)分輸出。

本示例說明如何使用??neuralNet操作為ANN模型生成獨(dú)立的SAS評(píng)分代碼。SAS評(píng)分代碼可以在沒有SAS Enterprise Miner許可證的SAS環(huán)境中運(yùn)行。

創(chuàng)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)

annTrain?將創(chuàng)建并訓(xùn)練一個(gè)人工神經(jīng)網(wǎng)絡(luò)(ANN),用于分類,回歸的函數(shù)。

本示例使用Iris?數(shù)據(jù)集創(chuàng)建多層感知器(MLP)神經(jīng)網(wǎng)絡(luò)。Fisher(1936)發(fā)表的Iris數(shù)據(jù)包含150個(gè)觀測(cè)值。萼片長(zhǎng)度,萼片寬度,花瓣長(zhǎng)度和花瓣寬度以毫米為單位測(cè)量從各三個(gè)物種50個(gè)標(biāo)本。四種測(cè)量類型成為輸入變量。種類名稱成為名義目標(biāo)變量。目的是通過測(cè)量其花瓣和萼片尺寸來預(yù)測(cè)鳶尾花的種類。

您可以通過以下DATA步驟來將數(shù)據(jù)集加載到會(huì)話中。

  1. data mycas.iris;

  2. set sashelp.iris;

  3. run;

Iris數(shù)據(jù)中沒有缺失值。這是很重要的,因?yàn)?code>annTrain?操作將從模型訓(xùn)練中剔除包含缺失數(shù)據(jù)的觀察值。如果要用于神經(jīng)網(wǎng)絡(luò)分析的輸入數(shù)據(jù)包含大量缺失值的觀測(cè)值,則應(yīng)在執(zhí)行模型訓(xùn)練之前替換或估算缺失值。因?yàn)?code>Iris數(shù)據(jù)不包含任何缺失值,所以該示例不執(zhí)行變量替換。

該示例使用??annTrain?來創(chuàng)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)根據(jù)其萼片和花瓣的長(zhǎng)度和寬度(以毫米為單位)的輸入來預(yù)測(cè)預(yù)測(cè)鳶尾花種類的函數(shù)。



  1. target="species"

  2. inputs={"sepallength","sepalwidth","petallength","petalwidth"}

  3. nominals={"species"}

  4. hiddens={2}

  5. maxiter=1000

  6. seed=12345

  7. randDist="UNIFORM"

  8. scaleInit=1

  9. combs={"LINEAR"}

  10. targetAct="SOFTMAX"

  11. errorFunc="ENTROPY"

  12. std="MIDRANGE"

  13. validTable=vldTable


  1. 使用sampling.Stratified?操作Iris?按目標(biāo)變量對(duì)輸入數(shù)據(jù)進(jìn)行分區(qū)?Species。

  2. 將分區(qū)指示列添加??_Partind_?到輸出表。該_Partind_?列包含映射到數(shù)據(jù)分區(qū)的整數(shù)值。

  3. 創(chuàng)建一個(gè)由30%的表觀察值組成的采樣分區(qū)??Species。剩余的70%的表觀測(cè)值構(gòu)成第二個(gè)分區(qū)。

  4. 指定12345?要用于采樣函數(shù)的隨機(jī)種子值? 。

  5. 命名sampling_stratified?操作創(chuàng)建的輸出表? (帶有新的分區(qū)信息列)??iris_partitioned。如果內(nèi)存中存在具有該名稱的表,則現(xiàn)有表將被新iris_partitioned?表內(nèi)容覆蓋? 。

  6. 在源表中指定所有變量,將其傳輸?shù)讲蓸拥谋碇小?/p>

  7. 使用新添加的分區(qū)列中的數(shù)據(jù)創(chuàng)建單獨(dú)的表,以進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練和驗(yàn)證。令訓(xùn)練表trnTable?為表? 中所有觀察iris_partitioned?值的子集,? 其中列的整數(shù)值??_Partind_?等于1。

  8. 使用新添加的分區(qū)列中的數(shù)據(jù)創(chuàng)建單獨(dú)的表,進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練和驗(yàn)證。假設(shè)驗(yàn)證表vldTable?是表? 中所有觀察iris_partitioned?值的子集,? 其中列的整數(shù)值??_Partind_?等于0。

  9. annTrain?通過使用trnTable?帶有目標(biāo)變量的表,來創(chuàng)建和訓(xùn)練MLP神經(jīng)網(wǎng)絡(luò)??Species。

  10. 指定四個(gè)輸入變量用作ANN分析的分析變量。

  11. 要求將目標(biāo)變量??Species?視為分析的名義變量。

  12. 為神經(jīng)網(wǎng)絡(luò)前饋模型中的每個(gè)隱藏層指定隱藏神經(jīng)元的數(shù)量。例如,??hiddens={2}?用兩個(gè)隱藏的神經(jīng)元指定一個(gè)隱藏層。

  13. 指定在尋求目標(biāo)函數(shù)收斂時(shí)要執(zhí)行的最大迭代次數(shù)。

  14. 指定用于執(zhí)行采樣和分區(qū)任務(wù)的隨機(jī)種子。

  15. 要求將UNIFORM分布用于隨機(jī)生成初始神經(jīng)網(wǎng)絡(luò)連接權(quán)重。

  16. 指定連接權(quán)重的比例因子,該比例是相對(duì)于上一層中的單位數(shù)的。scaleInit?參數(shù)的默認(rèn)值為? 1。將參數(shù)的值設(shè)置??scaleInit?為2會(huì)增加連接權(quán)重的比例。

  17. 為每個(gè)隱藏層中的神經(jīng)元指定LINEAR組合函數(shù)。

  18. 在輸出層中為神經(jīng)元指定激活函數(shù)。默認(rèn)情況下,SOFTMAX函數(shù)用于名義變量。

  19. 指定誤差函數(shù)來訓(xùn)練網(wǎng)絡(luò)。ENTROPY是名義目標(biāo)的默認(rèn)設(shè)置。

  20. 指定要在區(qū)間變量上使用的標(biāo)準(zhǔn)化。當(dāng)??std?參數(shù)的值為MIDRANGE時(shí),變量將標(biāo)準(zhǔn)化到0和1。

  21. 指定要用于驗(yàn)證表的輸入表名稱。這樣可以通過使用optmlOpt?參數(shù)來盡早停止迭代過程? 。

  22. 指定??Nnet_train_model?作為輸出表。

  23. 啟用神經(jīng)算法求解器優(yōu)化工具。

  24. 指定250次最大迭代以進(jìn)行優(yōu)化,并指定1E–10作為目標(biāo)函數(shù)的閾值停止值。

  25. 啟用LBFGS算法。LBFGS是準(zhǔn)牛頓方法族中的一種優(yōu)化算法,它通過使用有限的計(jì)算機(jī)內(nèi)存來近似Broyden-Fletcher-Goldfarb-Shanno(BFGS)算法。

  26. 使用頻率參數(shù)來設(shè)置驗(yàn)證選項(xiàng)。當(dāng)??frequency?參數(shù)的值為1時(shí),將在每個(gè)時(shí)期進(jìn)行驗(yàn)證。當(dāng)??frequency?為0時(shí),將不進(jìn)行任何驗(yàn)證。

輸出顯示數(shù)據(jù)的概述。

輸出:列信息

來自table.columnInfo的結(jié)果

如果在輸入表上使用table.fetch?命令,則可以查看輸出2中顯示的示例數(shù)據(jù)行? 。

輸出2:已提取的行

來自table.fetch的結(jié)果

如果simple.freq?在輸入表上使用命令,則可以驗(yàn)證三種種類中每種都有50個(gè)觀測(cè)值,輸入數(shù)據(jù)表中總共有150個(gè)觀測(cè)值,如輸出3所示。

輸出 3:物種頻率

來自simple.freq的結(jié)果

Iris?通過成功完成輸入表的neuralNet.annTrain訓(xùn)練過程后? ,結(jié)果將顯示訓(xùn)練數(shù)據(jù)迭代歷史記錄,其中包含目標(biāo)函數(shù),損失和驗(yàn)證誤差列,如??輸出4中所示。

輸出 4:優(yōu)化迭代歷史記錄

來自NeuroNet.annTrain的結(jié)果

在“迭代歷史記錄”表下方,您應(yīng)該看到“收斂狀態(tài)”表。對(duì)于成功的神經(jīng)網(wǎng)絡(luò)模型,“收斂狀態(tài)”應(yīng)報(bào)告“優(yōu)化已收斂”,如??輸出 5中所示。

輸出 5:收斂狀態(tài)

成功的模型訓(xùn)練包括輸出模型的摘要結(jié)果,如輸出 6所示? 。

輸出 6:模型信息

這些結(jié)果重申了關(guān)鍵的模型構(gòu)建因素,例如模型類型;目標(biāo)變量 神經(jīng)網(wǎng)絡(luò)模型輸入,隱藏和輸出節(jié)點(diǎn)的摘要;權(quán)重和偏差參數(shù);最終目標(biāo)值;以及評(píng)分驗(yàn)證數(shù)據(jù)集的誤分類誤差。

在表格底部,您將看到由驗(yàn)證數(shù)據(jù)確定的最終誤分類錯(cuò)誤百分比。如果將這個(gè)神經(jīng)網(wǎng)絡(luò)模型用作預(yù)測(cè)函數(shù),并且您的數(shù)據(jù)來自與Iris?驗(yàn)證表具有相同數(shù)據(jù)分布,則? 可以預(yù)期93%–94%的物種預(yù)測(cè)是正確的。

使用神經(jīng)網(wǎng)絡(luò)模型對(duì)輸入數(shù)據(jù)進(jìn)行評(píng)分

訓(xùn)練和驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型后,可以使用該模型對(duì)新數(shù)據(jù)進(jìn)行評(píng)分。最常見的技術(shù)是通過SAS Enterprise Miner或SAS Visual Data Mining and Machine Learning使用數(shù)據(jù)挖掘環(huán)境來生成評(píng)分輸出,從而提交新數(shù)據(jù)并運(yùn)行模型以對(duì)新數(shù)據(jù)評(píng)分。

擁有訓(xùn)練的神經(jīng)網(wǎng)絡(luò)后,可以使用該神經(jīng)網(wǎng)絡(luò)模型和??annScore?操作對(duì)新的輸入數(shù)據(jù)進(jìn)行評(píng)分,如下所示:


  1. table=vldTable

  2. modelTable="train_model";

  1. 識(shí)別訓(xùn)練數(shù)據(jù)表。訓(xùn)練數(shù)據(jù)是iris_partitioned?表中的觀測(cè)值,在分區(qū)指示符列(_partind_)中的值為0 。

  2. 確認(rèn)驗(yàn)證數(shù)據(jù)表。驗(yàn)證數(shù)據(jù)是iris_partitioned?表中的觀察值,在分區(qū)指示符列(_partind_)中的值為1 。

  3. 對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行評(píng)分。提交輸入數(shù)據(jù),該? 數(shù)據(jù)將由經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型評(píng)分。因?yàn)樵诖舜a塊中要評(píng)分的數(shù)據(jù)是模型訓(xùn)練數(shù)據(jù),所以您應(yīng)該期望評(píng)分代碼讀取所有105個(gè)觀察值,并以0%錯(cuò)誤分類錯(cuò)誤預(yù)測(cè)目標(biāo)變量值。模型訓(xùn)練數(shù)據(jù)包含已知的目標(biāo)值,因此,在對(duì)模型訓(xùn)練數(shù)據(jù)進(jìn)行評(píng)分時(shí),應(yīng)期望其分類錯(cuò)誤為0%。

  4. 對(duì)驗(yàn)證數(shù)據(jù)評(píng)分。該操作將提交輸入數(shù)據(jù),在SAS數(shù)據(jù)挖掘環(huán)境中,由經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型對(duì)輸入數(shù)據(jù)進(jìn)行評(píng)分。驗(yàn)證數(shù)據(jù)包含已知目標(biāo)值,但訓(xùn)練算法不會(huì)讀取驗(yàn)證數(shù)據(jù)。算法預(yù)測(cè)驗(yàn)證數(shù)據(jù)中每個(gè)觀察值的目標(biāo)值,然后將預(yù)測(cè)值與已知值進(jìn)行比較。分類誤差百分比是通過從1中減去正確預(yù)測(cè)的分類百分比來計(jì)算的。較低的分類誤差百分比通常表示模型性能更好。

驗(yàn)證數(shù)據(jù)包含30%的原始輸入數(shù)據(jù)觀察值,并按目標(biāo)變量Species分層? 。原始數(shù)據(jù)包含每個(gè)種類的50個(gè)觀察值;驗(yàn)證數(shù)據(jù)(30%)包含三種物種中每一種的比例15個(gè)觀測(cè)值,總共45個(gè)觀測(cè)值。如果驗(yàn)證數(shù)據(jù)中的45個(gè)觀察值中有42個(gè)被正確分類,則該模型的錯(cuò)誤分類誤差為6.67%。

最受歡迎的見解

1.r語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)nelson-siegel模型擬合收益率曲線分析

2.r語言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)和結(jié)果可視化

3.python用遺傳算法-神經(jīng)網(wǎng)絡(luò)-模糊邏輯控制算法對(duì)樂透分析

4.用于nlp的python:使用keras的多標(biāo)簽文本lstm神經(jīng)網(wǎng)絡(luò)分類

5.用r語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)股票實(shí)例

6.R語言基于Keras的小數(shù)據(jù)集深度學(xué)習(xí)圖像分類

7.用于NLP的seq2seq模型實(shí)例用Keras實(shí)現(xiàn)神經(jīng)機(jī)器翻譯

8.python中基于網(wǎng)格搜索算法優(yōu)化的深度學(xué)習(xí)模型分析糖

9.matlab使用貝葉斯優(yōu)化的深度學(xué)習(xí)請(qǐng)選中你要保存的內(nèi)容,粘貼到此文本框

拓端tecdat|SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
阜宁县| 盐池县| 卢龙县| 思茅市| 荆州市| 麦盖提县| 成武县| 阜平县| 和田县| 太和县| 琼中| 星子县| 城口县| 凤山市| 彭泽县| 怀柔区| 随州市| 巴塘县| 丹巴县| 龙陵县| 舟曲县| 丰宁| 黄骅市| 安溪县| 金川县| 德安县| 合山市| 习水县| 怀柔区| 南开区| 崇明县| 金川县| 永昌县| 方山县| 堆龙德庆县| 道孚县| 宁安市| 务川| 西畴县| 临澧县| 吉林市|