(機器學習PAI Online Learning子產品上線邀測,目前隻支援華北2(北京)區域使用,本實驗會用到流式機器學習算法)
PAI位址:
https://data.aliyun.com/product/learn 邀測申請位址: https://data.aliyun.com/paionlinelearning打開新聞用戶端,往往會收到熱點新聞推送相關的内容。新聞用戶端作為一個承載新聞的平台,實時會産生大量的
新聞,如何快速挖掘出哪些新産生的新聞會成為成為熱點新聞,決定着整個平台的新聞推薦品質。
如何從平台中海量的新聞素材中找到最有潛力成為熱點的新聞需要使用機器學習相關的算法,傳統做法是将每天擷取的曆史咨詢下載下傳并且離線訓練模型,再将生成的熱點發現模型推上線供第二日使用。但是這種離線訓練所生成的模型往往缺乏時效性的屬性,因為每天熱點新聞都是實時産生的,用過去的模型預測實時産生的資料顯然是缺乏對資料時效性的了解。
針對這種場景,PAI平台開創性的提出來Online-Learning的解決方案,通過流式算法和離線算法的結合,既能夠發揮離線訓練對大規模資料的強大處理能力,又能夠發揮流式機器學習算法對實時模型的更新能力,做到流批同跑,完美解決模型時效性的問題。今天就以實時熱點新聞挖掘案例為例,為大家介紹PAI OnlineLearning的解決方案。
實驗流程
1.切換新版
進入PAI後,點選“體驗新版”按鈕即可開啟試用(目前OnlineLearning隻支援新版,且與舊版不相容)可在模闆中一鍵建立類似于本文介紹的案例,資料和流程都已經内置,開箱即用
模闆打開,點選運作後效果(模闆目前為簡化版本)
2.實驗流程介紹
(注:PAI中離線計算元件用藍色辨別,流式計算元件由綠色辨別,流式元件相連将形成計算組,因為流式元件需要多個元件的運作停止狀态一緻)
步驟1:離線模型訓練
本文使用的資料是3萬條來自UCI開放資料集提供的新聞文本資料。
位址:
https://archive.ics.uci.edu/ml/datasets/Online+News+Popularity資料組成:包含新聞的URL以及産生時間,另外還包含了58個特征以及1個目标值,目标值“share”是新聞的分享次數,模組化過程中将share字段利用sql元件處理成一個二分類問題,新聞share次數超過10000次為熱點新聞,小于10000次為非熱門新聞
特征的組成如下圖所示:
利用邏輯回歸模型訓練生成一個二分類模型,這個模型用來評估新聞是否會成為熱點新聞。
(注:目前PAI OnlineLearning隻支援邏輯回歸算法)
步驟2:離線模型轉換成流式模型
通過“模型轉換”元件,可以将離線生成的邏輯回歸模型轉換成流式算法可讀取的流式模型。
步驟3:流式模型訓練
從步驟3開始就進入了流式算法元件的步驟,PAI平台提供多種流式資料源,本案例以Datahub為例。
Datahub位址:
https://datahub.console.aliyun.com/datahubDatahub是一種流式資料對列,支援JAVA、PYTHON等多種語言采集方式,在具體使用過程中可以通過Datahub連結使用者實時産生的資料以及PAI的訓練服務。注意:Datahub輸入的資料流格式需要與離線訓練的資料流的字段完全一緻,這樣才可以對離線的模型進行實時更新。
- Ftrl訓練元件:左側輸入的是轉化為流式的離線模型,右側輸入是流式資料表
FTRL算法基本等同于流式的邏輯回歸算法,在使用過程中需要按照LR算法配置參數,需要注意”模型儲存時間間隔參數“的配置,這個參數決定了實時計算産生模型的時間周期。
新版PAI已經内置了大量流式算法元件:
####
- PMML模型生成元件:将輸出的模型轉化成PMML格式
- OSS檔案導出:将模型導出到使用者自己的OSS中,可以自己設定名稱的字首和字尾,生成模型可在OSS中檢視,如下圖
步驟4:流式模型評估
流式模型評估指的是利用評估資料對Ftrl訓練生成的模型進行評估,輸出的評估名額也可以寫入OSS,評估名額與模型一一對應。每個模型和評估名額都有一個ID,如果ID一緻,說明模型和評估名額是對應關系,如下圖:
評估名額是一個json格式檔案,包含精确率、準确率、混淆矩陣等名額:
步驟5:流式預測結果實時導出
可以利用實時生成的模型做實時資料預測,實時的預測結果可以寫出到datahub中,如下圖:
同時如果輸入的預測資料集包含label,還可以添加分類評估元件,可以打開組關系中的最右邊按鈕:
打開實時的流式預測結果評估頁面:
3.模型使用介紹
通過以上步驟已經産生了新聞熱點預測模型,生成的模型已經存入OSS,可以直接在PAI-EAS線上預測服務引擎進行部署也可以下載下傳下來在本地預測引擎使用。新聞資料進來後先要做特征工程(同”步驟1:離線模型訓練“中的特征處理方式),然後将特征工程處理結果輸入”熱點新聞挖掘服務“,将會傳回新聞是否是熱點新聞。
總結
通過本文的案例,實作了将離線曆史資料生成LR模型推送到實時訓練環境,再利用實時生成的資料對模型進行更新, 這種實時訓練的架構可以完美解決實時熱點新聞對于新聞推薦模型的影響問題。歡迎大家試用并給出建議。