神經網路為什麼有多個輸出?

時間 2021-05-29 22:43:31

1樓:往事俱沉暮雨瀟瀟

看你是做什麼任務。

二分類最後保留乙個輸出就可以了。

多分類要保留多個輸出,結果對應沒個類別的概率,方便建模。

dnn也是有數學原理在裡面的,不是瞎掰出來的。

2樓:走在邊沿上

這個跟"距離"有關。

假設你有三個標籤,1、2、3。

如果輸出層只有乙個單元:假設輸入是乙個標籤為1的樣本,輸出結果2或者3,哪個比較準呢?或者說反向傳遞的時候,哪乙個傳的誤差比較大?

你或許會說,那我定義損失函式為指標函式,輸出對的標籤損失為0,錯的一律為1。那,萬一輸出的是2.5呢?是4呢?是100.01呢?

當然,我相信是有辦法可以實現乙個單元輸出的。但簡單起見,大家還是習慣於用多單元輸出,配上cross entropy作為損失函式。這就跟用one-hot來向量化categorical特徵一樣,不同類別間距離是相等的,所以不能用1、2、3、4...

這樣的單個整數來表示不同的類別(否則模型就會認為類別4和模擬3比較近,和類別1比較遠)。當然,one-hot不是唯一的選項,也有其他encoding的方法(比如:target encoding)。

但簡單起見,大家還是習慣於用one-hot。或者至少,通過one-hot作為中間步驟,再進一步降維或者做其他變換(比如TF-IDF詞向量、word2vec等)。

3樓:劉冬煜

舉個例子,如果是乙個十類的分類問題,而你的輸出層是1個神經元,那你如何實現分類呢?

你可能會說,做乙個擬合,第0類輸出為-4.5,第1類輸出-3.5,……,第9類輸出4.

5不就行了?那好,比較一下準確率。就mnist而言,10輸出softmax的網路結構,個人最好成績是可以達到正確率99.

7%。而這個想法我雖然沒試過,但是據試過的人說,正確率奇低。我估計著40%都難吧。

原理就是,全連線層是網路提取的特徵,而輸出層是將特徵求和。具備某些特定類別的特徵越多,得到該輸出的概率就越大。而每個概率都需要計算一遍,所以softmax是最好的選擇。

但是二分類是個特例。完全可以用乙個sigmoid神經元作為輸出層,第0類輸出0,第1類輸出1。

神經網路輸出層為什麼通常使用softmax

n次方 softmax本質上是歸一化網路,目的是將多個標量對映為乙個概率分布,其輸出的每乙個值範圍在 深度神經網路的最後一層往往是全連線層 分類網路 先看一下計算方式 全連線層將權重矩陣與輸入向量相乘再加上偏置,將 個 的實數對映為 個 的實數 分數 Softmax將 個 的實數對映為 個 的實數 ...

RBF神經網路和BP神經網路有什麼區別?

DomainAdaptation 1,從模型結構上來看 RBF神經網路從圖形結構上來說,就是一種單隱層的神經網路.這個隱層的每個神經元輸出的是乙個RBF函式的值,這些RBF函式的核寬都是一樣的,它們中心要麼是每個訓練樣本點,要麼是訓練樣本點的聚類中心,當然還可以有其他。核化的支援向量機就可以看成是一...

神經網路是萬能的嗎?有了神經網路為什麼還要學習其他演算法?

臥聽清風 理解到你說的演算法應該指的是用於影象識別,大資料分析,資料分類等相關的演算法。但演算法的定義遠不止此,比如資料儲存的資料結構設計,排序等,這些基本的方法是提高程式效率的基礎。這些演算法顯然目前深度學習是無法代替的。而對於具體的問題。比如影象識別,資料分類等,神經網路確實以其良好的效果,得到...