官术网_书友最值得收藏!

譯者序

有一天,忽然想到自己整天面對著52個英文字母、9個數字、32個符號見文末Python示例代碼。和一個空格,經常加班沒有雙休日,好傻。時間不斷被各種噪聲碎片化,完全就是毛姆在《月亮和六便士》里寫的,“If you look on the ground in search of a sixpence, you don't look up, and so miss the moon”,整天低頭刷手機,卻不記得舉頭望明月。生活也愈發無序,感覺漸漸被掏空。薛定諤的《生命是什么》給我提了個醒,他在“以‘負熵’為生”(It Feeds On ‘negative Entropy')一節指出:“要活著,唯一的辦法就是從環境里不斷地汲取負熵?!痹诮榻B了熵的概念及其統計學意義之后,他緊接著在“從環境中引出‘有序’以維持組織”(Organization Maintained By Extracting ‘Order’ From The Environment)一節進一步總結:“一個有機體使本身穩定在較高的有序水平上(等于熵的相當低的水平上)的辦法,就是從環境中不斷地吸取秩序。”這個秩序(負熵、klog(1/n))可以是食物,也可以是知識,按主流叫法就是“正能量”(有些所謂正能量卻碰巧是增加系統無序水平的正熵)。于是,我開始漸漸放棄那些讓人沮喪的老梗,遠離那些引發混亂的噪聲,重新讀書,試著翻譯,學會去愛。這幾年最大的收獲就是明白了“隔行如隔山”的道理,試著循序漸進,教學相長,做力所能及之事,讓編程變簡單。

一般人都不喜歡編程,更不喜歡動手編程(時間消耗:編寫&測試40%、重構40%、風格&文檔20%),卻喜歡在心里、嘴上編程:“先這樣,再那樣,如果要XX,就YY,最后就可以ZZ了?!狈址昼娋涂梢哉f完幾萬行代碼的項目,水還剩大半杯。一旦大期將近,即使要親自動手Copy代碼,也會覺得苦堪搬磚,鍵盤不是紅與黑、屏幕不能左右推、小狗總是鬧跑追,不斷在數不清的理由中增加自己的熵。偶爾看編程書的目的也很明確,就是為了快速上手,找到答案。當然也是在Google、StackOverflow、GitHub網站上找不到答案之后,無可奈何之舉。編程書把看著復雜的知識寫得更復雜,雖然大多篇幅不輸“飛雪連天射白鹿,笑書神俠倚碧鴛”等經典,且綱舉目張、圖文并茂,甚至有作者愛引經據典,卻極少有令人拍案的驚奇之處。為什么同樣是文以載道,編程書卻不能像武俠小說一樣簡單具體,反而顯得了無生趣,令人望而卻步?雖然編程的目的就是用計算機系統解決問題,但是大多數問題的知識都在其他領域中,許多作者在介紹編程技巧時,又試圖介紹一些并不熟悉的背景知識,顯得生澀難懂,且增加了書的厚度。

有時我們真正需要的,就是能快刀斬亂麻的代碼。(Talk is cheap, show me the code.)編程與研究數理化不同,沒有任何假設、原命題、思維實驗,并非科學;與舞劍、奏樂、炒菜相似,都是手藝,只要基礎扎實,便結果立判。編程技巧也可以像劍譜、樂譜、食譜一般立竿見影,這本《Python機器學習經典實例》正是如此,直接上代碼,照著做就行,不用糾結為什么。

機器學習是交叉學科,應用廣泛,目前主流方法為統計機器學習。既然是以統計學為基礎,那么就不只是計算機與數學專業的私房菜了,機器學習在自然科學、農業科學、醫藥科學、工程與技術科學、人文與社會科學等多種學科中均可應用。如果你遇到了回歸、分類、預測、聚類、文本分析、語音識別、圖像處理等經典問題,需要快速用Python解決,那么這本菜譜適合你。即使你對機器學習方法還一知半解,也不妨一試。畢竟是Python的機器學習,還能難到哪兒去呢?目前十分流行的Python機器學習庫scikit-learnscikit-learn網址:http://scikit-learn.org/stable/。是全書主角之一,功能全面,接口友好,許多經典的數據集和機器學習案例都來自KaggleKaggle是一個2010年成立的數據建模和數據分析競賽平臺,全球數據科學家、統計學家、機器學習工程師的聚集地,上面有豐富的數據集,經典的機器學習基礎教程,以及讓人流口水的競賽獎金,支持Python、R、Julia、SQLite,同時也支持jupyter notebook在線編程環境,2017年3月8日被谷歌收購。。若有時間追根溯源,請研究周志華教授的《機器學習》西瓜書,周教授啃著西瓜把機器學習調侃得淋漓盡致,詳細的參考文獻尤為珍貴。但是想當作菜譜看,拿來就用,還是需要費一番功夫;若看書不過癮,還有吳恩達(Andrew Ng)教授在Coursera上的機器學習公開課分免費版和付費版(購買結業證書),學習內容一樣,https://zh.coursera.org/learn/machine-learning。,機器學習入門最佳視頻教程,吳教授用的工具是Matlab的免費開源版本OctaveOctave下載地址:https://www.gnu.org/software/octave/。,你也可以用Python版GitHub項目:https://github.com/mstampfer/Coursera-Stanford-ML-Python。演示教學示例。

學而時習之,不亦樂乎。學習編程技巧,解決實際問題,是一件快樂的事情。希望這本Python機器學習經典案例,可以成為你的負熵,幫你輕松化解那些陳年老梗。如果再努努力,也許陸汝鈐院士在《機器學習》序言中提出的6個問題陸院士的6個問題分別是:1.機器學習早期的符號機器學習,如何在統計機器學習主流中發展;2.統計機器學習算法中并不現實的“獨立同分布”假設如何解決;3.深度學習得益于硬件革命,是否會取代統計機器學習;4.機器學習用的都是經典的概率統計、代數邏輯,而目前僅有倒向微分方程用于預測,微分幾何的流形用于降維(流形學習,Manifold learning,科普見博文http://blog.pluskid.org/?p=533),只是數學領域的一角,其他現代數學理論是否可以參與其中;5.機器學習方法仍不夠嚴謹,例如目前流形學習直接將高維數據集假設成微分流形,需要進一步完善;6.大數據與統計機器學習是如何互動的。,你也有答案了。

示例代碼:

          """打印ASCII字母表數字、標點符號"""


          import string


          for item in [string.ascii_letters,
                    string.digits,
                    string.punctuation]:
          print('{}\t{}'.format(len(item), item))

輸出結果:

    52 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    100123456789
    32 ! "#$%&'()*+, -./:; <=>? @[\]^_`{|}~
主站蜘蛛池模板: 长汀县| 商都县| 玉屏| 周口市| 漠河县| 静乐县| 手游| 博客| 北流市| 慈利县| 古田县| 辽阳市| 崇信县| 城口县| 清河县| 石泉县| 鄢陵县| 汤原县| 堆龙德庆县| 平武县| 贺州市| 怀安县| 沅江市| 洛川县| 高阳县| 常宁市| 车险| 福安市| 彭阳县| 咸宁市| 青铜峡市| 灵璧县| 潞西市| 依兰县| 云安县| 芜湖市| 金溪县| 金乡县| 延边| 伊春市| 望都县|