




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、NetBeans神經(jīng)網(wǎng)絡(luò)入門教程N(yùn)etBeans Platform 是一個(gè)通用的 Java Swing 應(yīng)用程序框架,它提供了一組 GUI 組件和一個(gè)模塊系統(tǒng),用于開發(fā)自定義桌面應(yīng)用程序。當(dāng)然,NetBeans Platform 上最著名的應(yīng)用程序是 NetBeans IDE,但在 NetBeans Platform 展示中也可以看到許多其他示例。Neuroph Studio 是一個(gè)在 NetBeans Platform 和 Neuroph Framework 上構(gòu)建的 Java 神經(jīng)網(wǎng)絡(luò)開發(fā)環(huán)境。它是針對神經(jīng)網(wǎng)絡(luò)開發(fā)定制的類似于 IDE 的環(huán)境。Neuroph Studio 是位于 Neur
2、oph Framework 之上的 GUI。Neuroph Framework 是一個(gè)功能齊備的 Java 框架,提供用于構(gòu)建神經(jīng)網(wǎng)絡(luò)的各種類。除了提供易于 使用的神經(jīng)網(wǎng)絡(luò)向?qū)Ш凸ぞ咧猓琋europh Studio 還集成了 NetBeans IDE 中的基本 Java 開發(fā)模塊,因此開發(fā)人員可以在同一環(huán)境中基于神經(jīng)網(wǎng)絡(luò)創(chuàng)建、測試和部署各種 Java 組件。以前,開發(fā)人員通常需要兩個(gè)應(yīng)用程序:一個(gè)用于神經(jīng)網(wǎng)絡(luò)開發(fā),一個(gè)用于 Java 開發(fā)。神經(jīng)網(wǎng)絡(luò)屬于人工智能(機(jī)器學(xué)習(xí)技術(shù)), 適用于諸如識(shí)別、預(yù)測、分類和控制之類的定義不明確的問題。本文將介紹如何創(chuàng)建一些用于分類的 Java 神經(jīng)網(wǎng)絡(luò)。注意
3、,Neuroph Studio 還支持圖像識(shí)別、文本字符識(shí)別和手寫字母識(shí)別,這些功能將在以后的文章中介紹。注意:如果要安裝 Neuroph Studio 和 Neuroph Framework 以嘗試本文中介紹的示例,請下載 Neuroph Framework 和 Neuroph Studio(適用于 Microsoft Windows、Linux 或 Mac,具體取決于您系統(tǒng)所運(yùn)行的操作系統(tǒng))。使用 Neuroph Studio 構(gòu)建神經(jīng)網(wǎng)絡(luò)的簡要概述在介紹如何針對實(shí)際問題創(chuàng)建和使用神經(jīng)網(wǎng)絡(luò)之前,我先簡要地說明一下什么是神經(jīng)網(wǎng)絡(luò),并提供一些適用于神經(jīng)網(wǎng)絡(luò)工作方式的一般原則。神經(jīng)網(wǎng)絡(luò)是模仿人腦
4、工作方式的計(jì)算模型。盡管它們是非常簡化的模型,并且基于人腦工作方式的已知原理,但它們展現(xiàn)了一些非常有趣的特性,例如學(xué)習(xí)、歸納和聯(lián)想功能。此外,它們還擅長處理噪聲數(shù)據(jù)或不完整數(shù)據(jù)。神經(jīng)網(wǎng)絡(luò)是圖形式結(jié)構(gòu),包括一組被稱作神經(jīng)元 的互連節(jié)點(diǎn)。每個(gè)神經(jīng)元都具有輸入端和輸出端,通過輸入端從其他神經(jīng)元(連接到其輸入端)接收輸入,通過輸出端將輸出發(fā)送到其他神經(jīng)元(連接到其輸出端)。神經(jīng)元的互連方式?jīng)Q定了神經(jīng)網(wǎng)絡(luò)架構(gòu)的類型。除了神經(jīng)元之間的連接模式之外,網(wǎng)絡(luò)行為由神經(jīng)元內(nèi)部的處理和所謂的連接權(quán)重 決定。連接權(quán)重是與神經(jīng)元之間的連接關(guān)聯(lián)的數(shù)值,通過使用相應(yīng)的算法(稱為學(xué)習(xí)規(guī)則)調(diào)整這些值,我們可以調(diào)整網(wǎng)絡(luò)行為。典
5、型的神經(jīng)元處理包括計(jì)算神經(jīng)元輸入和連接權(quán)重的加權(quán)總和,然后將該值提供給某個(gè)函數(shù)(通常使用 step、sigmoid 或 tanh 函數(shù))。該函數(shù)的輸出表示神經(jīng)元的輸出。無論您要?jiǎng)?chuàng)建常見類型的神經(jīng)網(wǎng)絡(luò)還是自定義神經(jīng)網(wǎng)絡(luò),Neuroph Framework 都提供了所有這些現(xiàn)成的神經(jīng)網(wǎng)絡(luò)組件。Neuroph Studio 還提供了一些演示神經(jīng)網(wǎng)絡(luò)基本原理的示例?;旧窠?jīng)元示例基本神經(jīng)元示例演示了單個(gè)神經(jīng)元的基本組件和處理。1. 要打開基本神經(jīng)元示例,在 Neuroph Studio 中選擇 File > New Project > Samples > Neuroph > B
6、asic Neuron Sample。圖 1. 創(chuàng)建基本神經(jīng)元示例新項(xiàng)目這個(gè)基本神經(jīng)元模型包括以下組件:· 兩個(gè)輸入 x1 和 x2 以及對應(yīng)的權(quán)重 w1 和 w2。· 一個(gè)輸入函數(shù),它使用以下公式計(jì)算加權(quán)總和:s = (x1*w1) + (x2*w2)。· 一個(gè)傳遞函數(shù),它將加權(quán)總和作為輸入,使用簡單的 step 函數(shù)計(jì)算神經(jīng)元的輸出。如果加權(quán)總和大于零,則函數(shù)輸出 1;否則,輸出 0。圖 2. 基本神經(jīng)元示例2. 通過更改輸入和權(quán)重值嘗試運(yùn)行該示例并使用神經(jīng)元,然后單擊 Calculate output 按鈕。在學(xué)習(xí)過程中,自動(dòng)調(diào)整神經(jīng)元的權(quán)重以實(shí)現(xiàn)期望的行為
7、。這是人工神經(jīng)元工作的基本原理,但根據(jù)神經(jīng)網(wǎng)絡(luò)類型的不同還有許多變化。多層感知器 (MLP) 網(wǎng)絡(luò)是一種常用于多種不同類型問題的神經(jīng)網(wǎng)絡(luò)類型。該網(wǎng)絡(luò)包括數(shù)層神經(jīng)元(至少三層),其中一層中的每個(gè)神經(jīng)元都連接到下一層中的每個(gè)神經(jīng)元。用于該類型網(wǎng)絡(luò)的常見傳遞函數(shù)是所謂的 sigmoid 函數(shù)。圖 3 中顯示了該類型網(wǎng)絡(luò)的架構(gòu)。圖 3. 多層感知器網(wǎng)絡(luò)架構(gòu)此類型的網(wǎng)絡(luò)可用于各種機(jī)器學(xué)習(xí)任務(wù),例如識(shí)別、預(yù)測、估算等。Neuroph Studio 提供了一個(gè)展示多層感知器網(wǎng)絡(luò)如何用于分類問題的示例。多層感知器分類示例該示例顯示如何使用多層感知器網(wǎng)絡(luò)學(xué)習(xí)復(fù)雜的分類任務(wù)。1. 要運(yùn)行該示例,在 Neuroph
8、 Studio 中選擇 File > New Project > Samples > Neuroph > Multi Layer Perceptron Classification Sample,如圖 4 中所示。圖 4. 多層感知器網(wǎng)絡(luò)示例2. 通過單擊特性空間 (x1, x2) 創(chuàng)建一個(gè)分類任務(wù)。單擊左鍵將創(chuàng)建紅點(diǎn),單擊右鍵將創(chuàng)建藍(lán)點(diǎn)。每個(gè)點(diǎn)表示一個(gè)具有兩個(gè)特性(x1 和 x2)的項(xiàng)。這些項(xiàng)表示神經(jīng)網(wǎng)絡(luò)應(yīng)該以這樣一種方式學(xué)習(xí)的數(shù)據(jù):對于給定輸入(x1 和 x2),該方式可以確定輸入屬于藍(lán)色類還是紅色類。圖 5. 多層感知器網(wǎng)絡(luò)示例的數(shù)據(jù)輸入特性的數(shù)量對應(yīng)于神經(jīng)網(wǎng)絡(luò)中
9、輸入神經(jīng)元的數(shù)量,而分類類的數(shù)量通常對應(yīng)于輸出神經(jīng)元。在該示例中,由于我們只有兩個(gè)類,因此我們僅使用一個(gè)輸出神經(jīng)元,它針對藍(lán)色類輸出 0,針對紅色類輸出 1。我們還需要設(shè)置隱藏神經(jīng)元(以及層)的數(shù)量,這取決于分類的復(fù)雜程度。隱藏神經(jīng)元是指輸入層和輸出層之間的神經(jīng)元,MLP 網(wǎng)絡(luò)可以有一個(gè)或多個(gè)隱藏層。3. 在對應(yīng)的域中,輸入隱藏層中的神經(jīng)元數(shù)量。數(shù)字之間用空格分隔。對于這個(gè)簡單示例,五個(gè)隱藏神經(jīng)元足夠了。除了隱藏神經(jīng)元的數(shù)量,我們還可以設(shè)置一些學(xué)習(xí)參數(shù),例如 Learning Rate、Momentum、Max Error 以及 Max Iterations,這些參數(shù)是用于反向傳播(MLP 的
10、學(xué)習(xí)算法)的典型設(shè)置。就現(xiàn)在來說,保留這些參數(shù)的默認(rèn)值,但記住,對于不同的問題,某些其他值可能會(huì)產(chǎn)生更好的結(jié)果。這些值始終在 0, 1 范圍內(nèi)。4. 單擊 Train 按鈕。將創(chuàng)建神經(jīng)網(wǎng)絡(luò)并啟動(dòng)學(xué)習(xí)過程。稍后,您可以在 Multi Layer Perceptron Classification Sample 選項(xiàng)卡中看到結(jié)果,如圖 6 中所示。圖 6. 多層感知器網(wǎng)絡(luò)示例的結(jié)果圖 6 顯示了神經(jīng)網(wǎng)絡(luò)如何查看給定數(shù)據(jù)以及如何解釋提供給神經(jīng)網(wǎng)絡(luò)的任何其他數(shù)據(jù)。我們還可以通過查看 Total Network Error Graph 選項(xiàng)卡查看網(wǎng)絡(luò)如何學(xué)習(xí)給定數(shù)據(jù)。該圖(如圖 7 中所示)顯示了學(xué)習(xí)規(guī)
11、則如何調(diào)整網(wǎng)絡(luò)權(quán)重以盡量減少錯(cuò)誤分類(網(wǎng)絡(luò)錯(cuò)誤)。圖 7. Total Network Error Graph 選項(xiàng)卡我們還可以在 MlpSampleNet1 選項(xiàng)卡中查看神經(jīng)網(wǎng)絡(luò)本身,如圖 8 中所示。圖 8. MlpSampleNet1 選項(xiàng)卡中顯示的神經(jīng)網(wǎng)絡(luò)注意,在該圖中,輸入層中有三個(gè)神經(jīng)元,隱藏層中有六個(gè)神經(jīng)元。兩個(gè)層中都有的一個(gè)神經(jīng)元是偏差神經(jīng)元,它始終輸出 1。偏差神經(jīng)元提供其他內(nèi)部輸入。上面的示例是可能實(shí)現(xiàn)的最簡單示例,我們不需要針對它使用神經(jīng)網(wǎng)絡(luò)。但是,我們使用該示例只是為了介紹使用神經(jīng)網(wǎng)絡(luò)時(shí)的基本原理。神經(jīng)網(wǎng)絡(luò)實(shí)際上可以執(zhí)行復(fù)雜的分類,如圖 9 中所示的分類。圖 9. 復(fù)雜
12、分類示例您可以體驗(yàn)不同的分類問題和學(xué)習(xí)設(shè)置,以了解神經(jīng)網(wǎng)絡(luò)如何工作。訓(xùn)練神經(jīng)網(wǎng)絡(luò)之后,可以通過單擊 Neuroph Studio 中的 Save 按鈕將該網(wǎng)絡(luò)序列化為一個(gè) Java 類。然后,可以使用 Neuroph Framework 將其部署到應(yīng)用程序中。下面是示例代碼:/ load serialized network from fileNeuralNetwork nnet = NeuralNetwork.load("MySavedNeuralNetwork.nnet");/ set network input which we want to classifynne
13、t.setInput(0.5, 0.9);/ process input/calculate networknnet.calculate();/ get networkoutput/classification resultdouble output = nnet.getOutput();注意:您可以創(chuàng)建一個(gè) Java 項(xiàng)目,然后直接從 Neuroph Studio 運(yùn)行該代碼,但您需要在項(xiàng)目中引用 neuroph-2.5.jar 文件以便能夠使用該代碼。該 jar 文件是一個(gè) Neuroph Framework 類庫,該文件以及完整的 Neuroph Framework 文檔和源代碼可通過下
14、載 neuroph-2.5b.zip 文件獲得。創(chuàng)建和訓(xùn)練自定義神經(jīng)網(wǎng)絡(luò)前面的示例是使用 Neuroph Studio 的分類示例創(chuàng)建的。但是,您可以使用向?qū)лp松創(chuàng)建和訓(xùn)練自定義神經(jīng)網(wǎng)絡(luò)。要?jiǎng)?chuàng)建神經(jīng)網(wǎng)絡(luò)并向該網(wǎng)絡(luò)傳授分類問題,可以執(zhí)行以下任務(wù):· 創(chuàng)建一個(gè)新的 Neuroph Studio 項(xiàng)目。· 使用 New Neural Network Wizard 創(chuàng)建一個(gè)神經(jīng)網(wǎng)絡(luò)。· 使用 New Training Set Wizard 創(chuàng)建一個(gè)訓(xùn)練集。· 使用創(chuàng)建的訓(xùn)練集訓(xùn)練神經(jīng)網(wǎng)絡(luò)。下面是具體步驟。1. 首先,通過選擇 File > New Proj
15、ect > Neuroph > Neuroph Project 創(chuàng)建一個(gè)新的 Neuroph Studio 項(xiàng)目。圖 10. 創(chuàng)建新的 Neural Studio 項(xiàng)目2. 輸入項(xiàng)目名稱,然后單擊 Finish。圖 11. 指定項(xiàng)目名稱3. 通過選擇 File > New File > Neuroph > Neural Network 創(chuàng)建一個(gè)多層感知器神經(jīng)網(wǎng)絡(luò)。圖 12. 創(chuàng)建多層感知器網(wǎng)絡(luò)4. 將神經(jīng)網(wǎng)絡(luò)類型設(shè)置為 Multilayer Perceptron 并輸入網(wǎng)絡(luò)名稱。圖 13. 設(shè)置網(wǎng)絡(luò)類型系統(tǒng)將要求您設(shè)置網(wǎng)絡(luò)參數(shù)。5. 輸入圖 14 中所示的網(wǎng)絡(luò)參數(shù)
16、值,然后單擊 Finish。圖 14. 設(shè)置網(wǎng)絡(luò)參數(shù)這將創(chuàng)建神經(jīng)網(wǎng)絡(luò),如圖 15 所示。圖 15. 創(chuàng)建了神經(jīng)網(wǎng)絡(luò)6. 通過選擇 File > New File > Neuroph > Training Set 創(chuàng)建訓(xùn)練集。圖 16. 創(chuàng)建訓(xùn)練集7. 指定訓(xùn)練集設(shè)置,如圖 17 所示。對于該示例,我們將使用 Iris 分類數(shù)據(jù)集,這是眾所周知的分類問題數(shù)據(jù)集。簡而言之,我們具有鳶尾花的四個(gè)屬性和三個(gè)類,并且分類有點(diǎn)棘手。有關(guān)更多詳細(xì)信息,請參閱此 Wikipedia 文章。注意,屬性的數(shù)量對應(yīng)于網(wǎng)絡(luò)輸入的數(shù)量,輸出的數(shù)量對應(yīng)于分類類。圖 17. 指定訓(xùn)練集設(shè)置8. 從此標(biāo)準(zhǔn)化文件中導(dǎo)入 Iris 數(shù)據(jù)集,使用制表符分隔值 (TSV)。在此我們使用標(biāo)準(zhǔn)化的數(shù)據(jù)集,這只是意味著將原始值縮放到 0, 1 區(qū)間。圖 18. 導(dǎo)入 Iris 數(shù)據(jù)集訓(xùn)練集將如下所示:圖 19. 示例訓(xùn)練集9. 要訓(xùn)練網(wǎng)絡(luò),單擊神經(jīng)網(wǎng)絡(luò)將其打開,從訓(xùn)練集列表中選擇 Iris 訓(xùn)練集,然后單擊 Train 按鈕。10. 使用 Set Learning Parameters 對話框中的默認(rèn)學(xué)習(xí)參數(shù),然后單擊 Train 按鈕。圖 20. 使用默認(rèn)學(xué)習(xí)參數(shù)在 Total Network Error Graph 選項(xiàng)卡中,您可以觀察到在學(xué)習(xí)過程中如何使網(wǎng)絡(luò)錯(cuò)誤逐漸減至最少。圖 21. T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大班冬季交通安全課件
- 行政事業(yè)單位合同
- 項(xiàng)目推進(jìn)時(shí)間表與工作計(jì)劃書
- 泥工裝修詳細(xì)合同
- 大型體育賽事組織協(xié)議
- 能源互聯(lián)網(wǎng)項(xiàng)目戰(zhàn)略合作協(xié)議
- 農(nóng)業(yè)機(jī)械維修技術(shù)作業(yè)指導(dǎo)書
- 季度運(yùn)營策略及任務(wù)部署會(huì)議紀(jì)要
- 設(shè)計(jì)行業(yè)設(shè)計(jì)方案修改免責(zé)協(xié)議
- 企業(yè)互聯(lián)網(wǎng)應(yīng)用服務(wù)推廣合作協(xié)議
- 建筑用真空陶瓷微珠絕熱系統(tǒng)應(yīng)用技術(shù)規(guī)程
- 2024年甘肅省公務(wù)員公共基礎(chǔ)知識(shí)重點(diǎn)考試題庫(含答案)
- (高清版)DZT 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬
- 《拒絕校園欺凌 防霸凌主題班會(huì)》課件
- 高血壓腦出血相關(guān)的課件
- 2024年云南呈貢區(qū)城市投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 江蘇省初中美術(shù)學(xué)業(yè)水平考試參考復(fù)習(xí)題庫(含答案)
- 短視頻運(yùn)營實(shí)戰(zhàn):抖音短視頻運(yùn)營
- 設(shè)備維保的關(guān)鍵績效指標(biāo)與評估
- 三亞市崖州中心漁港停泊避風(fēng)水域擴(kuò)建項(xiàng)目 環(huán)評報(bào)告
- 2024年工貿(mào)行業(yè)安全知識(shí)考試題庫500題(含答案)
評論
0/150
提交評論