风机桨叶故障诊断(五) 修改隐含层神经元个数的尝试
風(fēng)機(jī)槳葉故障診斷(五) 修改隱含層神經(jīng)元個數(shù)的嘗試
? ? ?我們已經(jīng)為訓(xùn)練一個更為穩(wěn)健的神經(jīng)網(wǎng)絡(luò)做好了樣本的準(zhǔn)備工作,那么我們開始下一步的工作吧!
? ? ?我們已經(jīng)有了樣本集,目前我篩選出來了247個正樣本,652個負(fù)樣本。這樣的樣本的規(guī)模是否夠用?是處在高方差還是高偏差?需不需要增加隱含層神經(jīng)元個數(shù)以增加算法的復(fù)雜程度?這些問題都可以歸結(jié)到一個問題,我們的算法現(xiàn)在處在什么樣的狀態(tài)?
? ? ?下面一步我打算進(jìn)行模型選擇,通過選擇不同隱含層神經(jīng)元個數(shù)時算法的不同表現(xiàn)來進(jìn)行分析我們的算法現(xiàn)在處在什么樣的狀態(tài),并且選擇出最適合我們問題的隱含層神經(jīng)元個數(shù)。
? ? ?所以接下來的任務(wù)很簡單,在已經(jīng)寫好的訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的代碼基礎(chǔ)上外面套一層for循環(huán),我從25個隱含層節(jié)點開始運(yùn)行,每次增加25個節(jié)點,一直運(yùn)行到625個節(jié)點結(jié)束(事實證明這個上限選的有點大了,浪費(fèi)了很多時間)。對于每次的訓(xùn)練,記錄下神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集和測試集上的預(yù)測準(zhǔn)確率。全部運(yùn)算完畢后將會繪出圖來。
? ? ?接下來的任務(wù)就是等待了
? ? ?...
? ? ?...
? ? ?漫長的等待終于運(yùn)行完了,沒想到居然跑了14個小時。其實像這樣浪費(fèi)時間的事情這些天一直在發(fā)生,因為之前沒有過完整的機(jī)器學(xué)習(xí)系統(tǒng)開發(fā)的經(jīng)驗,神經(jīng)網(wǎng)絡(luò)這么細(xì)致的使用也是第一次,循環(huán)的上限選大了沒想到會跑這么久,再加上本來電腦就慢。不管怎樣終于運(yùn)行完了,來看看結(jié)果(橫坐標(biāo)是隱含層神經(jīng)元個數(shù)):
? ? ?
? ? ?可以看到,模型在訓(xùn)練集上的預(yù)測準(zhǔn)確率一直在非常高的水平,但隨著隱含層神經(jīng)元數(shù)量的上升,測試集上的準(zhǔn)確率卻在下降。這說明我們的算法過擬合了,由此圖我們得出以下結(jié)論:
? ? ?1.隱含層個數(shù)選取在25-100是當(dāng)前情況下比較好的。
? ? ?2.we need more data! 算法過擬合了,說明獲取更好更多的數(shù)據(jù)能夠幫到我們
? ? ?看了我們當(dāng)前的神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)(25個隱含層節(jié)點)已經(jīng)是比較合理的了,樣本我們暫時也獲取不了更多,看了下一步要想辦法從特征選取上入手嘗試一下了,今天就到這里~
總結(jié)
以上是生活随笔為你收集整理的风机桨叶故障诊断(五) 修改隐含层神经元个数的尝试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 除法取模_跟我一起学pyt
- 下一篇: PID控制器改进笔记之一:改进PID控制