這學期由於實驗室工作要用到,疫情期間在家的閒暇時間讀了一點點《deep learning》(深度學習花書)。
雖然很多地方看不懂,但我覺得堅持看下來再加以配合**的實踐操作,應該還是會學到一些東西。
這本書講述了一些深度學習的基本概念和基本演算法像反向傳播演算法、梯度下降演算法、dropout等。
加上實驗室學長對我們的培訓,對這些演算法也有了初步的了解。
在我目前學到的機器學習的中,降低損失函式的值是其中最重要的步驟之一,為了達到這個目的,優化函式的效能就顯得尤為重要。
其中讓我記的比較清楚的是adam演算法,因為在對神經網路的訓練中在優化損失函式的演算法中,adam演算法表現出十分優異的效能。(好像很多大神還在用sgd,認為自適應學習率演算法對機器學習沒有好處,最多加個 momentum 或者 nesterov,像我這種小白碰到要用的就無腦用adam)
相比於最初的隨機梯度下降,adam演算法對學習率的自適應,解決了sgd中學習率過大而錯過最優解甚至離最優解越來越遠的問題和學習率過小時效率過低的問題。
我在看這些演算法的同時也使用tensorflow在試這些優化演算法的效能,使用mnist手寫字資料集使用sgd優化器識別率只能達到93%,在增加了訓練次數後可以達到96%左右,而使用adam優化器識別率保持在98%,在我的測試中在第28次訓練時達到99%。
可能我還無法理解一些大神的想法,但我覺得自適應學習率的優化演算法對於機器學習來說是很好的,起碼在我能看到的一些模型的訓練上adam表現出很好的效能。
在最一開始理解的時候可能因為數學基礎不是很好,真的無法理解,多虧實驗室的學長耐心地一點一點推給我們看,並且督促我們回去要認真看給我們的資料還讓我們自己推一遍才能更好的去理解每個優化演算法的區別以及優勢。
加上這學期演算法課學習的知識,動態規劃、貪心演算法等可以用來解決實際問題的演算法,我發現無論是在程式設計上還是在生活中的實際應用上,好的演算法真的可以更快速、更高效的解決人們想要解決的問題或者達到想要達到的效果。
在以後的學習中無論工作也好,讀研也好,都要堅持對演算法的學習、理解,才能在這個領域裡更加得心應手。
演算法設計與分析 作業13 讀書筆記
啊哈!演算法 讀書筆記 啊哈!演算法 這本書中的演算法舉例貼近生活,語言詼諧幽默,不會讓人產生枯燥感,並配有很多幽默的插圖。演算法講解通俗易懂,並配有詳細c語言 和注釋,是一本適合初學者學習以及借鑑的演算法書籍。由於時間有限,我簡單花了一些時間閱讀了其中的排序板塊,各種排序演算法層出不窮,一直都是困...
演算法分析與設計 作業13 讀書筆記
我在知乎上找有關演算法書的推薦,偶然間找到了這本 演算法導論 雖然我沒有完全看完,但我還是獲得了一些收穫。通過閱讀這本書使我更深刻地了解了演算法思想。我了解了書中有關動態規劃 貪心演算法 攤還分析 b樹 斐波那契堆等內容。初次接觸演算法,我感到還是有點困難,尤其是在演算法分析這一塊。一般來說學習演算...
演算法分析與設計實踐 作業13 讀書筆記
我從圖書館借閱了 演算法演化論 一書,此文是我讀後對該書的一些感想。計算機數學是科學計算的一門主體學科,它伴隨著電子計算機的推廣應用而成長壯大,是一門僅有40餘年歷史的新學科。在科學計算蓬勃發展的今天,迫切要求充實完善計算數學的學課體系。翻開科學發展史,可以看到,一門學科的形成可以有不同的方式 方法...