熱線電話:13121318867

登錄
首頁職業發展大數據產品的特點和要素
大數據產品的特點和要素
2015-11-11
收藏

大數據產品的特點和要素


在談論特點和要素之前,先聊聊什么是大數據產品,這是個仁者見仁智者見智的問題,由于其特點過于抽象,每次解釋都很困難。業內人士問我的工作內容時還比較好回答,謙虛的時候我會說做做數據,吹牛的時候我會說跑跑模型,尤其是這幾年隨著大數據這個概念越來越火,往往一說到我做大數據大家就都多少有了些概念。

大數據

可對于業外人士這個問題就難解釋多了,早年還在做網頁搜索排序的時候,我就會經常撇開自己做的內容舉電商的例子。我會說我做的事情就是決定你賣的東西能不能排在前面讓別人容易搜到,而決定排名的因素有很多,比如價格、歷史銷售數量、好評數瀏覽量等等,一般這么講對方就似乎懂了,覺得我做的事情聽著靠譜。

正如很少有人正面定義大數據是什么而是每次說起大數據就是說4個V一樣,更多情況我們選擇從他們的一些特性刻畫他們。所以,本文將要提到數據產品往往并不是一個具象的功能或者事件,他更多的是一個決策系統,指導各個功能根據不同的場景完成最佳的響應。所以搜索引擎,反作弊反欺詐系統,推薦引擎,興趣點/主題提取系統當然都是我要討論的大數據產品,而廣義上講的一些數據產品,比如數據詞典類的黑名單白名單,報表,OLAP, ETL,數據流等等則不在討論范圍之內。

大數據

從特性上講,我今天要談的大數據產品往往具有概率的準確性,自適應性和閉環性等特點。

所謂概率準確性就是說無論如何積極的使用最新最高級的算法,無論如何實時的更新模型,無論多么努力的清洗數據總會很多bad case摻夾其中。如果以工程的角度把這些負例當bug來看,那么這個bug可是無窮無盡永遠修不完的。所以數據產品往往只能做到高概率的正確,在很多場景就足夠好了。之所以要強調這一點,我認為這可以說是大數據產品設計的世界觀之一了。

做軟件開發,網站應用開發或者是數據流等工作很多年的人對準確的定義往往更加嚴苛。對他們來說,自己的產品離準確度達到100%也許也總有差距,可一個產品只達到80%的準確性就沾沾自喜了實在讓人難以理解。

可是”泛泛來講”,能達到80%準確的大數據產品已經相當不錯了,很多投入無數人力物力數十年的技術積累也難將準確度提高個10%。所謂“泛泛來講”原因就是大數據產品所要解決的問題本身對準確性的定義就很難衡量,以搜索引擎為例,相關性應該是衡量搜索結果好壞的最重要標準之一,從早期的tfidf, page ranking,到后來各種plsa, lda, wordvec2等技術的引入。我們還是明顯的看到各個搜索引擎的相關性是在提高了,可是相關性的準確度達到80%了么?什么又是相關性的準確性呢?所以這些事往往只能比較出現在比過去做得好,可是何為進化的終極至少目前大多講不清楚。

大數據

自適應性就是指大數據產品一般不是一個發行版,執行著固定的邏輯不是靜態的一成不變的,而是總是隨著趨勢的改變、數據的積累,適應著行為的變化而自適應的反饋出相應的結論。所以大數據產品是靠數據變得鮮活起來的,自身的邏輯只是給數據提供一個骨骼,支撐各個數據在各個位置發揮自己的作用而已。

所謂閉環性是指大數據產品的決策會直接影響業務的表現,業務的表現會提升用戶的體驗,而用戶體驗的改善又會更新數據的特性,最終數據不同又會使產品的決策不同。

那么性質差不多講清楚了,開始講講各個要素吧

數據

巧婦難為無米之炊,但是光有原始數據也肯定是不夠的,除了對數據量,數據質量和數據刻畫能力的要求之外(以上因素往往受業務邏輯限制),對于大數據產品來說,涉及每一個元數據必須清晰到每一個細節并且很好地進行清洗。所謂清晰的到每一個細節,就是說對每一個數據庫中的column或者日志中的字段,我們都要知道詳細的定義,知道每個取值的含義,進一步的最好知道詳細的計算邏輯。如果只是依賴文檔當然是很快的一種上手的方式,但文檔更新的滯后性往往造成了一些字段含義被誤解。

大數據

比如有一個字段為了節省空間是用bit的方式存儲的,文檔可能是這樣介紹的,該字段共用了兩個bit分別表示兩個地區是否命中一個邏輯,1代表命中。于是就可能出現了這樣一幕,我們需要取第二位對應的地域的信息的統計結果時,某位工程師寫了.filter( _ >=2)這樣的簡單易懂的代碼,對兩個地域來講這個邏輯雖然不好但是不錯, 但殊不知這個文檔已經過時很久,其實已經是對應了四個地域,這個條件會將很多其它情況通過過濾。

所以每個數據項在知道定義之后,統計其最大,最小,null的數量,分布情況是一個基本而且必須的過程,如果有條件最好畫一個一目了然的histgram或者boxplot更好。然后看每一項根據這個定義是不是可以解釋。數據清洗的過程當然是基于了對每一個字段的理解深刻進行的。一個大公司往往會有專門的團隊對于核心數據進行清理,即使這樣,數據清理所占的工作量依然是巨大的,而對一個從raw data開始的大數據產品數據清理的工作量甚至可能會超過總工程量的80%

人也是我認為最重要的一條。而對于人的特性中我并不認為最重要的是技能或者背景,更多的我認為是懷疑和求是的精神。我和很多各種水平,各種背景的數據工程師工作過,有的可以對一些比較復雜的機器學習算法的每個細節侃侃而談,有的甚至連線性回歸的關鍵指標都講不出來,但實際上從對一個產品的貢獻度來講后者未必低于前者。

大數據

所以一個不錯的數據工程師,會機器學習算法當然好,但最重要的是有懷疑和求是的精神。我認為做數據,其實就是在抽象對世界的一個認知,講真理什么的就講遠了,但是我們要不停的考慮數據的可解釋性,策略結論的合理性,反面樣例存在的原因。既要不停的用一般的common sense去度量每一步的數據,又要依賴數據工具和各種metrics去公正的評估策略的結果,還要相信數學模型得到的結論不停修正自己的世界觀。

數據流的自動化搭建

這里所講的數據流并不是單純的數據采集清洗以及存儲的過程,還包括了自動挖掘,特征提取,模型訓練和模型發布上線的過程。這個因素給人的印象似乎和前面談的不一致,這好像是在說純工程上的問題。但在一些場景之下,數據模型的高速迭代對業務來說就是一個非常重要的改進。曾經在做一個項目里預估模型時,單是從每天更新一次的模型提高到了一天四次更新,在各方面線上表現就有了明顯的提升。

大數據

所以在項目的初期,也許確實沒有必要做到高頻的更新,但設計中應該涵蓋對這種時效的提升考慮。比如只要做大機器夠多,MR數量夠多,模型更新的頻次就能增加,這樣就算可以接收的設計。如果能利用一些data streaming技術如spark來做實時機器學習那就更牛了,可是也要具體場合具體分析,如果每天的業務量本身就有限,又何必搞那么復雜,過猶不及。但是無論如何,無論是data pipeline還是模型分布,中間任何一個環節需要人手工做某些事情是絕對不能忍受的。

重視線下和線上評估的設計

線下評估省錢省力省時間,可是線上才是檢驗真理的唯一標準,這也引入了三個問題,線上模型表現和線下訓練數據處理的一致性,線上實驗平臺設計以及線下評估的不斷完善。這三個問題每一個都可以展開講很久,都是值得我們不斷努力改善的方向。

選擇適合的算法

這個只簡單講兩句,未必復雜的高級的算法就是好的,未必別人的最佳實踐就是可以復制的。選擇算法的時候,對于自己精通的算法,即使簡單只要用的恰當也許效果也相當不錯,當然我們也不能故步自封在已知的領域,不停嘗試新的技術也是推動大數據產品不停進化的動力。

明確方向和目標

之所以講了這么多點才講到似乎應該第一個講的需求分析,就是大數據產品的不確定性決定的。要解決的問題雖然明確,但是解決的方法卻不是唯一的,而且很可能是需要不停探索嘗試才能解決的。我們每做一個原型,每做一個分析的時候只要不停的問自己,這個數據說明了什么,這個數據是否有用,這個方向是否可能跟要解決的問題在某個維度有一個小的夾角,這些工作都可能成為后來非常有意義甚至是決定性的因素。

人工干預

講到這個點的時候,我猶豫了很久,因為這個點就像是要向大家介紹一個會給自己帶來某些好處的劣習一樣。一切大數據產品的最終形態應該是由數據和模型來闡述它自己而沒有任何人工的因素。

大數據

我所經歷的好多比較大的項目也都是在向著這個方向努力,可是不得不說,對于業務剛剛上線的時候,簡單暴力的人工規則往往效果極佳,所以很多項目都是到了人工干預不再見效的時候才開始引入機器學習的模型,到目前為止我無法判斷這是不是最佳實踐,畢竟當初開開心心加入的規則在去除的時候則是萬般艱難,各種規則的疊加造成了牽一發而動全身。但一開始就能做到毫無人工干預,讓模型來解釋自己是否又太過理想呢。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢