讀古今文學網 > 機器學習實戰 > 前言 >

前言

大學畢業後,我先後在加利福尼亞和中國大陸的Intel公司工作。最初,我打算工作兩年之後回學校讀研究生,但是幸福時光飛逝而過,轉眼就過去了六年。那時,我意識到我必須回到校園。我不想上夜校或進行在線學習,我就想坐在大學校園裡吸納學校傳授的所有知識。在大學裡,最好的方面不是你研修的課程或從事的研究,而是一些外圍活動:與人會面、參加研討會、加入組織、旁聽課程,以及學習未知的知識。

在2008年,我幫助籌備一個招聘會。我同一個大型金融機構的人交談,他們希望我去應聘他們機構的一個對信用建模(判斷某人是否會償還貸款)的崗位。他們問我對隨機分析瞭解多少,那時,我並不能確定「隨機」一詞的意思。他們提出的工作地點令我無法接受,所以我決定不再考慮了。但是,他們說的「隨機」讓我很感興趣,於是我拿來課程目錄,尋找含有「隨機」字樣的課程,我看到了「離散隨機系統」。我沒有註冊就直接旁聽了這門課,完成課後作業,參加考試,最終被授課教授發現。但是她很仁慈,讓我繼續學習,這讓我非常感激。上這門課,是我第一次看到將概率應用到算法中。在這之前,我見過一些算法將平均值作為外部輸入,但這次不同,方差和均值都是這些算法中的內部值。這門課主要討論時間序列數據,其中每一段數據都是一個均勻隔樣本。我還找到了名稱中包含「機器學習」的另一門課程。該課程中的數據並不假設滿足時間的均勻間隔分佈,它包含更多的算法,但嚴謹性有所降低。再後來我意識到,在經濟系、電子工程系和計算機科學系的課程中都會講授類似的算法。

2009年初,我順利畢業,並在硅谷謀得了一份軟件咨詢的工作。接下來的兩年,我先後在涉及不同技術的八家公司工作,發現了最終構成這本書主題的兩種趨勢:第一,為了開發出競爭力強的應用,不能僅僅連接數據源,而需要做更多事情;第二,用人單位希望員工既懂理論也能編程。程序員的大部分工作可以類比於連接管道,所不同的是,程序員連接的是數據流,這也為人們帶了巨大的財富。舉一個例子,我們要開發一個在線出售商品的應用,其中主要部分是允許用戶來發佈商品並瀏覽其他人發佈的商品。為此,我們需要建立一個Web表單,允許用戶輸入所售商品的信息,然後將該信息傳到一個數據存儲區。要讓用戶看到其他用戶所售商品的信息,就要從數據存儲區獲取這些數據並適當地顯示出來。我可以確信,人們會通過這種方式掙錢,但是如果讓要應用更好,需要加入一些智能因素。這些智能因素包括自動刪除不適當的發佈信息、檢測不正當交易、給出用戶可能喜歡的商品以及預測網站的流量等。為了實現這些目標,我們需要應用機器學習方法。對於最終用戶而言,他們並不瞭解幕後的「魔法」,他們關心的是應用能有效運行,這也是好產品的標誌。