999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt的BP神經網絡演示軟件設計

2024-05-19 00:00:00朱明哲蔣培培王隨
無線互聯科技 2024年6期

摘要:BP(Back Propagation)神經網絡算法是一種典型的神經網絡算法,具有廣泛的應用。為了直觀地顯示該算法訓練和驗證數據的完整流程,文章設計了一個基于國產化平臺Qt的BP神經網絡演示軟件,使用Qt自帶的圖形化控件來實現算法的結果演示。文章首先介紹了BP神經網絡的基本原理、公式推導和工作流程,其次使用Qt實現了該算法并繪制了圖形化界面,最后使用該算法對經典的鳶尾花數據集進行訓練和驗證,并將驗證結果在界面上顯示。實驗驗證,該軟件能夠支持BP神經網絡算法的算法運行與結果顯示,滿足軟件設計的相關要求。

關鍵詞:Qt;BP神經網絡;軟件設計

中圖分類號:TP311文獻標志碼:A

0 引言

BP(Back Propagation)神經網絡算法是由Rumelhart等[1-2]于1985年提出的一種神經網絡算法。該算法是人腦特征的抽象和模仿,具有強大的泛化能力,能以任意精度逼近任何連續函數,因此適合于處理十分復雜且推理規則不明確的相關問題。經過多年的研究,BP神經網絡算法目前已在各個領域獲得了廣泛的應用,例如醫療領域[3]、教育領域[4]和金融領域[5]。因此,BP神經網絡算法成為神經網絡領域的一種經典算法,也是當今的熱門研究問題之一。

本文針對在國產化平臺下進行BP神經網絡算法實現和演示的需求,設計了一個基于Qt的BP神經網絡演示軟件。該軟件實現了BP神經網絡算法,通過對鳶尾花數據集的訓練和驗證,能夠將驗證的誤差結果通過圖形化控件顯示出來。Qt是最優秀的跨平臺界面開發框架之一[6],在各行各業的項目開發中得到了廣泛的使用,例如上位機軟件[7]和飛行控制軟件[8]。因此,在國產化平臺下使用Qt開發界面軟件是合適的選擇。

1 BP神經網絡

1.1 原理

BP神經網絡的基本原理是對于d個輸入樣本,已知與其對應的l個理論輸出樣本,用神經網絡的實際輸出與理論輸出之間的誤差來調整神經網絡的參數,從而使得實際輸出和理論輸出盡可能接近,即誤差平方和達到最小。一個典型的3層BP神經網絡分為輸入層、隱層和輸出層。BP神經網絡的整體流程分為正向傳播和反向傳播。在正向傳播中,輸入樣本從輸入層經過隱層,然后傳播到輸出層,每一層只影響下一層的狀態,如果在輸出層的實際輸出和理論輸出之間的誤差較大,則轉入反向傳播。反向傳播將誤差信號沿著原有的通路返回,通過修改各層的參數,從而使得誤差信號減少。接下來繼續反復進行這個流程,直到誤差小于指定閾值為止。

1.2 公式推導

圖1描述了一個擁有d個輸入神經元、l個輸出神經元、q個隱層神經元的3層BP神經網絡。其中輸出層第j個神經元的閾值用θj表示,隱層第h個神經元的閾值用γh表示。輸入層第i個神經元與隱層第h個神經元之間的連接權為vih,隱層第h個神經元與輸出層第j個神經元之間的連接權為whj。記隱層第h個神經元接收到的輸入為αh=∑di=1vihxi,輸出層第j個神經元接收到的輸入為βj=∑qh=1whjbh,其中bh為隱層第h個神經元的輸出。假設隱層和輸出層神經元使用的都是Sigmoid函數。

則BP神經網絡在(xk,yk)上的均方誤差公式為:

對于式(2)中的誤差Ek,給定學習率η,有:

同理可得:

Δθj=-ηgj(4)

進一步推導如下:

同理可得:

Δγh=-ηeh(6)

1.3 算法流程

BP神經網絡算法基本流程為對于指定的訓練樣例,將其輸入輸入層神經元,然后逐層將信號前傳,直至輸出層并產生輸出結果,計算輸出結果誤差,并將誤差逆向傳播,并根據式(1)—(6)對連接權和閾值進行調整。該流程循環進行,直到輸出誤差小于指定值為止。該基本流程如圖2所示。

2 BP神經網絡演示軟件設計

2.1 界面設計

Qt是一個跨平臺的C++圖形用戶界面應用程序框架,具有很長久的發展歷史。1991年Qt最早由芬蘭奇趣科技公司開發,2008年諾基亞公司收購Qt,2012年Qt又被芬蘭的軟件公司Digia公司收購,2014年,推出跨平臺的集成開發環境Qt Creator。Qt具有諸多開發優勢:(1)Qt具有跨平臺優勢,支持幾乎所有的平臺;(2)Qt具有簡化內存的回收機制,提高了開發效率;(3)Qt具有良好的社區環境,方便進行技術問題的討論;(4)Qt的接口簡單,容易上手。有很多經典的軟件都是使用Qt開發的,例如WPS Office辦公軟件、Google Earth谷歌地球軟件、Linux桌面環境KDE軟件。

Qt具有諸多良好的技術特點,其中信號與槽是典型的一個技術特點。信號與槽完成了對象間的通信機制,實現了對象間通信的解耦,信號發送者不需要知道信號的接收者是誰,只需要發送信號即可。一個信號可以發送至多個槽函數,一個槽函數也可以接收多個信號。信號與槽的良好設計使其應用于Qt界面開發的方方面面,無論是界面按鈕的點擊還是后臺對象間的通信,都會用到信號與槽。除了信號與槽以外,Qt的對象樹機制也是很好的技術特點,可以避免手動釋放控件內存造成的開發效率降低問題。

該演示軟件使用銀河麒麟桌面操作系統V10 (SP1)下的Qt 5.6.3開發,使用QChartView控件繪制誤差折線圖。

2.2 算法數據樣本選擇

鳶尾花數據集是機器學習領域的經典數據集,最初由Edgar Anderson測量得到。它是一類多重變量分析的數據集。通過花萼長度、花萼寬度、花瓣長度、花瓣寬度這4個屬性來預測鳶尾花卉屬于山鳶尾(Setosa)、雜色鳶尾(Versicolour)、維吉尼亞鳶尾(Virginica)3個種類中的哪一類。

該數據集包含4個屬性列和1個品種類別列,屬性列由花萼長度、花萼寬度、花瓣長度、花瓣寬度這4個屬性構成,品種類別由山鳶尾(Setosa)、雜色鳶尾(Versicolour)、維吉尼亞鳶尾(Virginica)3個種類構成。實際使用中,本文將品種類別用3列表示,3列分別使用(1,0,0)(0,1,0)(0,0,1)代表山鳶尾(Setosa)、雜色鳶尾(Versicolour)、維吉尼亞鳶尾(Virginica)3個種類。

數據集包含150條數據,本文將數據打亂順序并歸一化后,將前100條作為訓練數據,將后50條作為驗證數據。訓練數據用來調整BP神經網絡的相關參數,驗證數據用來驗證調整參數后BP神經網絡的誤差情況。

2.3 算法參數初始化

BP神經網絡由輸入層、隱層、輸出層組成,每層由若干個神經元組成,因此需要確定網絡的層數、每層中神經元的個數、每個神經元的權值和閾值以及激活函數等參數。本文中網絡層數選取經典的3層結構。根據數據樣本的基本信息,輸入層包含4個神經元,隱層包含4個神經元,輸出層包含3個神經元,各層的激活函數都使用Sigmoid函數,各個神經元的權值和閾值使用(0,1)范圍內進行隨機初始化。除此以外,算法迭代次數設定為100000次,學習率設定為0.1。

3 實驗結果與分析

在BP神經網絡演示軟件中,本文首先對算法參數進行初始化,然后將鳶尾花數據集的前100條數據作為訓練數據,來訓練BP神經網絡的相關模型參數,然后將鳶尾花數據集的后50條數據作為驗證數據,以驗證調整參數后BP神經網絡的誤差情況。

運行該演示軟件產生的誤差如圖3所示。圖中橫坐標為鳶尾花數據集編號,從0到49,共50組數據;縱坐標為誤差,該誤差計算方法為將式(2)中的均方誤差Ek做lg運算得到的結果。

從圖3中可以看到,50組鳶尾花數據集中,縱坐標誤差在-3.0以下(即均方誤差小于10-3)的為48組。因此,可以得到一個結論:該BP神經網絡演示軟件,針對鳶尾花數據集的識別率為96%,識別結果良好,說明該BP神經網絡演示軟件的設計是有效和合理的。

4 結語

本文通過銀河麒麟桌面操作系統V10 (SP1)下的Qt開發框架,開發設計并實現了一個BP神經網絡演示軟件。該軟件可以按設定的參數通過BP神經網絡對鳶尾花數據集進行訓練和驗證,并將驗證誤差結果通過折線圖顯示出來。文中首先介紹了BP神經網絡的原理、公式推導和算法流程,然后描述了軟件的界面設計、樣本選擇和參數初始化,最后通過實驗驗證,該演示軟件能很好地顯示驗證誤差結果的分布情況且誤差整體較小,從而證明該軟件功能是合理和完善的。

參考文獻

[1]RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagation errors[J]. Nature, 1986: 533-536.

[2]RUBANOV N S. The layer wise method and the back propagation hybrid approach to learning a feedforward neural network[J]. IEEE Transactions on Neural Networks, 2000(2): 295-305.

[3]常虹,張冰.神經網絡在結構損傷識別中的應用研究[J].吉林建筑大學學報,2014(1):23-25.

[4]楊麗麗,白艷萍,苗靜,等.基于BP神經網絡的中學考試成績分類[J].機電技術,2011(3):40-41.

[5]李麗珍.地方政府或有隱性債務風險預警系統構建與應用研究——基于BP神經網絡分析法[J].財經論叢,2021(3):14-25.

[6]王維波,栗寶鵑,侯春望.Qt 5.9 C++開發指南[M].北京:人民郵電出版社,2018.

[7]徐敬.基于Qt的Mifare IC卡讀卡器上位機軟件設計與實現[J].電腦知識與技術,2021(33):124-126.

[8]許夢華.基于Qt的地面模擬飛行控制系統軟件設計與實現[J].電子測試,2022(1):29-31.

Design of BP neural network demonstration software based on Qt

Abstract:BP neural network algorithm is a typical neural network algorithm, which has a wide range of applications. In order to display the complete process of training and verifying data of the algorithm intuitively, this paper designs a BP neural network demonstration software based on the localization platform Qt, and uses the graphical controller of Qt to realize result demonstration of the algorithm. Firstly, the basic principle, formula derivation and workflow of BP neural network are introduced, and then Qt is used to realize the algorithm and draw a graphical interface. Then the algorithm is used to train and verify the iris dataset, and the verification results are displayed on the interface. After experiment verification, the software can support BP neural network algorithm running and result display, and can meet the related requirements of software design.

Key words: Qt; BP neural network; software design

主站蜘蛛池模板: 激情亚洲天堂| 亚洲一级毛片在线观| 99视频精品全国免费品| 国产精品无码AV片在线观看播放| 国产亚洲欧美日本一二三本道| 99热这里只有精品免费国产| 亚洲日韩精品综合在线一区二区| 凹凸精品免费精品视频| 日本一区二区不卡视频| 性喷潮久久久久久久久| 亚洲第一区在线| 亚洲国产成人在线| 尤物成AV人片在线观看| 久久亚洲美女精品国产精品| 亚洲系列中文字幕一区二区| 日韩小视频在线观看| 中文字幕无码电影| 九色91在线视频| 亚洲天堂在线免费| 亚洲中文字幕23页在线| 亚洲天堂成人在线观看| 久久久久久国产精品mv| 亚洲永久色| 在线va视频| 在线观看亚洲人成网站| 亚洲中文字幕无码爆乳| 亚洲婷婷在线视频| 免费一级成人毛片| 免费人成网站在线观看欧美| 亚洲天堂区| 日韩一级毛一欧美一国产| 国产精品亚洲一区二区三区z | 亚洲天天更新| 国产噜噜在线视频观看| 在线观看的黄网| 亚洲精品人成网线在线| 国产一级在线播放| 538精品在线观看| 99热6这里只有精品| 91精品啪在线观看国产| 国产精品爽爽va在线无码观看| 久久精品66| 亚洲成年人网| 国产乱肥老妇精品视频| 亚洲色精品国产一区二区三区| 国产剧情国内精品原创| 亚洲中文字幕23页在线| 在线观看国产精品日本不卡网| 国产成人久久综合777777麻豆| 九九免费观看全部免费视频| 久久久久国产一级毛片高清板| 深夜福利视频一区二区| 国产成人精品高清不卡在线 | 亚洲成人网在线观看| 青草视频免费在线观看| 国产小视频网站| 最新国产成人剧情在线播放| 色色中文字幕| 波多野结衣久久高清免费| 久久窝窝国产精品午夜看片| 狠狠色丁婷婷综合久久| 国产视频一二三区| 无码专区第一页| 欧美国产在线一区| 亚洲开心婷婷中文字幕| 精品综合久久久久久97| 欧美a在线视频| 欧美人与牲动交a欧美精品| 久久精品中文字幕免费| 女人av社区男人的天堂| 欧美精品不卡| 国产激情国语对白普通话| 亚洲成AV人手机在线观看网站| 国产精品免费电影| 国产熟睡乱子伦视频网站| 亚洲第一区在线| 日韩性网站| 狠狠躁天天躁夜夜躁婷婷| 国产精品亚洲天堂| 一区二区日韩国产精久久| 国产日韩精品一区在线不卡| 精品一区二区三区波多野结衣|