AI lab1 BP演算法理論學習

2021-10-03 10:28:39 字數 1487 閱讀 9616

寫在前面:首先宣告,python和ai的純小白,不曾想開學第一周老師就趕鴨子上架,扔給我們一堆bp演算法(啥都沒學一上來寫個**??)。anyway,硬著頭皮上了,不就是硬啃嗎,企圖找到屬於我的巨人的肩膀。下面這篇文章將記錄我學習以及弄懂的過程,僅供個人捋思路和再次溫習。

巨人的肩膀:

一:我尋思著既然要自己把演算法寫出來,你得先弄清楚他是幹啥的是吧上概念:bp演算法的全稱叫做誤差反向傳播演算法,其基本思想是在前饋神經網路中,輸入訊號經輸入層輸入,通過隱層計算由輸出層輸出,輸出值與標記值比較,若有誤差,將誤差反向由輸出層向輸入層傳播,在這個過程中,利用梯度下降演算法對神經元權值進行調整

(看蒙的別著急,結合下圖理解)

bp神經網路是這樣一種神經網路模型,它是由乙個輸入層,乙個或多個隱含層,乙個輸出層構成的。

他的作用就是,通過把輸入資料灌進隱含層做某種變換,得到你想要的輸出資料。

(下圖含有兩個隱含層,其中第乙個隱含層有三個神經元,第二個有兩個)

二:理清楚正向傳播的過程

還是以我上面放的圖為例,為了簡化,我只畫出了f1從接收輸入到輸出的過程,這裡要引入的第乙個概念是權重——w。我們給他先給他設定乙個初始值,甭管為什麼,反正加乘一波,輸入給f1。引入第二個概念是啟用函式,甭管為什麼,把輸入往給出的啟用函式裡套,就成功得到了f1的輸出。

這樣經過層層的計算,最終我們肯定會得到乙個輸出值,前向傳播到此結束。(這沒問題把)

三:搞清楚反向傳播是幹嘛的

然後這個輸出值不符合你的預期(怎麼可能隨便設設權重,就正好能得到你想要的輸出呢,數學是這麼好說話的嗎)

bp演算法告訴我們乙個道理,返回去慢慢調權重嘛,總會調到一些值,讓你的輸出符合預期的。這個返回去的過程,就是反向傳播

步驟一:計算總誤差,這裡還是擷取一部分展示

步驟二:權值更新

我們要清楚每乙個步驟的權值對誤差產生了多少影響,這裡用誤差對權值求偏導即可

(老方法,看圖,沒辦法,牽扯到數學就要好好寫下來,耐心一點,馬上就勝利了!)

四:總結

怎麼說,就別人寫的入門是高玩入門,我是真的菜好吧。

演算法理論 學習型別

二元分類問題 binary classification最核心 回歸問題 最核心 多元分類問題 multiclass classification 結構學習問題 structured learning problem,巨大的多元分類問題,structure hyperclass,沒有明確的類別定義。...

邏輯回歸演算法 理論學習Tesk01

邏輯回歸演算法 理論學習 1天 打卡 邏輯回歸 分類模型。模型簡單且模型的可解釋性強 1 優劣勢 優點 實現簡單,易於理解和實現 計算代價不高,速度很快,儲存資源低 缺點 容易欠擬合,分類精度可能不高 2 應用 機器學習,分類演算法 3 應用資料集進行邏輯回歸分類步驟 1 匯入庫函式 2 讀取資料 ...

視覺理論學習 RANSAC與重建演算法)

表達三維場景,演算法在重建的三維物體上疊加乙個均勻的三維網格,每個網格體素儲存其中心到最近的三維物體表面間的距離.待更 稀疏重建 通常是重建一些影象特徵點的深度,這個在基於特徵的視覺slam裡比較常見,得到的特徵點的深度可以用來計算相機位姿。稀疏重建在實際應用,比如檢測,避障,不能滿足需求。半稠密重...