1. 程式人生 > >Python與人工神經網路(1)——開一個新坑

Python與人工神經網路(1)——開一個新坑

《教女朋友學Python》基礎篇完結之後,有的人的手就開始熱得發燙了,總想用Python搞點大事情。於是我們就來搞點大事,開個新坑《Python與人工神經網路》,作為《教女朋友學Python》的續作,屌不屌。

人工神經網路是一聽就是個能唬住人的詞,起碼我是不懂的,接都沒接觸過,所以我找了一本書,準備半翻譯半自我發揮,就當作是我的學習筆記吧,每四天更新一期,與《劉小玩美食教程》交替釋出在微信公眾號下。

我找的這本書叫《Neural Networks and Deep Learning》,作者 Michael Nielsen,美國人,量子物理學家、科技作家、程式設計師。我之所以選這本書,第一是因為這本書評價相當高;第二是因為這本書採用的許可協議是Creative Commons Attribution-NonCommercial 3.0 Unported License ,我可以隨隨便便在這翻譯發表,直接用書裡面的素材而不用擔心版權問題,只要我不拿翻譯出來的東西賣錢就沒問題。第三是因為大部分講人工智慧和深度學習的書使用的R語言,恰好這本書用的Python,完美契合我的上一個專題。原書地址:
http://neuralnetworksanddeeplearning.com/index.html
,作者部落格地址:http://michaelnielsen.org/

另外這本書目前是有中文譯本的,網上可以搜到,我之所以找虐選擇自己去看去翻譯英文版,是因為中文版翻譯的那哥們是個高手,很多數學原理都一筆帶過,原作中有比較詳細的推導。而我的數學基本屬於癱瘓級別,和殘廢級別的英語比起來,殘廢比癱瘓好像稍微好一點,畢竟殘廢還可以用柺杖。此外也因為我自己覺得我可以把複雜的技術問題說的比較簡單有趣,要是看了別人的表述,我也許就不知道該怎麼說了。

這本書主要講了兩個內容,第一個是神經網路,他是一種程式設計方式,能過讓計算機從已有的資料中學習,自己去解決問題;以前我們程式設計,是讓計算機去怎麼做,而神經網路,是我們給計算機喂資料,讓他自己去學著做。第二個是深度學習,就是使用神經網路程式設計時通過資料進行學習的方法。

根據作者在前言部分所說,這本書主要是講理論的,他會比較深刻的論述神經網路和深度學習裡面的核心概念,輔以程式設計實踐,學完之後可以比較容易的上手各種神經網路和機器學習的庫。因此需要一定的程式設計基礎,但不必是專家,學完我們的《教女朋友學Python》課程,輔以百度,就應該看得懂了。數學嘛,作者也說要求不是很嚴格,不過我還是感覺很慌,所以重新買了《高等數學》和《數理統計與概率論》當工具書用,在轉述的時候能避開就避開吧,畢竟在微信公眾號裡面寫數學公式還是有點坑的。

作者在前言裡面還說,一個最簡單的神經網路,用來識別手寫數字的(如圖),只要七十多行程式碼,而準確率高達96%,看著還有點小激動呢。


好了,坑挖好了,從下期開始填,預計用十五期左右填完。

歡迎關注我的微信公眾號獲取最新文章: