原文鏈接:什么是神經(jīng)網(wǎng)絡(luò)?
人工神經(jīng)網(wǎng)絡(luò)最后是由鉆研人員開(kāi)發(fā)的,他們?cè)噲D模擬人腦的神經(jīng)生理學(xué)。通過(guò)將許多簡(jiǎn)略的計(jì)算元素(神經(jīng)元或單元)組合成高度互連的零碎,這些鉆研人員心愿產(chǎn)生諸如智能之類(lèi)的簡(jiǎn)單景象。神經(jīng)網(wǎng)絡(luò)是一類(lèi)靈便的非線性回歸,判斷模型。通過(guò)檢測(cè)數(shù)據(jù)中簡(jiǎn)單的非線性關(guān)系,神經(jīng)網(wǎng)絡(luò)能夠幫忙做出無(wú)關(guān)理論問(wèn)題的預(yù)測(cè)。
神經(jīng)網(wǎng)絡(luò)對(duì)于存在以下條件的預(yù)測(cè)問(wèn)題特地有用:
神經(jīng)網(wǎng)絡(luò)的常見(jiàn)利用包含信用風(fēng)險(xiǎn)評(píng)估,營(yíng)銷(xiāo)和銷(xiāo)售預(yù)測(cè)。
基于多層感知器(MLP),具備以下特色:
應(yīng)用神經(jīng)網(wǎng)絡(luò)函數(shù)
該 通過(guò)最小化的指標(biāo)函數(shù)訓(xùn)練網(wǎng)絡(luò)。
開(kāi)發(fā)神經(jīng)網(wǎng)絡(luò)時(shí),須要做出許多參數(shù)抉擇:要應(yīng)用的輸出數(shù)量,要應(yīng)用的根本網(wǎng)絡(luò)體系結(jié)構(gòu),要應(yīng)用的暗藏層數(shù)量,每個(gè)暗藏層的單位數(shù)量,要應(yīng)用的激活函數(shù)應(yīng)用等等。
您可能基本不須要任何暗藏層。線性模型和狹義線性模型可用于多種利用。而且,即便要學(xué)習(xí)的函數(shù)是輕微的非線性,如果數(shù)據(jù)太少或噪聲太大而無(wú)奈精確預(yù)計(jì)非線性,應(yīng)用簡(jiǎn)略的線性模型也可能會(huì)比應(yīng)用簡(jiǎn)單的非線性模型取得更好的成果。最簡(jiǎn)略的辦法是從沒(méi)有暗藏單元的網(wǎng)絡(luò)開(kāi)始,而后一次增加一個(gè)暗藏單元。而后預(yù)計(jì)每個(gè)網(wǎng)絡(luò)的誤差。當(dāng)誤差減少時(shí),進(jìn)行增加暗藏的單位。
如果有足夠的數(shù)據(jù),足夠多的暗藏單元和足夠的訓(xùn)練工夫,則只有一個(gè)暗藏層的MLP能夠?qū)W習(xí)到簡(jiǎn)直任何函數(shù)的準(zhǔn)確性。
生成神經(jīng)網(wǎng)絡(luò)模型的獨(dú)立SAS評(píng)分代碼
訓(xùn)練和驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型后,能夠應(yīng)用該模型對(duì)新數(shù)據(jù)進(jìn)行評(píng)分。能夠通過(guò)多種形式對(duì)新數(shù)據(jù)進(jìn)行評(píng)分。一種辦法是提交新數(shù)據(jù),而后運(yùn)行模型,通過(guò)SAS Miner或SAS Visual Data Mining and Machine 應(yīng)用數(shù)據(jù)挖掘來(lái)對(duì)數(shù)據(jù)進(jìn)行評(píng)分,以生成評(píng)分輸入。
本示例闡明如何應(yīng)用操作為ANN模型生成獨(dú)立的SAS評(píng)分代碼。SAS評(píng)分代碼能夠在沒(méi)有SAS Miner許可證的SAS環(huán)境中運(yùn)行。
創(chuàng)立和訓(xùn)練神經(jīng)網(wǎng)絡(luò)
將創(chuàng)立并訓(xùn)練一個(gè)人工神經(jīng)網(wǎng)絡(luò)(ANN),用于分類(lèi),回歸的函數(shù)。
本示例應(yīng)用Iris數(shù)據(jù)集創(chuàng)立多層感知器(MLP)神經(jīng)網(wǎng)絡(luò)。Fisher(1936)發(fā)表的Iris數(shù)據(jù)蘊(yùn)含150個(gè)觀測(cè)值。萼片長(zhǎng)度,萼片寬度,花瓣長(zhǎng)度和花瓣寬度以毫米為單位測(cè)量從各三個(gè)物種50個(gè)標(biāo)本。四種測(cè)量類(lèi)型成為輸出變量。品種名稱成為名義指標(biāo)變量。目標(biāo)是通過(guò)測(cè)量其花瓣和萼片尺寸來(lái)預(yù)測(cè)鳶尾花的品種。
您能夠通過(guò)以下DATA步驟來(lái)將數(shù)據(jù)集加載到會(huì)話中。
data mycas.iris;
set sashelp.iris;
run;
Iris數(shù)據(jù)中沒(méi)有缺失值。這是很重要的,因?yàn)椴僮鲗哪P陀?xùn)練中剔除蘊(yùn)含缺失數(shù)據(jù)的察看值。如果要用于神經(jīng)網(wǎng)絡(luò)剖析的輸出數(shù)據(jù)蘊(yùn)含大量缺失值的觀測(cè)值,則應(yīng)在執(zhí)行模型訓(xùn)練之前替換或估算缺失值。因?yàn)镮ris數(shù)據(jù)不蘊(yùn)含任何缺失值,所以該示例不執(zhí)行變量替換。
該示例應(yīng)用來(lái)創(chuàng)立和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)依據(jù)其萼片和花瓣的長(zhǎng)度和寬度(以毫米為單位)的輸出來(lái)預(yù)測(cè)預(yù)測(cè)鳶尾花品種的函數(shù)。
target="species"
inputs={"sepallength","sepalwidth","petallength","petalwidth"}
nominals={"species"}
hiddens={2}
maxiter=1000
seed=12345
randDist="UNIFORM"
scaleInit=1
combs={"LINEAR"}
targetAct="SOFTMAX"
errorFunc="ENTROPY"
std="MIDRANGE"
validTable=vldTable
應(yīng)用.操作Iris按指標(biāo)變量對(duì)輸出數(shù)據(jù)進(jìn)行分區(qū)Species。將分區(qū)批示列增加 到輸出表。該列蘊(yùn)含映射到數(shù)據(jù)分區(qū)的整數(shù)值。創(chuàng)立一個(gè)由30%的表察看值組成的采樣分區(qū) Species。殘余的70%的表觀測(cè)值形成第二個(gè)分區(qū)。指定12345要用于采樣函數(shù)的隨機(jī)種子值 。命名操作創(chuàng)立的輸出表 (帶有新的分區(qū)信息列) 。如果內(nèi)存中存在具備該名稱的表,則現(xiàn)有表將被新表內(nèi)容籠罩 。在源表中指定所有變量,將其傳輸?shù)讲蓸拥谋碇小?yīng)用新增加的分區(qū)列中的數(shù)據(jù)創(chuàng)立獨(dú)自的表,以進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練和驗(yàn)證。令訓(xùn)練表為表 中所有察看值的子集, 其中列的整數(shù)值 等于1。應(yīng)用新增加的分區(qū)列中的數(shù)據(jù)創(chuàng)立獨(dú)自的表,進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練和驗(yàn)證。假如驗(yàn)證表是表 中所有察看值的子集, 其中列的整數(shù)值 等于0。通過(guò)應(yīng)用帶有指標(biāo)變量的表,來(lái)創(chuàng)立和訓(xùn)練MLP神經(jīng)網(wǎng)絡(luò) Species。
指定四個(gè)輸出變量用作ANN剖析的剖析變量。要求將指標(biāo)變量 Species視為剖析的名義變量。為神經(jīng)網(wǎng)絡(luò)前饋模型中的每個(gè)暗藏層指定暗藏神經(jīng)元的數(shù)量。例如, hiddens={2}用兩個(gè)暗藏的神經(jīng)元指定一個(gè)暗藏層。指定在尋求指標(biāo)函數(shù)收斂時(shí)要執(zhí)行的最大迭代次數(shù)。指定用于執(zhí)行采樣和分區(qū)工作的隨機(jī)種子。要求將UNIFORM散布用于隨機(jī)生成初始神經(jīng)網(wǎng)絡(luò)連貫權(quán)重。指定連貫權(quán)重的比例因子,該比例是絕對(duì)于上一層中的單位數(shù)的。參數(shù)的默認(rèn)值為 1。將參數(shù)的值設(shè)置 為2會(huì)減少連貫權(quán)重的比例。為每個(gè)暗藏層中的神經(jīng)元指定LINEAR組合函數(shù)。在輸入層中為神經(jīng)元指定激活函數(shù)。默認(rèn)狀況下,SOFTMAX函數(shù)用于名義變量。指定誤差函數(shù)來(lái)訓(xùn)練網(wǎng)絡(luò)。ENTROPY是名義指標(biāo)的默認(rèn)設(shè)置。指定要在區(qū)間變量上應(yīng)用的標(biāo)準(zhǔn)化。當(dāng) std參數(shù)的值為時(shí),變量將標(biāo)準(zhǔn)化到0和1。指定要用于驗(yàn)證表的輸出表名稱。這樣能夠通過(guò)應(yīng)用參數(shù)來(lái)盡早進(jìn)行迭代過(guò)程 。指定 作為輸出表。啟用神經(jīng)算法求解器優(yōu)化工具。指定250次最大迭代以進(jìn)行優(yōu)化,并指定1E–10作為指標(biāo)函數(shù)的閾值進(jìn)行值。啟用LBFGS算法。LBFGS是準(zhǔn)牛頓辦法族中的一種優(yōu)化算法,它通過(guò)應(yīng)用無(wú)限的計(jì)算機(jī)內(nèi)存來(lái)近似Broyden---Shanno(BFGS)算法。應(yīng)用頻率參數(shù)來(lái)設(shè)置驗(yàn)證選項(xiàng)。當(dāng) 參數(shù)的值為1時(shí),將在每個(gè)期間進(jìn)行驗(yàn)證。當(dāng) 為0時(shí),將不進(jìn)行任何驗(yàn)證。
輸入顯示數(shù)據(jù)的概述。
輸入:列信息
來(lái)自table.的后果
?
如果在輸出表上應(yīng)用table.fetch命令,則能夠查看輸入2中顯示的示例數(shù)據(jù)行 。
輸入2:已提取的行
來(lái)自table.fetch的后果
?
如果simple.freq在輸出表上應(yīng)用命令,則能夠驗(yàn)證三種品種中每種都有50個(gè)觀測(cè)值,輸出數(shù)據(jù)表中總共有150個(gè)觀測(cè)值,如輸入3所示。
輸入 3:物種頻率
來(lái)自simple.freq的后果
?
Iris通過(guò)勝利實(shí)現(xiàn)輸出表的.訓(xùn)練過(guò)程后 ,后果將顯示訓(xùn)練數(shù)據(jù)迭代歷史記錄,其中蘊(yùn)含指標(biāo)函數(shù),損失和驗(yàn)證誤差列,如 輸入4中所示。
輸入 4:優(yōu)化迭代歷史記錄
來(lái)自.的后果
?
在“迭代歷史記錄”表下方,您應(yīng)該看到“收斂狀態(tài)”表。對(duì)于勝利的神經(jīng)網(wǎng)絡(luò)模型,“收斂狀態(tài)”應(yīng)報(bào)告“優(yōu)化已收斂”,如 輸入 5中所示。
輸入 5:收斂狀態(tài)
?
勝利的模型訓(xùn)練包含輸入模型的摘要后果,如輸入 6所示 。
輸入 6:模型信息
?
這些后果重申了要害的模型構(gòu)建因素,例如模型類(lèi)型;指標(biāo)變量 神經(jīng)網(wǎng)絡(luò)模型輸出,暗藏和輸入節(jié)點(diǎn)的摘要;權(quán)重和偏差參數(shù);最終目標(biāo)值;以及評(píng)分驗(yàn)證數(shù)據(jù)集的誤分類(lèi)誤差。
在表格底部,您將看到由驗(yàn)證數(shù)據(jù)確定的最終誤分類(lèi)謬誤百分比。如果將這個(gè)神經(jīng)網(wǎng)絡(luò)模型用作預(yù)測(cè)函數(shù),并且您的數(shù)據(jù)來(lái)自與Iris驗(yàn)證表具備雷同數(shù)據(jù)分布,則 能夠預(yù)期93%–94%的物種預(yù)測(cè)是正確的。
應(yīng)用神經(jīng)網(wǎng)絡(luò)模型對(duì)輸出數(shù)據(jù)進(jìn)行評(píng)分
訓(xùn)練和驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型后,能夠應(yīng)用該模型對(duì)新數(shù)據(jù)進(jìn)行評(píng)分。最常見(jiàn)的技術(shù)是通過(guò)SAS Miner或SAS Visual Data Mining and Machine 應(yīng)用數(shù)據(jù)挖掘環(huán)境來(lái)生成評(píng)分輸入,從而提交新數(shù)據(jù)并運(yùn)行模型以對(duì)新數(shù)據(jù)評(píng)分。
領(lǐng)有訓(xùn)練的神經(jīng)網(wǎng)絡(luò)后,能夠應(yīng)用該神經(jīng)網(wǎng)絡(luò)模型和 操作對(duì)新的輸出數(shù)據(jù)進(jìn)行評(píng)分,如下所示:
table=vldTable
modelTable="train_model";
辨認(rèn)訓(xùn)練數(shù)據(jù)表。訓(xùn)練數(shù)據(jù)是表中的觀測(cè)值,在分區(qū)批示符列()中的值為0 。確認(rèn)驗(yàn)證數(shù)據(jù)表。驗(yàn)證數(shù)據(jù)是表中的察看值,在分區(qū)批示符列()中的值為1 。對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行評(píng)分。提交輸出數(shù)據(jù),該 數(shù)據(jù)將由經(jīng)過(guò)訓(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%謬誤分類(lèi)謬誤預(yù)測(cè)指標(biāo)變量值。模型訓(xùn)練數(shù)據(jù)蘊(yùn)含已知的目標(biāo)值,因而,在對(duì)模型訓(xùn)練數(shù)據(jù)進(jìn)行評(píng)分時(shí),應(yīng)冀望其分類(lèi)謬誤為0%。對(duì)驗(yàn)證數(shù)據(jù)評(píng)分。該操作將提交輸出數(shù)據(jù),在SAS數(shù)據(jù)挖掘環(huán)境中,由經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型對(duì)輸出數(shù)據(jù)進(jìn)行評(píng)分。驗(yàn)證數(shù)據(jù)蘊(yùn)含已知目標(biāo)值,但訓(xùn)練算法不會(huì)讀取驗(yàn)證數(shù)據(jù)。算法預(yù)測(cè)驗(yàn)證數(shù)據(jù)中每個(gè)察看值的目標(biāo)值,而后將預(yù)測(cè)值與已知值進(jìn)行比擬。分類(lèi)誤差百分比是通過(guò)從1中減去正確預(yù)測(cè)的分類(lèi)百分比來(lái)計(jì)算的。較低的分類(lèi)誤差百分比通常示意模型性能更好。
驗(yàn)證數(shù)據(jù)蘊(yùn)含30%的原始輸出數(shù)據(jù)察看值,并按指標(biāo)變量Species分層 。原始數(shù)據(jù)蘊(yùn)含每個(gè)品種的50個(gè)察看值;驗(yàn)證數(shù)據(jù)(30%)蘊(yùn)含三種物種中每一種的比例15個(gè)觀測(cè)值,總共45個(gè)觀測(cè)值。如果驗(yàn)證數(shù)據(jù)中的45個(gè)察看值中有42個(gè)被正確分類(lèi),則該模型的謬誤分類(lèi)誤差為6.67%。
?
最受歡迎的見(jiàn)解
1.r語(yǔ)言用神經(jīng)網(wǎng)絡(luò)改良nelson-siegel模型擬合收益率曲線剖析
2.r語(yǔ)言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)和后果可視化
3.python用遺傳算法-神經(jīng)網(wǎng)絡(luò)-含糊邏輯控制算法對(duì)樂(lè)透剖析
4.用于nlp的python:應(yīng)用keras的多標(biāo)簽文本lstm神經(jīng)網(wǎng)絡(luò)分類(lèi)
5.用r語(yǔ)言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)股票實(shí)例
6.R語(yǔ)言基于Keras的小數(shù)據(jù)集深度學(xué)習(xí)圖像分類(lèi)
7.用于NLP的seq2seq模型實(shí)例用Keras實(shí)現(xiàn)神經(jīng)機(jī)器翻譯
8.python中基于網(wǎng)格搜索算法優(yōu)化的深度學(xué)習(xí)模型剖析糖
9.matlab應(yīng)用貝葉斯優(yōu)化的深度學(xué)習(xí)
【騰訊云】輕量 2核2G4M,首年65元
阿里云限時(shí)活動(dòng)-云數(shù)據(jù)庫(kù) RDS MySQL 1核2G配置 1.88/月 速搶