photon-mlLinkedIn開(kāi)源的Photon機(jī)器學(xué)習(xí)
Photon機(jī)器學(xué)習(xí)是什么?
Photon機(jī)器學(xué)習(xí)提供支持大規(guī)?;貧w,支持帶L1、L2和elastic-net正則化的線(xiàn)性回歸、邏輯回歸和泊松回歸。Photon機(jī)器學(xué)習(xí)提供可選擇的模型診斷,創(chuàng)建表格來(lái)幫助診斷模型和擬合的優(yōu)化問(wèn)題。Photon機(jī)器學(xué)習(xí)實(shí)現(xiàn)了實(shí)驗(yàn)性質(zhì)的廣義混合效應(yīng)模型,下面會(huì)詳細(xì)介紹。
在LinkedIn如何應(yīng)用Photon機(jī)器學(xué)習(xí)?
典型的機(jī)器學(xué)習(xí)系統(tǒng)以下面的流程圖表示。第一階段是數(shù)據(jù)預(yù)處理,從在線(xiàn)系統(tǒng)清晰數(shù)據(jù),創(chuàng)建數(shù)據(jù)表,特征提取。接下來(lái)的階段是應(yīng)用機(jī)器學(xué)習(xí)算法為推薦系統(tǒng)或者搜索系統(tǒng)學(xué)習(xí)得到好的評(píng)分函數(shù),進(jìn)而選擇最好的模型。最后,最優(yōu)模型進(jìn)行在線(xiàn)A/B test發(fā)布,來(lái)測(cè)試其對(duì)用戶(hù)體驗(yàn)的影響。
Photon機(jī)器學(xué)習(xí)是LinkedIn公司模型訓(xùn)練的核心,可作為其它機(jī)器學(xué)習(xí)庫(kù)的熱插拔替代。在上面的流程圖中,圓圈代表行為,圓柱體代表數(shù)據(jù)集。
如何在集群中運(yùn)行Photon機(jī)器學(xué)習(xí)?
在LinkedIn公司,Photon機(jī)器學(xué)習(xí)運(yùn)行使用Spark on Yarn模式,與其它Hadoop MapReduce應(yīng)用共用同一個(gè)集群。我們可以很容易在同一個(gè)工作流中混合使用Photon機(jī)器學(xué)習(xí)和傳統(tǒng)的Hadoop MapReduce程序或者腳本。模型訓(xùn)練從Hadoop MapReduce遷移到Spark on Yarn可提速10到30x倍。為了更好的使用Spark,機(jī)器學(xué)習(xí)算法團(tuán)隊(duì)貢獻(xiàn)了支持Spark的Dr. Elephant。
Spark和Hadoop工作流共用同一個(gè)集群,可支持LinkedIn已有的機(jī)器學(xué)習(xí)輸入和輸出格式,極大的提高Photon機(jī)器學(xué)習(xí)在LinkedIn的推廣。現(xiàn)在許多團(tuán)隊(duì)在開(kāi)發(fā)關(guān)聯(lián)應(yīng)用和安全數(shù)據(jù)科學(xué)時(shí)使用Photon機(jī)器學(xué)習(xí),一些團(tuán)隊(duì)也在線(xiàn)上使用。
Photon機(jī)器學(xué)習(xí)的發(fā)展方向:GAME
作者開(kāi)源Photon機(jī)器學(xué)習(xí)到社區(qū),對(duì)其他人構(gòu)建和應(yīng)用機(jī)器學(xué)習(xí)會(huì)有工業(yè)級(jí)別的影響。雖然當(dāng)前有許多開(kāi)源的機(jī)器學(xué)習(xí)庫(kù),但作者認(rèn)為Photon機(jī)器學(xué)習(xí)是相當(dāng)重要的補(bǔ)充。Photon機(jī)器學(xué)習(xí)提供廣義混合效應(yīng)模型(GAME)。
當(dāng)前,Photon機(jī)器學(xué)習(xí)實(shí)現(xiàn)GAME,支持廣義線(xiàn)性混合效應(yīng)模型(GLMix)。GLMix模型由固定效應(yīng)和多隨機(jī)效應(yīng)模型組成。固定效應(yīng)模型對(duì)應(yīng)傳統(tǒng)模型和廣義線(xiàn)性模型,假設(shè)每個(gè)觀(guān)測(cè)變量是獨(dú)立的。隨機(jī)效應(yīng)在固定效應(yīng)的留存中附加多粒度參數(shù)(users, items, segments)獲取額外的異質(zhì)性。一般規(guī)則化是用來(lái)避免過(guò)擬合。并且,隨機(jī)效應(yīng)會(huì)引起觀(guān)測(cè)變量的邊際依賴(lài)。
GAME采用坐標(biāo)下降法依次解決每個(gè)系數(shù)。
我們使用坐標(biāo)下降法優(yōu)化所有問(wèn)題,單步按序調(diào)試每個(gè)效應(yīng),使用合適的優(yōu)化器解決子問(wèn)題。對(duì)于固定效應(yīng)坐標(biāo),我們使用分布式回歸算法按列分區(qū)數(shù)據(jù)。Spark的RDD每次迭代利用本地?cái)?shù)據(jù)優(yōu)勢(shì),在不用shuffle數(shù)據(jù)的情況下快速優(yōu)化。為了有效地解決隨機(jī)效應(yīng)坐標(biāo),我們根據(jù)隨機(jī)變量分區(qū)數(shù)據(jù),用單機(jī)算法解決隨機(jī)效應(yīng)坐標(biāo)。
GAME模型提供精確的圖表來(lái)輔助研究型工程師定位問(wèn)題。作者希望使用這些技術(shù)更廣泛的提高推薦系統(tǒng)的算法。LinkedIn公司內(nèi)部使用A/B test顯示Photon機(jī)器學(xué)習(xí)訓(xùn)練GLMix模型在工作推薦中提高了百分之十五到百分之三十,在郵件推薦中提高百分之十到百分之二十(基于點(diǎn)擊率)。雖然這些test只是在早期階段,但得到的結(jié)果表明Photon機(jī)器學(xué)習(xí)能顯著的提高推薦效果。
Photon機(jī)器學(xué)習(xí)提供的GAME算法訓(xùn)練模型,作者后續(xù)將持續(xù)提高它的穩(wěn)健性和易用性。除了廣義線(xiàn)性模型外,作者已經(jīng)開(kāi)發(fā)了分解式隨機(jī)效應(yīng)模型試驗(yàn)性代碼,利用矩陣分解來(lái)和隨機(jī)效應(yīng)交互。在未來(lái),作者將會(huì)繼續(xù)用廣義混合框架實(shí)現(xiàn)其它的機(jī)器學(xué)習(xí)算法。
