書-Deep Learning 用Python 進行深度學習的基礎理論實作

image

⊙輸出層

⊙恆等函數

⊙sfotmax函數

⊙sfotmax函數-使用問題

⊙輸出層-神經元數量

 

輸出層

神經網路可以解決分類、迴歸問題,要使用相對應的活化函數(也可以混用,但是效果不太好)。

1.分類問題-恆等函數,分辨此人是男是女。

2.迴歸問題-softmax函數, 猜測此人的體重(連續性的數值)。

 

恆等函數

輸入什麼就輸出什麼,不做任何處理。

image

 

sfotmax函數

image

輸出有n個,計算第k個輸出yk,分子ak為輸入訊號,分母ai為所有輸入的總和。

image

image

算法就是把輸入的訊號經過exp後當作exp_a,exp_sum就是把exp_a全部相加,在相除就是答案了。

image

sfotmax函數-使用問題

當輸入的數值經過運算後過大,會造成'溢位'的問題,exp(10)就變成超過2萬的數值,exp(100)就有40個0,exp(1000)就會回傳無限的的'inf'符號,盡量把數字控制在4~8位元組之間,以免造成溢位。

下面來改良一下公式。

image

首先分子分母同時乘與任意定數'C'(上下乘與相同數,所以運算結果是一樣),接者移動到exp裡面當作'log C',最後把'log C'改變符號成C'。

image

這個任意數通常都是輸入的最大值。使用之前的公式因為數字太大造成錯誤。

image

image

image

我們可以發現,softmax輸出的是0~1之間的實數,這是很重要的性質,因為這個性質,所以輸出可以解釋為'機率'。

解決機器學習的問題的步驟分成兩個

學習-訓練一個模型

推論-使用模型對未知的資料進行推論(分類)

輸出層-神經元數量

會根據你想要輸出多少而定,手寫辨識就是從0~9,共10個,所以有10個輸出神經元。

image

可以看到上方這張圖,顏色最深的表示神經元輸出了最大值,代表這個神經網路預測為[1]。

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()