極簡機器學習課程:使用Python構建和訓練一個完整的人工神經網路
直接閱讀技術類的教材是困難的,理論的密集程度常常令人生畏,而Welch Labs的視頻用有趣的短片形式,以達到教學的目的,並結合相關資源介紹技術背景,使你能熟練掌握主題。
而本文介紹的系列視頻,將帶領大家使用Python構建和訓練一個完整的人工神經網路。
1.資料+架構要想使用一種機器學習的方法,我們首先需要資料。獲取到資料後,我們會使用程式設計語言Python,在二維numpy庫裡存儲資料。資料準備好後,就可以用它訓練一個模型了。
Ps:把資料放進模型之前,我們需要考慮資料單位間的差異。
上一節我們建立了神經網路,這次我們將用Python程式設計語言來實現它。
對深度學習模型按照輸入層、靠近輸入層的隱含層、靠近輸出層的隱含層和輸出層的次序,
本節重點放在如何改進神經網路,使預測更準確。
梯度下降法,是當今最流行的優化(optimization)演算法,
反向傳播(back-propagation)是計算深度學習模型參數梯度的方法。總的來說,反向傳播中會依據微積分中的鏈式法則,按照輸出層、靠近輸出層的隱含層、靠近輸入層的隱含層和輸入層的次序,
反向傳播可能比較簡單,但不會太簡單。反向傳播中的錯誤是讓神經網路學習的關鍵。在這個視頻中,用高中數學水準淺顯易懂地介紹了反向傳播背後的推導和思考過程。
當構建複雜的系統,如神經網路時,檢查部分工作可以避免以後許多問題。在這裡,我們將借助對導數的簡單理解和一些小技巧來檢查梯度計算部分。
如果代碼通過了這個測試,那可以確信,我們已經正確地計算和編碼了梯度。
經過以上工作,現在是時候訓練神經網路了。我們將使用BFGS數值優化演算法並查看結果。
我們已經建立並訓練了神經網路,但是在開香檳慶祝之前,還要保證我們的模型適用于現實世界。
實踐中,如果測試資料集是給定的,我們通常用機器學習模型,在該測試資料集上的誤差來表示泛化誤差。基於上述重要結論,以下兩種擬合問題值得注意:
欠擬合:機器學習模型無法得到較低訓練誤差。
過擬合:機器學習模型的訓練誤差遠小於其在測試資料集上的誤差。
我們要盡可能同時避免欠擬合和過擬合的出現。可以使用正則化來應對過擬合問題。
想要視頻請舉手
—完—
親愛的朋友:
本周的充電時間,分享一個有趣且相對簡單的系列短片。希望能對你有所幫助。
祝安!
智慧觀 一米
2018-4-18 於北京中關村
想知道AI加教育領域有哪些最新研究成果?
想要AI領域更多的乾貨?
想瞭解更多專家的“智慧觀”?
請在對話介面點擊“找找看”,去獲取你想要的內容吧。
聲明:
編譯文章旨在幫助讀者瞭解行業新思想、新觀點及新動態,為原作者觀點,不代表智能觀觀點。
轉載智慧觀原創文章,請聯繫
智慧觀小艾(微信號:zng2017618)!
經過以上工作,現在是時候訓練神經網路了。我們將使用BFGS數值優化演算法並查看結果。
我們已經建立並訓練了神經網路,但是在開香檳慶祝之前,還要保證我們的模型適用于現實世界。
實踐中,如果測試資料集是給定的,我們通常用機器學習模型,在該測試資料集上的誤差來表示泛化誤差。基於上述重要結論,以下兩種擬合問題值得注意:
欠擬合:機器學習模型無法得到較低訓練誤差。
過擬合:機器學習模型的訓練誤差遠小於其在測試資料集上的誤差。
我們要盡可能同時避免欠擬合和過擬合的出現。可以使用正則化來應對過擬合問題。
想要視頻請舉手
—完—
親愛的朋友:
本周的充電時間,分享一個有趣且相對簡單的系列短片。希望能對你有所幫助。
祝安!
智慧觀 一米
2018-4-18 於北京中關村
想知道AI加教育領域有哪些最新研究成果?
想要AI領域更多的乾貨?
想瞭解更多專家的“智慧觀”?
請在對話介面點擊“找找看”,去獲取你想要的內容吧。
聲明:
編譯文章旨在幫助讀者瞭解行業新思想、新觀點及新動態,為原作者觀點,不代表智能觀觀點。
轉載智慧觀原創文章,請聯繫
智慧觀小艾(微信號:zng2017618)!