數據科學家周暐:「數」中自有黃金屋——大數據的價值提升

編者按:
10 月 20 日晚,「七牛雲 Niu Talk 」 數據科學系列論壇第二期如期舉行。活動中,七牛雲數據科學家周暐爲我們帶來了主題爲《大數據價值提升的技術與實踐》的主題演講。從金礦開採引申到數據挖掘,圍繞「大數據的特點」、「數據與模型」、「價值提升的案例」三個方面,深入淺出地爲我們分享了他「沙裏淘金」的經驗。以下是演講實錄。

嘉賓簡介

周暐,七牛雲數據科學家,擁有 20 多年的工作經驗,長期在全球知名的高科技企業工作。目前主要負責在國內推廣和實施基於先進機器數據平臺的大數據分析解決方案。

今天爲大家帶來的演講主題是《大數據價值提升的技術與實踐》,首先我想和大家分享我的一次旅行故事。我參觀的是在寶島臺灣的一個小衆景點,叫做「黃金博物館」,它是在一座廢棄的金礦上建成的。其中有珠光寶氣、金碧輝煌的場景,但給我留下最深刻印象的,是其中展示了黃金生產鏈上的各個環節。其中有一個非常打動我的點,就是在一噸的金礦石裏,僅僅能開採出三到四克的黃金,這樣的比例其實是非常少的,甚至低於中彩票。

可能是出於職業敏感,我頓時就聯想到了平時數據挖掘的過程,其實和沙裏淘金非常相似。大家都知道現在已經進入到了大數據的時代,我們身邊不少有數據,但是真正的能夠從大數據裏面去得到有益價值的人,好像不是那麼多,真正到能夠享受到其中樂趣的人,就更是少數了。那麼今天我就圍繞「大數據的特點」、「數據與模型」、「價值提升的案例」三個方面,和大家分享我「沙裏淘金」的經驗。

大數據的特點

大數據的特徵可以概括爲「4 個 V」:體量大、形態多、速度快、不準確。裏面其實是沒有 value 這個詞的,如果一定要加第 5 個「V」 的話,我覺得也應該是一個低密度的「V」(value)。也就是說如果處理不當,數據是有它的兩面性,就是因爲我們不能很方便、很快速地從中能夠把它的價值提取出來。

在現如今,無論是個人還是企業,對大數據的期望越來越高。經常有人跟我說,我們公司現在已經存儲很多數據,那麼你們能不能幫助我們做點什麼,把它的價值發揮出來。實際很多公司在大數據方面並不是一張白紙,已經在做很多事了,比如數據的採集工作、清洗工作、存儲工作,甚至開發出了一些成熟的可視化的報表,能夠做一些快速的查詢。
但以上種種,都屬於過去階段。現在我們對大數據的期望其實會變得更高,不僅僅期待它能夠彙總過去發生的,還能告訴我們未來會發生什麼。因爲一旦有了對未來的預測,我們才真正成爲數據的擁有者,真正掌握數據的價值。

數據與模型

所以這一切的關鍵——無論是礦裏採金、原油提煉,還是數據挖掘——就是要做一道工藝,這個工藝其實從大的方向講就是爲了兩個字:模型。但是整個建模的過程,其實可以細分成很多的子過程。
說起模型,首先要和大家明確一下定義,因爲這個詞實在是太容易引發誤解。舉個簡單的例子,比如我們說起 car model 的時候大家會想起什麼?下圖的兩個畫面,相信會分別浮現在不同人的腦海中。

甚至還有的人聯想出、對應出更多的「car model」,所以我們會發現,不僅我們說「car model」會有多種理解,說起 data model 就更能引發爭議了。
比如在工作中我們需要提煉出 data model,我的同事就跟我說我已經提煉出來了,但當我們細聊下去,我才發現其實他所謂的 model 是下圖這樣的一個表格。做數據庫相關工作的人應該會很熟,基於這個表中的關聯性,我們可以串起很多相關的表格,然後構建成一個大框架,從而做增、刪、改、查等相關工作,這當然是很有價值的,但卻不是我想要講的「data model」。

我想講的是基於機器學習構建的 model。它的應用場景,確實就像是那些擁有很多數據的企業追求的一樣。在我們不知道數據發生機理的情況下,我們可以用一種黑箱的模式來表示。黑箱的左側就是一串變量,我們可以把它作爲輸入變量,黑箱的右側就是一個結果變量,我們可以把它叫做 response 或者是 output 。

這樣的黑箱可以發生在各種場景,它可能是生產的流程、管理的進程、市場的活動,甚至是一次用戶對產品的體驗。但是最終都會產生一個結果,我們就尋找輸入因素對最終結果的影響關係是什麼。我們可以把大量、真實具有代表性的數據,放到專門的機器學習工具模型裏跑,可能就會得出這樣的一個結果來。有了這個表達式,其實我們就可以更加方便、可視化地把 x 和 y 之間的關係給表達出來。那麼這樣一來,我們剛纔的黑箱也就不再是黑箱,而變成了我們能夠知道內部機理的白箱了。
但是請各位務必注意,這樣建設的模型是有誤差的。所以我們想真正提煉出的 data model,其實可以用下圖的表達式來表示,也就是說既有含信號的部分,但也不可避免地存在噪音部分。這樣的偶然性和必然性,可謂是「法身無去無來住寂光而不動,德相非空非有應隨機以恆周」。

我們所追求的這種模型,很多人會和另外一種模型混淆。比如以下這些很經典的公式,它們在很多領域都有很基礎的應用。但是這些公式是通過機器學習的方法提煉出來的嗎?顯然不是。

這裏就涉及「機理模型」的概念。一般來講,機理模型是不需要基於歷史數據來做挖掘的,它是通過一些專業模型產生的。其實這是我們最理想化的一類模型,因爲它的特點是沒有誤差,而且從機理上能夠解釋透徹。現如今,我們有大量的歷史數據,從中我們可以提煉出一些和機理模型相類似的表達式。雖然有誤差,但如果這個誤差控制在很小的範圍,那麼它還是有很大的實際應用意義的,這也是相對來說,可以做到的一件事。

那麼怎樣能夠在有大量歷史數據的情況下,提煉出機器學習的模型,來進一步幫助我們做實際應用呢?

而在此之前,可能很多人會問:到底 data model 分哪些種類,又有哪些技術類別呢?按照主流的方向,可以大致分以下幾類。比如對最常用的機器學習的語言來講,就可以把它分爲監督機器學習方法模型以及非監督機器學習方法模型。它們的區別在於,如果是有監督的話,也就是說明我們的數據裏面往往是自帶結果變量,反之則沒有。從數學的角度講自帶結構變量,我們可以在下圖看到,比如已知數據 x1 和 x2,它就自帶三角形或者方形的標籤,這是數學上的意義,它實際上可能代表一個產品的 合格情況,申請貸款批准與否,這些都可以說是有監督型的機器學習方法裏,可以用到的常用的場景。
那麼下圖右邊和左邊最大的區別是什麼?其實右圖也是有結果變量,但相比於左邊的偏離散型數據,右邊是偏連續性的結果。以剛纔銀行審批貸款爲例,我們就不但可以預測一個用戶他申請貸款是否被批准,同時我們還可以預測他能收穫的貸款額度。

另一種場景就是無監督的機器學習方法模型,它應用的場景往往沒有結果變量。比如一條數據、一個客戶的基本信息,或者一個有成千上萬個種類的產品,我們如何對他們「物以類聚,人以羣分」?其實這個原則很簡單,那就是組內的差異一定要儘可能小,但是組間的差異要儘可能大。這是個大的方向,具體怎麼樣才能達到效果,無監督的很多算法來幫助我們做這種事,它可以幫助我們把看似很大量的不同類別,歸納成少數幾類,並提取特徵。

上圖中的右側,是另外一種無監督的應用——異常值檢測。其實我們可以把異常值檢測看作是一種特殊的聚類。一類就是正常,一類就是異常。它的特點就是往往異常的種類的數量比較少,而正常的比例的數量會絕對比較大。
聚類的方式可以分爲幾類,每一類的比例大小沒有什麼具體的限制。那麼像右邊這種異常檢測,就有很多現實應用。還是以銀行爲例,我們可以通過這種異常檢查去篩查參與信用欺詐、洗錢等行爲的異常客戶。
總之我們可以根據實際問題,把要分析的業務問題轉化成數學問題,基於它我們就有很多的工具和方法可以使用了。然後最終不要忘了把它再轉換成一個具有業務意義的答案,整個過程就能達到從大數據裏提取價值的一個目的。
如果對算法感興趣,下面有兩個經典算法可以和大家分享。
第一種是決策樹,就是在監督型這個機器學裏面常用的一種算法。它其實有很廣泛的應用。比如在交友網站中,如果網站的主要任務是爲會員介紹對象,提高速配成功率的話,那麼可以怎樣推薦?其實我們對會員做一些歷史數據的挖掘,往往就能得到這樣的結果。比如影響一個人是否和願意和某個對象進行交往的因素有很多,但是通過決策樹的算法,我們就可以提煉出像這一類會員是對哪些因素比較看重的。基於真實的歷史的數據,其實我們就可以把一個人看似無序決策過程,用非常有邏輯性的方式表達出來。

另外一種算法是 ARIMA,這也是在經濟、生產中,只要有持續性的數據就都可能會用得到的一種算法。它是用於實際數據分析的。比如下圖是中國在過去幾十年中,發生水災受災面積的一個時間序列圖。

比如說我們要預測下一個年度中國整個國家發生水災的受災面積,可能很多人會有一些自己的想法,但 ARIMA 是一種自動化的算法。我們感覺上表面上看整個過程好像沒有什麼太多規律,但如果我們仔細關注一下的話,就會發現數據有一定的特點。把其中的趨勢性、週期性以及不規則性,儘可能用一些函數的形式表達出來並進行整合,這樣一來我們就能有一個更精確的預測,幫助我們做很多前瞻性的工作。

價值提升的案例

以上類似的方法還有很多,下面我想用更實際的應用來進行說明,通過結合實際業務,來做通用的流程,由此產生真正的商業價值。

下圖可能會引起大家玩「捕魚遊戲」的回憶,那麼我們就舉一個關於遊戲的例子。這是七牛雲數據科學分析團隊和客戶一起合作,通過數據挖掘的方式,來真正發現遊戲玩家的一些行爲規律。

說起這種遊戲運營,大家肯定會有一些經驗,比如通過下圖這樣的留存率分析來發現其中變化,如果發生了降低的趨勢,就要採取方法,做一些市場策略的改進。

市場策略改進怎麼改呢?往往大家會想到用戶標籤,比如下圖這種標籤是相對簡單的,可以從一維的角度得到,比如說不同地區、不同額度的付費等,來找到不同的細分市場,基於不同的細分市場來做改進,這是一種策略。但其實這種方法,大部分的遊戲運營公司早就用過,到了一定的程度之後,就會發現有一段無法跨越的瓶頸。

這時候就需要做一些更深層次的分析,也就是說我們不僅僅要用一些簡單的屬性數據,還要關注他的行爲數據。我們先從業務的特性入手,根據遊戲行業的特點,比如說抽獎的行爲、參加比賽的行爲、使用道具的行爲、使用不同種類炮臺的行爲,以及最終擊中目標的一些行爲數據等等。

根據各種行爲的重要性,甚至我們還考慮了心理學的因素來進行提煉,得出了至少有十幾個維度的特徵變量,我們把這些變量特徵,放到我們的機器學習的工具平臺裏跑了一遍。

最終,我們真的發現它可以分成相關的少數幾類,並且我們發現有幾個變量對我們的聚類分析,產生了重要的影響。

下面這張圖就體現了變量的關鍵性,而且是不同用戶分羣的一個顯著特徵。

在這張平行座標圖中,它的每一個 x 軸基本上就顯示了我們剛纔提到的行爲特徵。比如圖中的第一類客戶,他的明顯特徵行爲是很多變量爲 0,意味着它的道具使用量最少。第二類用戶就沒有明顯爲 0 的那些變量,道具的使用頻率也是相當高,還有很多地方分佈很寬,證明各種各樣的魚都是他們的目標。第三種用戶的特徵,就處於前兩者的中間狀態。
通過這樣的分析,我們可以發現第一類其實就是淺度玩家,而中間這種,是很多遊戲公司最喜歡的深度玩家,而第三種就是兩者之間的中度玩家。由此,我們可以給遊戲市場做了一個非常有技術含量、有技術價值的深度標籤。通過標籤識別,我們可以更深層次地對客戶進行細分,然後進行相關的市場營銷策略。
如此一來,得到的效果非常驚人。通過下圖我們可以看出,淺度玩家的次月留存率只有 5%,遠遠低於深度玩家 35%。也就是說,我們能夠真正找到那些深度玩家類別,然後想方設法去影響他們的一些特質。對於第一類和第三類的用戶市場,我們也很有把握去進一步提升留存率。

以上就是我們在互聯網行業的一個應用。最終我想化用一句咱們的古話,來爲分享做一個總結:「數中自有黃金屋」。我們也非常願意和更多合作伙伴一起,一起運用數據來「煉數成金」!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章