哪些蘋果用戶還會購買下一代產品?讓機器學習帶你精準定位
文/張尚軒
人工智慧是當前社會的顯學之一,但如果沒有了機器學習和演算法的支撐,人工智慧就無從談起。到底什麼是機器學習?機器學習跟統計學又有何關係?在1月11日的數據俠線上實驗室中,DT君邀請到美國知名大數據教育機構「紐約數據科學學院」首席數據科學家張尚軒(Vivian Zhang),她通過豐富的案例,深入淺出地為我們介紹了機器學習的基礎背景、演算法和應用。
▍機器學習和統計學是何關係?
今天我的分享主題是「從0到1:關於機器,學習知道這些就夠了」。因此我主要會講一些相關的背景知識和案例。
關於機器學習,很多人常常會問到一個問題:機器學習和統計學是什麼關係。很多朋友在大學、中學的專業可能是統計學,而也有一些計算機系的朋友也會學到關於機器學習的知識。機器學習和計算機學科、統計學之間的關係,我會通過一些案例來說明。
很多人都用過iPhone手機的Siri助手功能,這就是一個典型的機器學習的例子。當你打開Siri的時候,你可以與它語音溝通:比如你可以讓它幫你跟朋友約個會議、自動查詢明天拉斯維加斯的天氣怎麼樣等等。
Siri的原理並不複雜,它首先是試著明白你的語音,從中獲取到你的具體指令,接著通過你自己手機本身存儲的信息和互聯網的信息,來找到你想知道的答案,最後它會將它整理出來的結果和答案直接反饋給你。
上圖可以看出,在整個流程(聽懂你的語音-識別你的指令-找到你想要的結果-組織結果回答你的問題)中,Siri反覆用到了各種各樣的機器學習的演算法。
類似的例子還有很多,在當今社會,機器學習已經存在於我們生活的方方面面。比如語音識別、無人駕駛汽車、自動推薦系統、信用卡的防欺詐系統等等,這些領域都有機器學習的影子。機器學習知名學者吳恩達(Andrew Ng)曾經說過:機器學習已經無處不在,你可能在一天中使用過很多次,卻不知道已經使用過它。
在學界來說,對於機器學習的一個比較流行的定義是:所謂機器學習就是用演算法來教機器自動地從數據中學習知識。
另一個更為被學界接受的定義來自T.M.Mitchell:所謂機器學習就是一個計算機程序,它可以通過你的經驗來提高你對處理某些任務的表現。
它包括三個方面的變數,一個是經驗值(E)、任務值(T)和你的表現值(P)。當你的演算法能夠在特殊的任務值T中,通過經驗的衡量,來提升你的表現。這樣的演算法就被認為是好的機器學習的演算法。
這樣的定義看起來繞口,卻可以幫我們理清機器學習的目標、手段等等。
一般來說,機器學習被認為是計算機專業的一個部分,是人工智慧的一個小分支。它和計算機科學、統計學、數學緊密關聯,當然,很多人也會將機器學習形容為數據挖掘、數據分析和預測模型。因此,它是有很多名字的。
(圖片說明:統計學,「機器學習是我那愛趕時髦的小屁孩兒。」)
我在研究生院的統計學教授就常常開玩笑說,其實他們研究的演算法知識與計算機系的演算法知識是很接近的。但不同的領域取的名字不一樣,拿的政府基金也不一樣。計算機系總是更有優勢的。
機器學習非常年輕,是非常關注在行業的應用的。而統計學的歷史悠久,其源自於對農業和社會學的研究。統計學擁有堅實的基礎,而機器學習作為一個年輕的學科,統計學是可以成為其理論基礎的。
(圖片說明:統計學的特點是歷史悠久而成熟。)
一個很好地比較兩個學科的方法,就是看這兩個學科的最頂級的雜誌。例如機器學習的頂級雜誌是《模式識別和機器智能》。我們找到三篇比較典型的文章例子。第一篇雜誌文章是「關於瀏覽檢索圖像數據的紋理特徵」,第二篇文章是一個叫「Pfinder:實時追蹤你的人體」,最後一篇是「一個靈活的相機校準新技術」。
(圖片說明:機器學習、統計學兩門學科的頂級雜誌文章對比。左為機器學習頂級刊物《模式識別和機器智能》,右為統計學頂級刊物《統計學年鑒》)
而統計學的頂級雜誌《統計學年鑒》中,我們也可以找到比較典型的機器學習的文章,例如「如何估計一個模型的維度」,又例如「依賴關係下多重測試中的虛假髮現率的一個控制方法」等等。
機器學習作為一個新興的用詞,跟高科技的連接是非常緊密的。而統計作為一個比較歷史悠久的學科,相比高科技的整個運行要稍微延後一些。
而兩個學科在處理結構化和非結構化的數據的能力方面也不盡相同。機器學習是為機器而設計的演算法,所以其關注點是做預測和做決策。
它會從非常早期就開始更關注於計算的有效性,因為算不算得出來直接決定這個演算法的成敗。而統計學更多是為我們人類的理解和預測而設計的。例如整個社會的就業率這一類的問題,是不用太關心整個計算的成本的。一直到最近,計算成本才在統計行業中得到關注。
就統計學而言,其主要應用於經濟學、社會科學、醫學等一些領域。大部分情況下,數據量並不大。所以統計學家並不認為計算成本是一個很大的問題,但最近10年,這種情況發生了較大的改變。因為在生物和基因學中,單純的統計模型已經無法解決裡面的統計難點了。
很多朋友會問我們到底什麼時候使用機器學習、什麼時候會用到統計學知識。當你的數據非常特別的時候,例如如果你的數據是視頻流數據,或者Youtube的數據,又如在美國有一家非常知名的安全數據計算公司叫做Palantir,他們受美國國土安全局的委託,通過他們的演算法來尋找恐怖分子的位置。
這樣的數據是非常大的。又或者像Facebook,它擁有很多實時上傳的數據,這一類數據用傳統模型和演算法都無法處理。因此較好的方法是機器學習。
而當你的結果需要非常仔細地詮釋的時候,而這種詮釋又非常重要的時候,你應該使用統計。例如說,整個人口的增長率、社會的就業率,又比如說數據有明顯的結構,比如說你的預測變數和反應變數是有很清楚的定義的。
又例如在一些很重要的行業,比如風險控制,理論基礎是非常重要的。你不能通過黑箱的操作來做模型的時候,就必須使用統計。
像金融海嘯之後,美國的司法部門和監管部門是禁止將非常複雜的演算法用於金融行業的。因為它們沒有辦法被詮釋。所有的演算法似乎是黑盒子里計算出來的。因而在這些領域,更傳統的統計模型得到了青睞。
機器學習科學家和統計學家現在有了越來越多的交流,比如,機器學習已經開始發展出更多的理論基礎。
而通過與機器學習科學家的合作,統計學家也試圖結合機器學習來拓寬他們的研究領域。在不久的未來,這兩個學科的邊界將越來越不明顯,而同時演化成數據科學。
(圖片說明:機器學習和統計學未來很有可能演變成同一個新學科:數據科學。)
▍有監督學習和無監督學習,如何區分?
現在我們來看一些機器學習在業界應用的具體例子。
首先,機器學習可以分成有監督學習和無監督學習。二者之間的區分,可以舉個例子,比如,現在有一堆石頭,你採集石頭樣本中各種元素的含量,想知道這塊石頭是不是隕石。
由於隕石和非隕石的定義是很清楚的,這樣的例子就叫做有監督學習。相應的無監督學習的意思是,當你沒有清晰定義的因變數,也沒有清楚標註過的數據,這樣的情況就叫做無監督學習。就如你擁有很多不同用戶的手機使用數據,但你並不清楚每個使用者可以被歸為哪個類型。你只知道這些用戶的行為模式。
我們再看另外的例子,比如你可以通過社交媒體如Facebook等採集關於大選投票人的數據,我們可以將不同的人群分成不同的政治傾向,標註為共和黨或者民主黨員,或者是青睞這兩個黨的不同受眾。
(圖片說明:有監督學習和無監督學習的區別在於:監督學習有明確的標籤,比如上圖中,可以按照政治傾向,將美國的人群分為共和黨支持者、民主黨支持者。)
相應的,一個無監督學習的例子是你可以做一個所謂的社區分類。社區分類被廣泛使用在整個網路(Network)的分析,可以幫助我們找到一些我們之前不了解的關於用戶的信息。
比如這個用戶並沒有明顯地展示他的政治傾向的時候,但它屬於一個偏向民主黨的社區,那麼這個用戶就可能成為一個支持民主黨的人。
(圖片說明:無監督學習中,往往會將人群分為一個個社區。通過人群所在的社區,再去推測他們的政黨傾向。)
可以來看上圖這個例子中的不同顏色,每一種顏色指的是一個大致的社區的分類。這種社區的區分概念現在越來越多地得到整個學界的關注,因為它的邊界是很模糊的,需要更多的研究方法來找到它們的聚類,來找到區分方法。
再看另一個例子,比如亞馬遜公司想要研究哪一類人最有可能購買Kindle閱讀器。這一類的研究方法就是有監督的學習,因為他們已經收集了很多關於用戶的信息,他們有明顯的標籤,買或者沒買。
整個數據挖掘和分析過程並不是一蹴而就的,你會發現在對商業數據的採集、建模過程中,可能要好幾個來回,才能最終定下所有階段的需求、項目的分析等等,以上都是需要很多時間來調整的。這裡可以看某個樣本數據的分析過程:
這其實是一個語音素材的文本識別和提取的過程,並不是一步兩步就可以輕鬆解決的。
▍機器學習案例:購買過iPhone 5的人,還會買iPhone 6嗎?
另外一個常見的問題是,機器學習告訴我們的是已經知道的知識嗎?並不是。機器學習更關注的是不那麼容易得到的非表面化的一些知識。能通過簡單的統計分析而了解到的知識,不能稱它為機器學習。
另一點要強調的是,整個數據探索和分析的過程,是想通過自動化和半自動化的方法來對大量的數據,做有意義的行為模式的探索。
機器學習的演算法可以被分為另外兩類:一類是預測性的方法,這種方法是通過一些變數來預測未知的、可能的變數數值,另一類叫做描述性的方法,是告訴你一些人類可以輕鬆理解的行為模式,而這種模式可以很好地描述這個數據。
舉例來說,分類演算法、線性回歸、非尋常情況的檢測都是一種預測性的方法。而聚類、相關規則的探索則是一種描述性的方法。
每種演算法操作起來都是非常不同的。比如說,分類演算法要求這個數據集中的每條記錄都有很多不同的屬性,你的目標是通過這些所有的屬性來尋找一個模型,這個模型可以將你沒有見過的一個新的數據分配成正確的那種。
上面這張圖片中展示的是一個經典的Iris數據集的例子。這一數據集採集了各種花卉的花萼的寬度、長度等信息,通過機器學習的方法,通過分類演算法,可以有效地將三類花區分出來。
例如左邊第二排第一張圖,你可以明顯的看到,綠色、橘色、藍色的三個分組。當然你可能會注意到,這個分組的邊界並不是那麼清晰,橘色和藍色會有一些重疊的部分,這些部分就是沒有辦法百分之百準確預測到的部分。
一個比較常見的分類演算法在商業中的應用,例如我們可以找到正確的受眾群,來減少我們推廣的成本。比如,我們想寄郵件、寄信給消費者,促使其購買新的手機產品,一個比較常見的做法是用類似的產品的數據來做預測。
如果這個人購買過iPhone 5,其購買iPhone 6的可能性也可以做些預測。
如果我們可以採集到購買iPhone 5 和不購買iPhone 5的消費者的行為模式和其他一些基本資料,比如地域分布、生活習慣、他們在網上看什麼數據、有沒有搜索過iPhone 6的數據,是否有給蘋果支持中心打過電話要求支持等等,這一類的數據都可以幫助我們來作為自變數,來做一個分類模型,從而幫助我們做出決定,找到購買可能性比較高的那些消費者。
另外一個案例是如何檢測出非正常的情況。上面這張圖中有很多圖像的識別處理,左上角的灰色圖片是不同的時間點截下來的圖片,將這些圖片進行降維分析,從多維數據降到三維數據,然後你可以看到第二排的第一張圖——所謂的熱點圖,其中那個紅色和黃色的熱點,是區分出這個人的行為跟大部分在人行道上的人的行為不同之處。
他也許是走在了人行道的邊界,即將走出人行道,或者是他有撞上別人,或者是他在人行道上騎自行車。這些非正常的行為都是可以通過圖像識別來抓取的。據我了解,中國的警方已經實現了這類基本的圖像識別,來檢測道路上的非正常行為模式。
機器學習的例子很多,接下來再舉一個美國的例子。美國的國立衛生研究所(NIH)每年都會給很多不同的學科以基金資助,通過機器學習,你可以找到這些學科之間的聚類關係。比如說神經網路系統和生物分子、生物系統是有很強的連接的。而健康信息和行為模式的分類下又有風險管理、風險預防這一類的研究方向。這樣區分之後,可以幫助你更好地作出選擇,看你的文章適合發到哪一類的雜誌上,應該去申請哪一類的基金支持。
機器學習在商業中的應用方式還有很多,希望今後能有更多的機會再跟大家分享。
註:以上內容根據張尚軒在數據俠線上實驗室的演講實錄整理,有刪減及部分調整,已經本人審閱。本文僅為作者觀點,不代表DT財經立場。
編輯 | 項靜
題圖 | 視覺中國
期待更多數據俠乾貨分享、話題討論、福利發放?在公眾號DT數據俠(ID:DTdatahero)後台回復「數據社群」,可申請加入DT數據社群。
▍數據俠門派
本文數據俠張尚軒(Vivian Zhang),美國紐約數據科學學院(NYC Data Science Academy)首席數據科學家。有多年數據挖掘、數據分析經驗,擅長R、Python、Handoop、Spark等編程語言。曾被福布斯雜誌評為「數據分析領域的9位女性」之一。
▍加入數據俠
「數據俠計劃」是由第一財經旗下DT財經發起的數據社群,包含數據俠專欄、數據俠實驗室系列活動和數據俠聯盟,旨在聚集大數據領域精英,共同挖掘數據價值。了解數據俠計劃詳情請回復「數據俠計劃」,投稿、合作請聯繫datahero@dtcj.com。
推薦閱讀:
※大數據是回事么?(2016年最新大數據公司全局圖)
※獨立DSP未來預測(上)——數字營銷2017職業雞湯
※新浪為什麼解決不了訪問量暴漲的衝擊,因而屢次癱瘓?