我如何設計以下神經網路

時間 2021-06-01 21:40:51

1樓:Me1817

我奇葩的認為輸入不應該是4個而是所有天氣型別的分別onehot編碼拼接。因為輸入是離散資料不是連續資料,(冷熱中三檔,化為連續資料確實可以(0),(-1),(1)這樣表示,但是在表達一些特殊天氣組合的時候會有弊端。我推薦換成(001)(010)和(100)代表冷熱中。

而且這樣你的神經網路可以做成全域性binary,應該還可以用更少的網路層數做出更好的表達(可能啟用函式也不需要了)。多快好省。

因為事實上冷熱中之間對你可能想出去玩的某乙個理由不是單調表達的,並不是越冷你才越想出去,而是剛好適中你才想出去。那麼用任何啟用函式都只會獲得'天氣適中'對某一指標的貢獻是介於冷熱之間的。這時為了讓它能夠做出類似高斯曲線這樣的對映,就需要懟很深的網路。

但是我們做機器學習是為了解決問題,能解決問題最簡單方法才是最好的,可能你看不起這幾層網路多耗費的0. 01度電,和幾秒鐘的時間。但這種偷懶的思想等到你以後做更大的專案就會導致浪費10度電和好幾個小時。

總結:根據經驗進行結構設計很重要

2樓:藍天森林小樹

輸入層4個數字位,中間2個全連線的隱藏層,最後輸出層2個數字位,損失函式可以採用交叉熵損失,隨機梯度下降演算法就可以了。

前面的四列 outlook、 temperature、 humidity、windy都看做是輸入,最後一列Play看做輸出。

outlook 可以取0,1,2這三個值,分別代表Sunny、Overcast、 Rainny; Play可取1、0,分別代表yes、no,其他幾列類似。

這樣可以把第一行的輸入看成4個數字,比如[0,1,1,0],輸出為[0],數字怎麼對映不是最重要的,重要的是你要保持對映的一致性。下面幾行也是同樣的操作,把類別對映為數字。

為什麼要這樣做呢,因為轉換成數字才能運算,才能進行梯度計算,才能反向傳播。就是NLP自然語言處理,也是將文字轉換成數字,但通常會把詞轉換成向量。

神經網路如何入門?

老王 可以從簡單的人工神經網路開始學習,例如 1 多層感知機 多層感知機是最簡單的人工神經網路,包括輸入層 中間層和輸出層。多層感知機 2 卷積神經網路 卷積神經網路在全連線層之後,還包含卷積層 池化層。卷積神經網路 3 殘差收縮網路 面向強噪 高冗餘資料,殘差收縮網路使用了自適應軟閾值化,來減輕雜...

如何看待人工神經網路ANN和脈衝神經網路SNN的發展?

十萬個為什麼 SNN起源於人類對生物神經網路的解剖,是一種機理模型 ANN是一種工程模型,架構上源於生物學基礎,但是又採用了數值優化的方法進行求解。當前的科技發展水平下,ANN更實用,可以解決很多實際問題,而SNN在功能性角度方面遠遠弱於ANN。從發展前景方面,ANN顯然不及SNN,因為生物神經網路...

卷積神經網路和BP神經網路的關係?

乙個維度的BP神經網路就相當於CNN中的全連線了,無非是多幾個全連線,CNN是二維,二維如果搞成全連線就導致運算量巨大,所以有了權重共享,大大減少了運算量,CNN卷積的思想肯定也源於BP神經網路就,在影象上做二維卷積的CNN發出炫目的光芒下,BP神經網路就已經快被人們遺忘了,但是不管CNN再怎麼發展...