好,下面來總結一下學習內容。
一開始就講了non-linear hypothesis(非線性估計),這是當資料無法用簡單的線性模型處理的時候採用的方法,然後andrew就開始講神經網路了,這一周的內容沒有很詳細,就是大概地讓你知道一下神經網路,產生乙個初步的印象。
還是先來把用到的符號交代了吧。
符號含義θ(
j)從
j 到 j+
1a(j
)i第
i 個單元在第
j層的「啟用數量」(activation)
還用到乙個
θ , 這是前文講過的,就不多說了,好,我覺得這裡需要一張圖,等等我去找下。
雖然不熟悉markdown的語法,但我還是用自己的方法註明了引用,教授我們都是中國人…用一下你的圖不要打我。
最左邊那一層藍色的圓圈就是 a(
1),也就是輸入的x,然後加入乙個「bias unit」,看到沒有就是上面的+1,給每個圓圈乙個權值,把他們按權相加,就得到了第二層的第乙個值,也就是 z(
2)1 ,換一組權值再進行計算,就算出了 z(
2)2 ,如此進行下去就得到了一列第二行的初始值。
那麼怎麼讓這些
z 變成
a呢?需要用到乙個叫做 si
gmoi
d 函式的東西: g(
z)=1
1+e−
z 我不知道這是**來的,反正教授這麼教,我就這麼用,效果還不錯。
圖上其實也有這個公式: a(
2)=g
(z(2
))再給第二層加乙個bias unit,進行同樣的步驟就可以算出第三層、第四層,甚至一直算下去。好到這裡有個問題,那些權值是誰定的?從第一層到第二層的各種權值可以組成乙個叫做 θ1
的 矩陣,一組權值對應 θ1
中一行。後面也是依樣畫葫蘆,出現了乙個 θ2
。這些權值**來的課程內容還沒有涉及,寫程式的時候教授也是提前幫我們把這些權值設定好了,這樣我們在學習神經網路的時候就可以先忽略一些暫時不是很重要的細節,哈哈哈,stanford rock!
so far, 只是說了這個模型怎麼計算,它是用來幹什麼的呢?這週的學習介紹了神經網路可以用來分類資料,作業裡的例子是識別手寫數字,輸入一張規定大小的灰度,用神經網路來**它上面寫的是什麼。
輸入的資料是 20×
20 的灰度所轉化成的400個代表亮度的數字,訓練量5000次,訓練難道是用來確定那些權值的嗎?留個疑問,訓練完成以後用此模型進行**,就是按照上面的步驟一直算算算,算到最後得到了乙個 10×
5000
的矩陣,因為有10個類別(0-9),指定行的每一列代表了這個影象屬於這個分類的概率,於是我們用乙個max函式取每行最大值所在的索引序號,這個序號就是**出的數字。
成功率95%呢,可高了。
好吧,這周乾掉了,還有乙個overdue的第五周,很快第六周又要overdue了,路漫漫兮,其修遠!
[1] programming exercise 3: multi-class classification and neural networks, andrew ng, stanford university
第四周學習
方法的結構 方法包括方法頭和方法體。方法頭包括方法的返回型別 有無 方法名稱和引數。方法體包括可執行 的語句序列。方法體內部的 執行 方法體是乙個塊。塊可以包含本地變數 控制流結構 方法呼叫 內嵌的塊。本地變數 用於儲存本地的或臨時的計算資料。存在性和生存週期僅限於建立他的塊及內嵌的塊。本地變數值型...
第四周學習
一 統計出 etc passwd檔案中其預設shell為非 sbin nologin的使用者個數,並將使用者都顯示出來 root centos7 echo 一共 cat etc passwd grep v sbin nologin wc l 個,分別是 cat etc passwd grep v s...
模仿學習(第四周)
在傳統的強化學習任務中,通常通過計算累積獎賞來學習最優策略 policy 這種方式簡單直接,而且在可以獲得較多訓練資料的情況下有較好的表現。然而在多步決策 sequential decision 中,學習器不能頻繁地得到獎勵,且這種基於累積獎賞及學習方式存在非常巨大的搜尋空間。而模仿學習 imita...