萬字乾貨 | 一文助你了解機器學習

2021-01-09 人人都是產品經理

本文將通過大量案例和通俗易懂的「人話」,講述機器學習建模邏輯和使用場景,讓非數據科學專業的職場人都可以快速了解機器學習是什麼,能做什麼,如何用!

從AlphaGo戰勝李世石開始,AI迎來了新一輪爆發增長,2018年,全球人工智慧市場規模達到了73.5億美元,各個行業和領域幾乎都被AI滲透,各國對AI人才的爭奪也正愈演愈烈。

《中國人工智慧發展報告2018》顯示:專利上,中國已經成為全球人工智慧專利布局最多的國家,數量略微領先於美國和日本;產業上,中國的人工智慧企業數量排在全球第二,北京是全球人工智慧企業最集中的城市。

全球知名創投研究機構CB Insights評選出了100家最有前途的AI公司,國內的商湯科技,曠視科技,第四範式等6家公司殺入到榜單中,同時各大網際網路公司都在構建自己的AI實驗室。一方面通過AI技術挖掘用戶數據,通過+AI,優化現有業務,另一方面探索AI應用新場景,研發新產品,完成AI+,為企業尋找全新的增長引擎。

筆者有幸參與了一個機器學習建模實驗室項目,項目的本質是抽象機器學習建模流程,將機器學習建模過程組件化,通過在畫布上對組件(算子)靈活連接,讓非專家用戶(不會寫代碼,不熟悉算法模型和調參的產品經理,市場運營,行政財務等職場人)可以快速搭建機器學習模型,實現業務預測,極大降低機器學習應用門檻。

通過近十個月的學習和實踐,筆者對機器學習有了初步理解,本文將通過大量案例和通俗易懂的「人話」,講述機器學習建模邏輯和使用場景,讓非數據科學專業的職場人都可以快速了解機器學習是什麼,能做什麼,如何用!

本文共分為四個部分:

第一部分、介紹關於AI的常見誤區,回答機器學習是什麼,可以用來做什麼,怎麼用;第二分部、介紹機器學習為業務賦能的6個步驟,及非專家用戶的應用難點和解決方案;第三部分、通過案例介紹二分類,聚類和回歸模型如何應用;第四部分、介紹機器學習模型的主要應用場景和立項模板。一、關於AI的幾個誤區1. 只有那些科技公司才能應用AI技術?

這一輪AI的火爆始於AlphaGo戰勝李世石,隨後,智慧城市,智慧生活,智慧辦公和智慧醫療等概念可謂是鋪天蓋地,在各種媒體上能看到各種AI的高大上應用場景,如阿里的鹿班系統雙十一時每秒設計8000張海報,無人駕駛汽車在部分城市指定路段上路測試,機器人索菲亞獲得了沙特「公民」身份,滴滴利用AI模型預測城市不同位置用車需求,AI讀片進入各大醫院輔助醫生判斷癌症,各種報導 讓一些非AI相關領域從業者感覺其過於高大上,似乎離自己很遠。

但筆者認為AI的價值不僅於此,各行各業其實都可以利用AI技術優化現有服務流程,提升效率。

筆者結合自身理解,舉一些機器學習在非網際網路公司中的常見應用場景。

會員智能化應用:基於歷史數據對會員精準營銷,挖掘用戶潛在消費需求,個性化優惠券下發,流失預警,新會員轉化路徑個性化配置等商品智能化應用:預測未來X時間內銷售量,庫存量,訂單量,關聯銷售,優化供應鏈,預測市場容量,新品定價,設定折扣策略和作弊檢測。異常分析:訂單異常分析,用戶異常分析,機械故障預測,羊毛黨分析,動態預警分析等。

除了上述場景外,只要業務需求可以抽象成分類預測問題,數值預測問題,都可以考慮利用機器學習輔助決策。

2. 使用AI技術必須掌握數學和python?

DT(Data technology)時代到來,企業在網際網路+的過程中積累了大量的數據,而AI技術就是幫助企業將這些數據有效利用起來的重要工具。

《中國ICT人才生態白皮書》顯示:到2018年底,我國人工智慧人才缺口將突破100萬,到2020年,這個數字將攀升到226萬, 筆者認為,這個數字描述的是AI應用型人才,也就是知道如何利用AI技術優化現有業務的職場人,非人工智慧從業者都會對其產生恐懼。

當我提到AI一般人鬧鐘都會出現兩幅畫面,如下所示:

寫代碼和複雜的數學公式領AI看起來門檻高不可攀,但是為了降低建模門檻,國內外大量公司都推出了自己的組件建模平臺,可以通過簡單拖拽無需編寫代碼,而負責的數學公式被封裝成算子組件。國外的亞馬遜AWS,微軟的AZURE,R2.ai,國內的阿里PI,第四範式的先知平臺都是類似產品。

現在深度學習建模過程也被封裝成了組件化建模,國外的deepcognition,國內即將上線的阿里PI新版本也將支持深度學習組件化建模,聯想的AI平臺可以支持簡單的圖像分類識別。

如果你感覺組件化還是麻煩,那麼筆者要告訴你,現在自動化建模也是一大趨勢,國外的datarobot就是其中的典型產品,只需要上傳一份打好標籤的csv數據,選擇標籤,點擊開始,系統自動從數千開源模型中選擇100個模型進行自動化調參訓練,選出最優模型,並提易懂專業的數據和模型分析報告,指導非專家用戶使用。

所以不要因為懼怕寫代碼和數學而懼怕AI,其實他們沒有必然聯繫,下文會介紹一些AI-機器學習的常用概念,進一步揭開AI的面紗。

3. AI相關的抽象概念太多,讓人不明覺厲

2018年羅胖的跨年演講中提到了人類的一項重要能力:抽象能力,世界太複雜,為了便於理解和溝通協作,我們會將很多事物進行抽象,但是,當我們不具備對抽象概念的還原能力時,我們常會產生恐懼,敬畏或排斥的情緒,對我們這些非數據科學專業的人來說。

初遇AI時就是如此,AI的底層是數學,而數學是對現實世界的高度抽象。當我們聽到算法,模型,過擬合,召回率,auc,隨機森林,樸素貝葉斯等高度抽象的詞彙時,當我們看到幾十行數學公式推導時,我們會本能的不明覺厲。

舉個例子:我這樣介紹我的項目:「我們利用無監督學習Kmeans模型完成用戶標籤聚類,使用XGBOOST模型,SVM模型預測用戶購買期望,進而實現精準推薦」。

聽完這句介紹你是什麼感覺,如果一個完全沒接觸過機器學習的小白可能瞬間就懵逼了。原因很簡單,簡單一句話中包含了大量你無法理解的抽象概念,而事實可能並非如此。

同樣的介紹我換一種說法:「我們通過一些規則給用戶打上標籤,使用一套計算規則預測用戶希望購買哪些商品,然後給他們做相應推薦」,是不是瞬間感覺沒那麼高大上了。

下文嘗試用簡單類比對這些抽象概念進行說明,但前提是讀者需要先摒棄掉那種對抽象概念的恐懼,我相信,看完本文後,當你聽到這些抽象概念時可以淡然一笑,既不恐懼也不敬畏,並且理解其本質。

網上有一張圖,很有意思,生動的表明了不同的人對機器學習的理解:

別人眼中的機器學習

先來看一些基礎概念,這些概念會在後面的數據預處理,特徵工程,模型調參和評估中用到,現在這裡做簡要類比和舉例說明。

4. 機器學習常用抽象概念梳理

ai,機器學習和深度學習。這三個概念是包含關係,ai>機器學習>深度學習。

我們耳熟能詳的深度學習實際上是機器學習大家族中的一個分支,如下圖所示,本文主要討論傳統機器學習(淺層學習)部分內容,深度學習還在學習當中,也在抽象其建模過程,感興趣的朋友可以加好友共同學習。

(1)監督學習和無監督學習

監督學習就是模型學習的數據需要有標籤,非監督學習就是模型學習的數據無需有標籤,那麼什麼是標籤呢?

舉個例子:下圖是心臟數據,其中ihealth特徵含有兩個值,1代表患有心臟病,0代表沒有心臟病,當我們需要預測用戶是否患有心臟病時,因為有兩個結果,那就是一個二分類問題,ihealth就這個數據集的標籤特徵。

每一列代表一個特徵,每一行數據代表一個樣本,進入模型的數據需要保證主鍵唯一,主鍵通常是用戶的身份證號碼,編號或者手機號等唯一標識。

(2)訓練集,驗證集和預測集

通常情況下,會將完成特徵工程和標籤工程的數據拆成三份:一份訓練數據,一份驗證數據,一份預測數據,其比例大概可以設為數據集的60%,20%和20%。訓練集用於訓練模型,驗證集用於驗證訓練集訓練模型效果,通過調參逐步提高驗證集上模型的預測效果,預測集用於判斷模型對於新數據是否有效,是否存在過擬合。

大概流程如下圖所示:

(3)欠擬合和過擬合

欠擬合是在驗證集上預測的效果不好,也就是沒有將我們希望分類的兩組數據分開。過擬合就是在驗證集上效果很好,但是預測真實數據時效果很不好。

如下圖所示:左一圖屬於欠擬合,因為並沒有將目標數據按照結果標籤很好的完成分類,彼此摻雜在一起;右一就是過擬合,為了把所有數據都分開,出現了一份非常複雜的曲線,因為太複雜,應用於新的數據時往往預測效果不好,當數據量很小時容易出現過擬合。

(4)算法模型的本質

算法的本質是一個函數,我們可以將模型想像成一個盒子,這個盒子有輸入和輸出,還有一些可以設置數值的面板,我們把數據扔入其中,通過不斷調整數值(模型參數),提升這個盒子預測結果的準確性,入下圖所示:

(5)樹模型和線性模型

線性模型是為所有進入模型的特徵賦予權重,並相加出來一個新的值,樹模型是一個一個特徵進行處理,常用的線性模型有邏輯回歸,SVM,常用的樹模型有XGBOOST,LIGHTGBM,隨機森林和GBDT。

線性模型相對來說具有更好的解釋性,而且處理小數據量時效果較好,樹模型做大數據量訓練速度快,模型預測效果較好,可解釋性不如線性模型,需要通過可視化的數據分樹來對模型解釋。

以邏輯回歸為例來簡單說明線性模型,其將所有特徵賦予權重後加和變換為概率,這個這個概率通常稱為閾值,比如:模型預測得到閾值是0.6,通過數據分布我們設定閾值大於0.5為1,小於等於0.5為0,因為數值為0.6,顧我們判定預測結果為1。

以決策樹為例來說明樹模型,決策時類似於流程圖的樹形結構,樹內的每個節點代表對一個特徵的分類預測,樹的每一葉子節點代表一個類別,為了訓練決策樹,我們需要使用訓練數據集並找出那個屬性對目標最有用。

(6)模型結果評估方法

因為二分類在應用中比較常見,我們以二分類為例來說明二分類的常用評估指標。評估二分類模型的最重要指標為auc,auc值越接近1模型的效果越好,auc為ROC曲線下的區域面積 。

精確率(precision):是精確性的度量,表示被分為正例的示例中實際為正例的比例,precision=TP/(TP+FP)

召回率(recall):是覆蓋面的度量,度量有多個正例被分為正例,recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率與靈敏度是一樣的。

正確率(accuracy):是我們最常見的評價指標,accuracy = (TP+TN)/(P+N),這個很容易理解,就是被分對的樣本數除以所有的樣本數,通常來說,正確率越高,分類器越好。

f1:是統計學中用來衡量二分類模型精確度的一種指標。它同時兼顧了分類模型的準確率和召回率。f1分數可以看作是模型準確率和召回率的一種加權平均,它的最大值是1,最小值是0。f1=2*precision*recall/(precision+recall)

根據模型效果可以將模型分成二分類模型,多分類模型,回歸模型,時間序列模型,聚類模型,推薦模型,筆者嘗試通過案例一句話介紹常用模型應用場景,並附上通俗易懂的拓展閱讀材料,幫助大家更深刻的理解這些模型可以如何應用。

二分類:可以把預測目標抽象成兩類,如預測是否患有心臟病,預測用戶對某個產品是否感興趣,可以將預測結果抽象成0和1。阿里PI平臺提供了心臟病預測案例https://help.aliyun.com/knowledge_detail/34929.html

多分類:可以把預測目標抽象成多個類別,如預測用戶年齡段等,一般情況會將多分類問題轉化成二分類處理。

回歸:預測某個時間點數值的模型,如預測房價,預測產品價格等。典型案例是預測波士頓房價。https://blog.csdn.net/Teresa_Xin/article/details/79204769

時間序列:預測某一段時間多個數值的模型,如預測未來一周每天股票價格,預測未來一段時間最高氣溫。

聚類:無監督學習,數據無需標籤,根據設定分組數自動進行分組,通過觀察分組數據特徵給用戶分群打標,常用於用戶分群,案例青少年市場細分。http://cookdata.cn/note/view_static_note/201ad8d4a6c12768f7f79754a45e1b77/

推薦模型:經典推薦模型是協同過濾,協同過濾分為兩類,基於產品的協同過濾和基於用戶的協同過濾。基於產品的協同過濾是用戶A喜歡蘋果,然後通過算法計算出其他水果與蘋果的相似度,然後進行推薦給A;基於用戶的協同過濾是用戶A喜歡蘋果,將同樣喜歡蘋果的用戶B喜歡的額其他產品推薦給A。推薦閱讀文章https://www.jianshu.com/p/e56665c54df8

不同類模型的常用算法如下圖所示,希望讀者們再看到這些抽象模型名字後莫慌,可以思考他們處理哪類,一步步思考如何應用。

二、機器學習項目流程

本章節分為兩部分,第一部分介紹機器學習為業務賦能類項目的常規流程,第二部分介紹常規的建模流程。

1. 機器學習為業務賦能流程

1.1 商業理解

明確商業問題和數據挖掘目標,需要通過與一線業務和運營人員溝通,深入理解商業問題的背景,同時對項目所需資源進行評估,這個階段就需要明確項目商業目標和成功的評估標準。實施要點,充分溝通調研,設定適合的機器學習應用場景。常見的場景有提升用戶復購,優化用戶推薦,預測用戶流失實施召回。本質來說,商業的核心問題就是增加收入、減少流失和人員提效。

註:機器學習類項目一定要與業務方或運營方深度合作,彼此參與,共同推進項目,因為業務的優化常常伴隨著KPI提高,人效提高常伴隨著裁員等業務擔心問題,可能面對很大阻礙。

1.2 數據理解

根據商業痛點和目標,梳理企業內部外數據,探索建模索要的目標變量,確定建模需要的數據,確定取數口徑,明確數據業務指標業務含義和指標使用規則。這個過程中算法同學需要深入介入業務中,理解各項業務指標含義,並根據業務的理解完成後續數據預處理和特徵工程等操作。

註:必備的內外部數據獲取,需要保證許菊的一致性,完整性和準確性,數據理解階段觸目確定目標因子。

1.3 數據準備

將數據集合成大寬表或創建數據集市,對數據進行清洗,轉換,校驗數據質量,對數據進行標準化操作,需要使用科學的編碼規範指導編碼。該階段需要對數據缺失值,異常值進行處理。同時需要完成特徵工程,特徵工程是耗費時間最多的過程,一般情況,建模中花費特徵工程耗費整個項目近80%的時間。

1.4 數據建模

選擇合適的模型算法技術,實現數據挖掘目標,通過樣本選取,確定訓練集,驗證集和預測集數據,該階段需要完成特徵篩選,模型訓練和調參,模型預測評估,是否滿足目標。

註:特徵數據決定了模型的上限效果,模型調參只是讓模型的效果趨向這個上限。二分類模型評估指標auc可以調優範圍很小,優化0.01都非常困難,在一些建模比賽中可能auc差異可能只有0.0001

1.5 模型評估

全面應用模型進行預測,判斷是否實現商業目標,通過科學的A/B測試,對目標場景進行模型應用,收集反饋效果,對預測效果進行評估分析,確定其統計有效性和真實有效性,判斷是否滿足商業目標。

1.6 模型部署

將驗證有效的模型應用於商業環境,並監控與維護模型,實時跟蹤模型效果,驗證商業目標達成情況,總結報告,積累經驗。

2. 常規建模流程

從業務系統或日誌系統進行數據提取,數據預處理,特徵工程,模型訓練和調優,預測和評估,如下圖所示。我們還是以心臟病的數據為例:我們從系統中導出歷史數據作為訓練數據,因為醫療數據很多都已經有標籤的,無需再次打標,後面會講解數據沒有標籤如何處理。

拿到數據後,第一步,進行預處理。處理缺失值和異常值問題,缺失值很容易理解,就是給那些沒數據特徵填一個數值,簡單方法可以填充固定值(如-999),平均值,眾數或中位數等,複雜的方法可以利用XXX,填充相似數據特徵的缺失值。

異常值是指將一些不靠譜的值提出,比如年齡數據,理論上是0-120,當年齡欄位出現309時我們就需要將其調整到正常範圍,簡單的方法可以將其調整到上限,眾數或中位數等。

第二步,進行特徵工程,因為算法模型本質就是數學,所以要把類別特徵轉換成數值,比如原始數據中性別那一列中是男,女,那麼我們就需要將其變成數值0,1,其中0代表男,1代表女。

one-hot特徵編碼也是一種常見的處理特徵的方法,如一個特徵包含0,1,2三個數值,那麼可以一特徵拆成三個,分別用0,0,1代表0,用0,1,0代表1,用戶1,0,0代表2,也就是把不同的類別特徵都用0和1去表示,還有很多其他方式,如結合業務規則構建特徵,特徵多項式交叉相乘,PCA降維等。

特徵工程可以說是建模過程中最耗時的部分,算法工程師實際建模工作中將會有80-90%的時間花在特徵工程階段。

第三步,模型訓練和調參。也就是將完成預處理和特徵工程的數據接入模型,找到相對最優的模型參數,並基於訓練數據訓練處最優模型。

第四步,模型預測和評估。使用訓練好的模型跑驗證數據,查看預測效果,並根據模型效果繼續調參,經過更多輪循環找到最有模型參數。

第五步,模型應用和效果評估。使用歷史數據完成模型訓練和調優後我們需要應用到真實業務中,通過A/B測試查看模型的真實效果。

第六步,模型優化,隨著業務拓展和環境變化,可能產生新的特徵,所以模型要進行持續調優。

註:應用不同類模型特徵工程方法不同,如使用線性模型需要對數據做標準化或歸一化,統一不同特徵量綱,而樹模型則無需進行這類操作。

三、模型應用實例概述

本章節通過三個典型案例介紹三類常用模型,同時介紹非專家用戶應用機器學習建模的難點,同時嘗試提供解決方案。現在很多同類文章都包含了大量python實現代碼和數學模型分析,對於非專家用戶不太友好,筆者嘗試用流程介紹告知模型是如何應用,其中提到了如何進行簡單的特徵工程操作。

1. 模型應用實例

1.1 二分類模型(邏輯回歸-鐵達尼號預測生還概率)

鐵達尼號生還實驗可謂是一個經典二分類預測,在kaggle平臺上一直開放,截止到2019年5月2日,共有11374個隊伍參加預測學習,訓練數據和預測數據為鐵達尼號上的所有乘客基礎數據,訓練集包含819條數據,11個特徵和1個標籤列,標籤列告知用戶是否生還,生還為1,去世了為0,預測數據包含了418條數據,11個特徵,需要預測這418個人是否生還。

筆者嘗試使用組件化建模工具開始建模,過程如下:

首先進行訓練數據全表分析,查看缺失值情況,各特徵的統計信息,其中cabin缺失率近80%刪除該特徵,年齡特徵也包含一定缺失值我們選擇填充年齡中位數。

對數值型特徵進行異常特徵平滑和歸一化,異常特徵平滑就是將異常值填充固定值,所謂歸一化就是將數值型數據歸一到[0,1]中間,轉換函數為:x = (x-min)/(max-min)  。

對類別特徵進行類別特徵編碼,對客艙等級,船票等級等類別特徵進行onehot操作,並將處理完成後的數據分成訓練集,驗證集和預測集,使用邏輯回歸模型,進行自動調參運算,選擇最優參數後保存模型,將官方提供預測數據經過上述特徵工程後接入最優模型,預測用戶是否生還,得到的結果是一個概率,也稱為閾值,當閾值大於0.5的則判定為1(生還),小於0.5判定為0(遇難),預測結果準確率為0.7799。

結果如下圖所示,結果表示再給我一條新的樣本,有78%概率可以準確預測用戶是生還還是遇難。

1.2 回歸模型(XGBOOST-預測波士頓房價)

前文中提到預測具體數值的模型可以稱為回歸預測,本案例也是經典回歸預測案例,數據集大家可以到UCI機器學習知識庫下載,波士頓房屋這些數據於1978年開始統計,共506個數據點,涵蓋了麻省波士頓不同郊區房屋14種特徵的信息。包含城市人均犯罪率,住在用地所佔比例,城鎮中非商業用地所佔比例,CHAS查爾斯河虛擬變量,環保指數,沒懂住在的房間數等特徵,標籤特徵為自住房屋價格的中位數。

數據預處理和特徵工程與二分類相似,回歸模型評估模型效果的指標有幾個,SSE,MSE,RMSE,R-square,這個案例中我們通過運算決定係數R-square來量化模型的表現,決定係數是回歸分析中十分常用的統計信息,經常被當作衡量模型預測能力好壞的標準。

R-square數值範圍從0至1,表示目標變量的預測值和實際值之間的相關程度平方的百分比。一個模型的R-square 值為0還不如直接用平均值來預測效果好,而一個R-square 值為1的模型則可以對目標變量進行完美的預測。從0至1之間的數值,則表示該模型中目標變量中有百分之多少能夠用特徵來解釋。

1.3 聚類模型(Kmeans-聚類高中生分群)

聚類模型是無監督模型,我們以前文中提到青少年市場細分為例,通過對30000個美國高中生社交網絡信息數據集聚類,實現用戶分群聚類,按照前文中所使用的異常特徵平滑,歸一化,類別特徵編碼,onehot等步驟,完成數據預處理和特徵工程,模型我們選用常用聚類模型K-means,我們選擇將數據聚成5類。

從結果來看我們將數據聚成了5組,如下圖所示:

因為沒有標籤,我們需要查看每一個聚類中心的變量取值從大到小進行排序。 通過觀察每個聚類前10個變量來分析聚類所代表的群體,所以我們需要通過分析聚類結果來確定分群用戶有哪些類似愛好和特點。

通常情況下,用戶分群可以基於規則認為設定,而聚類模型的聚類特徵可以作為分類模型和回歸模型的特徵接入模型。

舉例來說:當我們要基於用戶活躍度指標進行用戶分群時,我們可以考慮將所有跟活躍相關的特徵作為訓練特徵,然後設定分群數,通過聚類模型完成分群後分析分群數據特徵,進而實現用戶打標。

2. 非專家用戶的門檻在哪裡

2.1 不會寫代碼

寫代碼可以說是很多非程式設計師眼中巨大的門檻,其實python相比於大學時普遍學習的C或java簡單很多,大量的服務和實現已經封裝成包,通過import引用即可應用,現在很多小學都開始普及編程,很多少兒編程輔導機構可以讓孩子快速使用python完成深度學習,甚至實現玩具汽車的無人駕駛。

而且前文中提到,大量的可視化建模工具和自動化建模工具出現,這將極大降低AI技術應用的門檻。其實從前文中的建模流程不難看出,算法工程師也需要先熟悉業務才能開始建模,這部分來看,如果有工具可以解決建模過程那麼業務人員對業務的理解將更加深刻。所以還是建議對這方面感興趣的同學可以打破心理枷鎖,咬牙學一下python,前10個小時可能很痛苦,但是掌握了後續就非常簡單了。

註:並不是算法同學不重要,真正高級的建模一定是結合業務理解和統計學知識的特徵構建,而不是簡單聚合和轉換,組件化和自動學習可以讓企業快速應用模型,實現一定程度的提升,但是進一步的模型優化一定需要專業經驗的算法同學介入。

2.2 不會調參

模型有很多參數,如樹模型的樹的棵樹,樹的最大深度,學習率,隨機種子等,非數據學相關專業的同學看到可能直接懵逼,但是現在主流的建模平臺都提供了自動調參功能,自動學習工具甚至提供了根據上遊數據結構進行自動調參,所以這部分不用恐懼,跟著樣例做幾次就知道了。

2.3 不會做特徵工程

所謂特徵工程是將特徵日誌或多系統數據「拍平」成模型可用的特徵,並對特徵進行各種變化拓展,通常算法工程師會將幾個業務特徵拓展成幾百個特徵,下面筆者簡單介紹一下特徵如何「拍平」和拓展。

日誌數據和業務數據通常是根據時間維度,多個主鍵列表,如電商訂單數據,用戶A可能有幾十條購買訂單記錄,建模的預測是對單個主鍵進行預測,所以需要將多條訂單「拍平」,也就是用戶A的手機號或者系統ID合成一條記錄,那麼多條記錄如何合併呢?

這就是設計到特徵拓展,比如可以設定一個時間段內用戶A的訂單數,購買總金額,購買A產品的數量,購買B產品的數量,單筆訂單最大支付金額,單筆訂單最小支付金額,訂單平均間隔,訂單最大間隔等,將單挑記錄通過最小,最大,平均等維度拍平後,需要對類別特徵變換,常用的特徵工程方法有類別特徵編碼,onehot,離散化等操作。

類別特徵編碼是指將業務類別特徵變成數值,如使用優惠券滿減,直降和未使用可以標記為0,1,2;onehot編碼是將類別特徵變成使用0和1表示的特徵,如將上述優惠券一個特徵變成了0,0,1和0,1,0,和1,0,0三個特徵;離散化是指將連續的特徵變成類別特徵,如對年齡分段,0-10歲定為0,11-20定為1,以此類推,就可以對年齡特徵變成一個類別特徵,然後再做onebot。

註:數據拍平對於非專家用戶很難處理,但是我參與的項目已經找到了解決方案,可以將多張表根據關聯關係和數據類型自動化拍平成為模型可用特徵,相信其他平臺也會提供這項服務,筆者認為,這是制約非專家用戶應用機器學習模型的一大門檻,和下文中提到的標籤工程類似。

2.4 不會做標籤工程

前文中提到的心臟病預測,鐵達尼號生還預測,房價預測都是自帶標籤,但很多時候,數據中沒有辦法直接擁有這種分類或者數值屬性的標籤,通常使用滑窗法製作標籤。

如下圖所示,我們要預測7月份用戶是否有購買商品A的欲望,我們可以使用2,3,4月三個月的數據作為訓練數據,5月的數據作為標籤數據製作訓練集。因為5月份我們知道用戶是否購買了A產品,然後再用3,4,5三個月的數據作為訓練數據,通過6月份用戶是否購買A產品作為標籤,這樣我們可以用歷史數據完成模型訓練,然後應用於對用戶7月份是否購買某商品的預測。

四、AI項目立項模板1. 商業痛點分析及目標分解

如前文所述,在啟動AI項目之前,要梳理商業邏輯,分析現有的痛點,將痛點拆解為目標,模型圍繞目標去構建。常見的目標有提升營銷效率,實現精準化營銷,減少用戶幹擾,減少用戶流失,提升轉化率,提升ROI等。

筆者發現所有的AI項目都會涉及到用戶或客戶畫像,因為構建模型的特徵一版包含三部分:一部分是用戶的靜態信息,一部分是用戶的行為和交易信息,一部分是用戶應用的場景信息。

而用戶的景泰信息和一些行為信息都可以抽象為用戶畫像,所以很多AI項目的目標還包括為用戶或客戶構建畫像,便於產品和運營方更加理解自己的服務對象。

2. 項目架構

利用機器學習的項目架構類似,大家可以參考CDP系統項架構來完成項目的整體架構設計,筆者簡單結合自己的理解簡單搭建一個項目架構作為參考。

3. 技術架構

筆者與工程同學和算法同學溝通,了解到一些建模平臺的底層技術,構架如下圖所示。

Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。Hadoop實質上更多是一個分布式數據基礎設施: 它將巨大的數據集分派到一個由普通計算機組成的集群中的多個節點進行存儲,意味著您不需要購買和維護昂貴的伺服器硬體。

Apache Hadoop YARN (Yet Another Resource Negotiator,另一種資源協調者)是一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和調度。

Spark,是一個專門用來對分布式存儲的大數據進行處理的工具,它並不會進行分布式數據的存儲。

Hbase是Hadoop database,即Hadoop資料庫。它是一個適合於非結構化數據存儲的資料庫,HBase基於列的而不是基於行的模式。

Hive基於數據倉庫,提供靜態數據的動態查詢。其使用類SQL語言,底層經過編譯轉為MapReduce程序,在Hadoop上運行,數據存儲在HDFS上。

4. 項目規劃

通常來說機器學習類項目一期多為構建用戶畫像,二期結合畫像和用戶標籤體系構建模型,設計試運行策略,根據實際效果對模型進行調優。可以根據不同的業務痛點構建多個模型,逐步構建起一整套模型體系,輔助決策。

5. 應用場景

結合具體應用場景,描述如何將模型嵌入到現有業務流程當中。

6. 模型效果評估方法

模型的實際效果可以通過A/B測試進行驗證,選擇兩組用戶:一組保持原有運營或產品策略,一組使用機器學習模型推薦策略,通過一個業務周期的觀察,對比兩組用戶的效果評估指標變化。

因為部分內容涉及公司業務,不便於舉例說明,文中多數案例均為初學者常見案例,大家可以搜索到相關內容。

本文僅將筆者近一年的收穫和思考進行梳理總結,希望對各位讀者有所幫助。筆者還在學習深度學習,NLP,推薦系統等相關AI知識,AI產品經理當下來看屬於產品經理全新的一個細分門類,希望可以與同行們多多交流學習~

#專欄作家#

田宇洲(微信公眾號:言之有術),人人都是產品經理專欄作家,北京大學軟體工程管理碩士,北京電信4年產品經理,負責B2B電商平臺的前後端產品設計,擅長遊戲化產品設計,挖掘用戶畫像。

本文原創發布於人人都是產品經理。未經許可,禁止轉載。

題圖來自 Unsplash,基於 CC0 協議

相關焦點

  • 五分鐘了解機器學習十大算法
    本文為有志於成為數據科學家或對此感興趣的讀者們介紹最流行的機器學習算法。機器學習是該行業的一個創新且重要的領域。我們為機器學習程序選擇的算法類型,取決於我們想要實現的目標。現在,機器學習有很多算法。因此,如此多的算法,可能對於初學者來說,是相當不堪重負的。
  • 一書吃透機器學習!《機器學習基礎》來了,教材PDF、PPT可下載
    有Reddit網友評論,這部教材足夠紮實、內容足夠基礎,學機器學習理論,熟讀這本書就足夠了。500頁乾貨裡都有啥這本書是由紐約大學計算機科學教授Mehryar Mohri、Afshin Rostamizadeh和Ameet Talwalkar共同編寫的,2012年曾經出版了第一版,這一版在此前基礎上進行了內容的完善。
  • 這五個數據科學家和機器學習工程師油管博主,你必須關注
    這5個油管博主,筆者強烈安利,讓他們帶你去了解如何有效地規劃數據科學事業,或者在等待損失收斂的同時,學習如何增強對人類思想和意識起源的直覺吧。1.萊克斯·弗裡德曼萊克斯·弗裡德曼的油管頻道可以說是迄今為止機器學習從業者最具洞察力的頻道。
  • 想了解機器學習?你需要知道的十個基礎算法
    ,你需要知道的十個基礎算法毫無疑問,作為人工智慧的子領域—機器學習在過去的幾年中越來越受歡迎。由於大數據是目前科技行業最熱門的趨勢,基於大量的數據機器學習在提前預測和做出建議方面有巨大的潛力。一些有關機器學習常見的例子有:Netflix基於你以前看過的電影再給你做出影片的推薦,或者亞馬遜根據你以前買過的書籍再給你進行圖書推薦。如果想了解更多有關機器學習的知識,要從哪裡開始呢?作者第一次入門是在哥本哈根海外交流時選了一門有關人工智慧的課程。
  • 10部不為人知的機器學習電影,你看過幾部?
    例如,自動文本生成、機器人做飯送餐、通過機器學習來籤約和交易球員的體育特許經營等等。這些都令人亢奮!今天,今天小芯就為大家推薦10部關於機器學習的電影。想必其中絕對有你喜歡並看了很多遍的電影,當然,肯定也有你錯過的佳片。趕緊將它們加入觀影清單中,在假期好好補一補吧~1.
  • 重中之重:數據科學與機器學習背後的數學理論
    建立模型是一回事,但是解釋模型,並且總結出有意義的,且可用於數據驅動的決策制定的結論是另一回事。重要的是,在使用這些包之前,讀者必須要對每一個包的數學基礎有所了解,不僅限將這些包作為黑盒子工具來使用。案例研究:構建多元回歸模型假設現在要建立一個多元回歸模型。
  • 16年28本書,4695萬字,他是「網文之王」,對網文二十年如一日
    今天推薦16年28本書,4695萬字,他是網文之王,對網文二十年如一日。大家一起來看看吧。說起網絡文學,那必不可少的就會提到唐家三少。作為陪伴網文一路走來的他,也得到了應有的回饋。第一屆「網文之王」,從未斷更(因為妻子逝世斷了),從開始寫網文到現在將近20年,他始終如一。
  • 微軟推出Lobe桌面應用程式 助你輕鬆創建機器學習模型
    需要指出的是,Lobe 無需聯網或登錄,且目前僅可輸出機器學習模型。微軟團隊正在研究一系列的應用程式和工具,以便用戶在幾乎不需要編程的情況下,即可運行相關模型。Lobe 項目經理 Bill Barnes 表示,其使用了複雜的技術,來讓事情變得更加有趣。
  • 滿滿的乾貨!一文帶你了解宋錢版別
    「錢」是一個貨幣單位,以銅鑄之、以鐵鑄之、以鉛鑄之,都是一「錢」。 在邊境前線支出軍費時,每貫(1000文)錢,由400文小銅錢搭配600文小鉛錢或小鐵錢支付;在成都官用支出時,每貫(1000文)錢,由900文小銅錢搭配100文小鉛錢或小鐵錢支付
  • 使用Flask部署機器學習模型
    沒有多少人會談論如何部署你的機器學習模型。把你的模型投入生產意味著什麼?它需要什麼?這些都是每個數據科學家需要回答的關鍵的職業定義問題。這就是為什麼我決定寫下這個教程來演示如何使用Flask來部署機器學習模型。
  • 辰宇推薦:國內機器學習頭部專家「第四範式」
    # 產品核心競爭力一:低門檻、高維、及時的「先知(Sage)」平臺「先知(Sage)」是世界上首個成熟的企業級人工智慧生產服務支持平臺,採用大規模分布式架構實現高效的離線計算和實時計算,能力覆蓋從數據處理、模型調研、應用構建、應用上線到AI治理全流程。
  • 揭秘拉麵背後的機器學習技術
    揭秘拉麵背後的機器學習技術 我們期待通過谷歌麵館這一互動體驗,激發更多開發者與 TensorFlow 開原始碼社區一起,用技術創造更多超乎想像的可能性,探索更非凡的交互體驗。話不多說,一起點擊 2020 Google 開發者大會官網把面拉起來!
  • 機器學習預測房價?靠譜嗎?
    機器學習是教計算機系統使用反饋的舊數據進行預測的過程,基本上是訓練計算機根據過去的數據預測未來的數據。這些預測可以很簡單,例如鑑定照片中的動物是貓還是狗,難度也可以遞進至對語音準確識別來生成網站字幕或運行視頻或音樂之類的事情。
  • 四個月十八天,104萬字,大神文抄公新書《輪迴大劫主》完結了!
    很多讀者是一臉懵,覺得小說還有很多內容可以寫,但文抄公顯然不打算繼續了。這本小說從今年2月24號開始連載,7月13號完結,歷時四個月十八天。其速度之快,在大神裡絕對算是非常少見的了。最終寫了104萬字,在男頻小說範圍內,這個堪堪百萬字的體量,可以說是非常短了。
  • 三本300萬字以上的完結精品小說推薦,一千多萬字讓你熬夜看過癮
    如果你正在書荒,又喜歡看完結小說,或許可以試試這幾本作品。第一本:《歸向》,作者核動力戰列艦,310萬字核動力戰列艦,前縱橫知名作者,寫有《井口戰役》、《位面小蝴蝶》等作品。這本小說我試讀過幾次,但每次都沒能看進去,有些不太符合我的閱讀習慣,也許你可以試試。第二本:《特種歲月》,作者嚴七官,324萬字軍旅文,作者是退役軍人,所以小說裡的不少內容要麼是其親身經歷過的,要麼就是他的一些戰友身上的。
  • 機器學習中算法與模型的區別
    下面是機器學習算法的例子:  線性回歸  邏輯回歸  決策樹  人工神經網絡  K- 最近鄰  K- 均值你可以把機器學習算法想像成計算機科學中的任何其他算法。例如,你可能熟悉的一些其他類型的算法包括用於數據排序的冒泡排序和用於搜索的最佳優先排序。
  • 5種雲計算所需的機器學習技能
    但只是因為可以部署應用程式,並不意味著可以成功地部署機器學習模型。雖然這些共同點可能會促進過渡,但也存在著顯著的差異。除了軟體工程技能之外,組織的IT團隊成員還需要擁有特定的機器學習和人工智慧知識。除了技術專長之外,他們還需要了解目前可用的雲計算工具來支持他們團隊的計劃。
  • 常見的機器學習算法,你知道幾個?
    最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。  提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。事實上,機器學習是一門多領域交叉學科,涉及概率論、統計學、算法複雜度理論等多門學科。
  • 一夢黃粱新書36萬字太監,他的和尚文《老衲要還俗》值得一看
    從大神到精品五級,再到小撲街,真是一茬接著一茬。比如我前兩天才跟大家分享過大神霞飛雙頰的都市重生文新書太監了,今天就發現人氣作者一夢黃粱的小說也進宮了。一夢黃粱目前在連載的新書名叫《我把地球玩廢了》,小說是在今年八月十號上線的,寫到現在四個月的時間,總共36萬字。
  • 從re:Invent的最新發布,讀懂AWS的機器學習業務布局
    文:科技商業 於洪濤伴隨著人工智慧應用走向行業細分場景,機器學習越來越受到關注。從IT廠商層面來看,大家都在積極推出機器學習的相關產品和服務,並推動合作夥伴進入該業務領域;從行業用戶層面來看,越來越多的企業都在考慮如何利用機器學習來改善業務流程,提升運營效率,其中很多已經付諸實踐。