10種傳統機器學習算法

1基於CF的推薦算法web

 

1.1算法簡介算法

 

CF(協同過濾)簡單來形容就是利用興趣相投的原理進行推薦,協同過濾主要分兩類,一類是基於物品的協同過濾算法,另外一種是基於用戶的協同過濾算法,這裏主要介紹基於物品的協同過濾算法。網絡

 

給定一批用戶,及一批物品,記Vi表示不一樣用戶對物品的評分向量,那麼物品i與物品j的相關性爲:機器學習

 

 

 

上述公式是利用餘弦公式計算相關係數,相關係數的計算還有:傑卡德相關係數、皮爾遜相關係數等。函數

 

計算用戶u對某一物品的偏好,記用戶u對物品i的評分爲score(u,i),用戶u對物品i的協同過濾得分爲rec(u,j)。工具

 

 

 

1.2業務實踐學習

 

以購物籃子爲例,業務問題:根據用戶的歷史購買商品記錄,給用戶推薦一批商品,協同過濾算法實現方法以下。ui

 

記buyers表示用戶購買商品的向量,記爲 其中表示全庫用戶集合,表示用戶對商品的得分,定義以下:編碼

 

  • Step1:計算物品之間的相關係數spa

 

記buyersi表示用戶購買商品的向量,記buyersi=(…,bu,i,…) u∈U爲,其中U表示全庫用戶集合,bu,i表示用戶u對商品i的得分,定義以下:

 

 

 

那麼商品i與商品j的相關係數以下:

 

 

 

上述公式是是利用餘弦公式計算相關性,含義是商品的用戶購買向量夾角越小越類似。此外也能夠運用皮爾遜、傑卡德、自定義公式計算相關性,這裏不一一列舉。

 

  • Step2:計算用戶對商品的協同過濾得分

 

給定一個用戶u,設該用戶歷史購買商品記錄的向量爲historyu=(…,hu,i,…) ,i∈I其中I表示全部商品的集合:

 

 

 

計算給定一個物品j的協同過濾得分爲:

 

 

 

  • Step3:給用戶推薦商品

 

經過Step2計算用戶對全庫商品的協同過濾得分,取得分top 10展現給用戶。

 

2基於關聯規則的推薦算法

 

2.1算法簡介

 

基於關聯規則的推薦是根據歷史數據統計不一樣規則出現的關係,形如:X->Y,表示X事件發生後,Y事件會有必定機率發生,這個機率是經過歷史數據統計而來。

 

對於一個規則X->Y,有兩個指標對該規則進行衡量。一個是支持度,表示在全部樣本數據中,同時包含X和Y樣本的佔比。另外一個是置信度,表示在全部包含X的樣本中,包含Y的樣本佔比。

 

在關聯推薦算法中,最主要的是如何找到最大頻繁項,業界主要的作法有兩種,分別爲Apriori算法和FP樹。但在互聯網海量的用戶特徵中,使用這些算法挖掘頻繁集計算複雜度很是高,下面咱們介紹一種在業務當中簡單實用的關聯規則算法。

 

2.2業務實踐

 

一樣是以購物籃子爲例,業務場景是:根據用戶歷史購物記錄,給用戶推薦商品。下面咱們介紹如何構建簡單的關聯規則推薦算法。

 

  • Step1:數據準備

 

首先收集用戶展現購買記錄,而且關聯用戶在展現時刻的特徵數據。設總樣本數量爲n條,數據格式以下:

 

 

表1:初始數據

 

其中用戶特徵能夠是用戶歷史購買的商品ID,也能夠是用戶屬性特徵,例如:年齡、性別、居住地等等。

 

  • Step2:特徵交叉

 

在上表中,對於同一個樣本全部特徵兩兩交叉,生成長度爲2的特徵規則,合併原來的長度爲1的特徵規則,獲得關聯規則數據輸入表以下:

 

 

表2:rule輸入數據

 

上述表中只用長度爲1(原始特徵)和2(原始特徵兩兩交叉)的規則做爲後面rule的候選集,不作長度爲3的規則主要的考慮點是下降規則空間複雜度。

 

  • Step3:生成關聯規則

 

首先把上表的特徵展開,使得一個特徵一條記錄,以下表:

 

 

 

表3:展開數據

 

計算每一個規則的支持度,置信度,提高度。首先做變量聲明:

 

  • f->i    表示具有特徵f的用戶購買商品i的事件

  • sf,i     表示規則f->i的支持度

  • cf,i     表示規則f->i的置信度

 

sf,i 計算方法爲:統計表3中中同時知足特徵=f,商品=i,用戶是否購買=0的記錄條數記爲notbuyersf,i

 

 

 

規則選擇,規則能夠經過如下條件進行過濾。

 

條件1:大於等於某個值,參考值取20-100。

條件2:對全部規則的支持度作降序,取75位數爲參考值,sf,i大於等於這個值。

條件3:對全部規則的置信度作降序,取75位數爲參考值,cf,i大於等於這個值。

 

  • Step4:給用戶推薦商品

 

給定一個用戶u和一個商品i,經過上述方法生成用戶u的特徵集合記爲F. 咱們用該用戶特徵集合下,全部對i有效特徵的均值衡量用戶u對該物品的購買可能性p(u,i):

 

 

 

經過上述公式對全庫商品求top 10得分的商品推薦給用戶。在實際計算當中,並不是會進行全庫計算,而是採用特徵索引技術進行減小大量冗餘計算。

 

3基於bayes的推薦算法

 

3.1原理介紹

 

Bayes(貝葉斯)定理是關於隨機事件A和B的條件機率相互轉化的一則定理,貝葉斯公式以下: 

 

 

 

上述公式中,P(Bi|u)表示的含義是在發生了事件u的狀況下,發生事件Bi的機率,P(Bi)表示事件Bi的發生機率,P(u)表示事件u的發生機率。

 

如何利用上述定理進行個性化推薦,下面咱們舉個業務實踐的例子。

 

3.2業務實踐

 

以應用商店中應用推薦爲例,業務場景:當用戶進入應用商店,根據用戶已安裝應用列表給用戶推薦應用。

 

  • Step1:問題分解

    

給定一個用戶u,給該用戶推薦應用B,根據貝葉斯公式用戶安裝機率爲:

    

 


    

設用戶的安裝列表爲{A1  ,…, An},把用戶u看做是事件{A1  ,…, An},爲了簡化問題,假設Ak相互獨立,那麼:

 

 

 

上述式子能夠化爲:

 

 

 

在推薦場景中,是對一個用戶計算不一樣應用的得分,而後做降序進行推薦。而對於同一個用戶P(u)是不變的,因此咱們能夠用如下公式做爲排序依據:

 

 

 

 

全庫的應用集合記爲,因此在貝葉斯推薦模型中主要參數有兩個集合,分別爲:

 

 

 

  • Step2:數據準備

 

首先收集歷史的用戶在應用商店中應用展現記錄,而且關聯用戶在展現時刻的安裝列表,數據格式以下:

 

 

表1:初始數據

 

  • Step3:模型參數計算

 

參數集合{P(B)|B∈I}的計算:給定一個應用B. 根據表1,首先中「展現應用=B」的樣本數,記爲showNumsB而後計算「展現應用=B」且「用戶是否安裝=1」的樣本數記爲installNumsB 那麼:

 

 

 

參數集合{P(Ai|B)|B∈I,Ai∈I}給定一個應用B及Ai 根據表1,首先計算「Ai∈已安裝列表」且「展現應用=B」的樣本數,記爲showNumsAi,B . 而後計算「Ai∈已安裝列表」且「展現應用=B」且「用戶是否安裝=1」的樣本數,記爲installNumsAi,B 那麼:

 

 

 

在計算P(Ai|B)可能會遇到樣本不足的狀況,致使計算出異常值,爲了不這類狀況,須要根據經驗加個最少安裝數限制,這裏咱們定義爲最少安裝次數爲100,那麼:

 

 

 

其中P(Ai)是表示在全部用戶中,安裝了應用Ai用戶的佔比。

 

  • Step4:給用戶推薦應用

 

給定一個用戶u,及一批候選推薦應用池,咱們經過上述方法計算用戶u對候選池中每一個應用的得分sortScore(u,B),根據這個值作降序,取top 10的應用推薦給用戶。

 

4基於KNN的推薦算法

 

4.1算法簡介

 

KNN(K最近鄰分類算法)是一種在機器學習中比較簡單的算法,它的原理以下:對於一個須要分類的物品A,定義某一種刻畫物品之間距離方法,找出該物品最鄰近k個有已知類別的物品,這k物品中出現最多的類別即爲物品A的類別。以下圖:

 

 

 

在KNN算中,最核心的一點是怎麼定義物品之間的距離,這裏咱們簡單列舉幾種計算物品距離的方法:歐式距離、曼哈頓距離、切比雪夫距離、傑卡德係數、夾角餘弦、皮爾遜係數。

 

下面介紹KNN在實際業務中的運用。

 

4.2業務實踐

 

業務場景1:以應用商店爲例,在用戶下載完一個應用時,觸發一個「你們還下載」的推薦,下面介紹如何運用knn算法實現這個場景的推薦:

 

首先定義應用的維度向量,一種簡單的方法是離散化全部特徵,而後進行one-hot編碼,獲得全部維度取值0/1的向量V,例如:能夠把每一個用戶當作一個維度,若是第n個用戶安裝了應用A,那麼應用A在第n個維度取值爲1,不然爲0,運用歐式距離能夠獲得應用A與應用B的距離公式:

 

 

給定一個應用A,經過上述公式取距離最小的4個應用出來,在用戶下載完應用A之後給該用戶推薦這4個應用。

 

業務場景2:網絡購物中,在「猜你喜歡」場景推薦一批物品給用戶,經過用戶的歷史購物清單,運用傑卡德公式計算用戶與用戶的相關係數:

 

 

 

表示購買了物品x的用戶集合,那麼用戶u與用戶v的距離定義爲:

 

 

 

給定一個用戶u,首先找出這個用戶最鄰近的k個用戶,而後在這k個用戶中按照購買的用戶數對物品進行降序,去除用戶u已經購買的物品,取top 10個物品推薦給用戶。

 

5決策樹算法

 

5.1算法簡介

 

決策樹一種經典的機器學習分類算法,主要的表明算法有ID三、C4.五、CARD,原理能夠簡單理解爲經過對數據總結、概括獲得一系列分類規則,舉個簡單的例子:

 

 

 

在決策樹中,一個葉子節點表示一條決策規則(一般葉子節點的類目等於該節點樣本最多的類目),決策樹算法的目標是獲得準確率高的規則,而決策規則的準確率能夠用葉子節點的複雜度來衡量。

 

5.2複雜度計算

 

下面列舉2種經常使用複雜度的計算方法, 假設有樣本集X,總共的類目有n個,pi表示第i個類目的佔比。

 

(1) 信息熵:

 

 

 

上式中,信息熵的值越高,複雜度越高,樣本 的不肯定性越大。

 

(2)基尼指數:

 

 

 

上式中,基尼指數越大,複雜度越高,樣本的不肯定性也就越大。

 

5.3裂分指標

 

在決策樹的生成過程當中,每個節點的裂分都須要考慮選擇哪一個屬性裂分使得系統的複雜度下降越多。不一樣算法選用的裂分方法有所不一樣。

 

(1)ID3:信息增益

 

 

 

 其中H(x)表示裂分前系統的複雜度,

 

表示裂分後系統的複雜度。該值越大表示裂分方式使得系統更爲有序。

 

(2)C4.5:信息增益率

 

 

 

 

 

表示A屬性的第i個取值佔比,其中表示的意思是屬性A的複雜度,該公式除了考慮系統純度的增量的同時,也考慮了屬性A的複雜度。該值越大表示裂分方式使得系統更爲有序。(在ID3算法中,因爲選擇的是信息增益計算系統純度增量,每每會選擇複雜度高的屬性進行裂分,複雜度高的屬性取值分段會有不少,致使裂分後某些節點只有少許樣本而不具有用於預測的統計意義,C4.5基於這個問題加以改進)。

 

(3)CARD:基尼係數

 

 

 

CARD算法生成的決策樹是一個二叉樹,每次裂分只裂分兩個節點,Gini(X|A)表示裂分後的複雜度,該值越高樣本無序性越大,X1,X2是X的裂分後的兩個樣本集(裂分方法爲遍歷全部裂分可能,找出Gini(X|A)最小的那個點)。該值越小表示裂分方式使得系統更爲有序。

 

5.4決策樹生成

 

輸入:

 

 

裂分指標:選擇一種裂分指標(信息增益、信息增益率、Gini係數)。

 

節點裂分終止條件:選擇節點最小樣本數及最大深度。

 

  • Step1:選擇一個可裂分的節點Di,循環計算全部屬性的裂分指標,選取最優的指標使得系統最爲有序那個屬性做爲裂分點,獲得數據集Di+1,Di+2,…

  • Step2:全部葉子節點是否都達到了裂分的終止條件,是則執行Step3,不然執行step1。

  • Step3:減枝

  • Step4:返回決策樹T

 

5.5業務實踐

 

業務場景:以應用商店中應用個性化推薦爲例。

 

Step1:構造用戶畫像,收集用戶歷史下載應用記錄、已安裝應用記錄、用戶社會屬性(年齡、性別、學歷、所在城市)。

Step2:構造應用畫像,應用畫像包括應用ID,應用類型、應用標籤、應用安裝量排名、應用CTR等。

Step3:樣本收集,收集用戶歷史曝光下載應用記錄(字段:用戶ID、應用ID、是否下載),並通關用戶ID、應用ID與用戶畫像、應用畫像關聯起來獲得樣本數據,獲得樣本數據(用戶ID,應用ID,用戶畫像,應用畫像,是否下載)。

Step4:構造模型訓練樣本,定義用戶畫像與應用畫像不一樣類型特徵的交叉規則生成模型特徵,運用定義好的交叉規則對全部樣本生成模型特徵,獲得模型訓練樣本(模型特徵,是否下載)。

Step5:模型訓練,模型訓練樣本訓練CARD算法,獲得預測模型。

Step6:模型使用,給定一個用戶和應用,根據上述方法生成用戶的用戶畫像及應用的應用畫像,而後運用定義好的交叉特徵規則生成模型特徵,把模型特徵代入模型獲得預測值。

 

6隨機森林算法

 

6.1算法簡介

 

隨機森林(RF)是決策樹與bagging結合一種分類迴歸算法,它由多顆決策樹構成的一個bagging決策系統。當運用RF進行預測時,首先把須要把樣本數據輸入到每一棵決策樹,每一個樹獲得一個葉子節點,預測的時候,若是是迴歸問題則統計全部樹葉子節點的均值,若是是分類問題則求全部樹葉子節點類目出現最多的那個類。

 

RF每棵決策樹的構建方式以下:

 

Step1:用M表示數據總特徵維度,N表示樣本數量,m表示特徵抽樣維度。

Step2:有放回隨機抽取N個樣本做爲這個樹的訓練樣本。

Step3:對訓練樣本構建決策樹,每次裂分前隨機抽取m個特徵出來,裂分特徵在這m個特徵中選擇一個最優的裂分特徵。

Step4:不做減枝直到不能裂分爲止。

 

 

 

6.2業務實踐

 

在實際的業務運用中與決策樹相似,在前面介紹的決策樹業務實踐中能夠直接用RF算法替代決策樹,構造的方法如上所述,重複地隨機抽樣樣本及抽樣特徵構造多顆決策樹,決策樹的棵數須要結合分類精度及模型複雜程度判斷。

 

7基於矩陣分解的推薦算法

 

7.1算法介紹

 

在推薦算法中,主要解決的問題是找到用戶對物品的偏好得分。矩陣分解算法它的基本思想是認爲用戶對物品的偏好是外在表現,內在是用戶對主題的偏好,而主題對不一樣物品又有不一樣的權重,經過用戶->主題->物品這條鏈路才造成用戶對物品的偏好。

 

矩陣分解的公式:U=PQ

 

其中U表示用戶對不一樣物品的偏好矩陣, P表示用戶對不一樣主題的偏好矩陣, Q表示不一樣主題對應用的權重。

 

7.2模型求解

 

在實際的業務實踐中,每每是已知用戶對物品的部分偏好得分,求解用戶對未知物品的偏好得分。

 

以應用商店廣告場景爲例:已知用戶在端內的物品曝光點擊記錄,求解用戶對不一樣廣告偏好得分。

 

  • Step1:根據樣本數據構造矩陣U

 

根據樣本數據,用戶對曝光物品有點擊記爲1,沒有點擊記爲0,沒有曝光過的物品不賦值(記爲-),示例以下:

 

 

 

  • Step2:求解矩陣P和矩陣Q

 

設矩陣U的大小爲N×M,主題數定義爲K,那麼矩陣的大小是N×K,Q矩陣的大小是K×M,構造損失函數,以下:

 

 

 

其中ui,j表示矩陣U的第i行第j列元素,pi表示矩陣P的第i行,qj表示矩陣Q的第j列,

經過梯度降低法能夠求解矩陣P和矩陣Q。

 

  • Step3:預測用戶對沒有曝光過物品的偏好得分

 

給定一個用戶i,須要預測該用戶對物品j的偏好得分,公式爲:

 

 

  • Step4:如何給用戶推薦物品

 

給定一個用戶,經過Step3的公式計算該用戶對全部物品的偏好得分,取該用戶沒有曝光過得分排名前10的物品進行推薦。

 

8基於BP的推薦算法

 

8.1算法介紹

 

BP算法是神經網絡的一種算法,BP算法網絡是有多層網絡構成,信號的傳播是由第一層網絡開始正向傳播到下一層網絡。以3層神經網絡爲例,網絡結構示例以下:

 

 

 

以3層神經網絡關係以下:

 

 

 

向量X是模型輸入變量向量,wi是Li-1層與Li的鏈接權重矩陣,bi是Li的偏置向量。函數f是一個激活函數,目前業界經常使用的激活函數有relu、sigmod、tanh,傳統BP神經網絡函數通常採用sigmod函數,若是採用該函數,那麼:

 

 

 

8.2模型求解

 

以個性化推薦場景中點擊率預估爲例,上述模型參數有w1, w2, w3, b1, b2, b3,咱們經過梯度降低法求解這些參數,首先收集樣本,取歷史用戶推薦的數據及用戶對推薦反饋的數據做爲樣本。變量定義以下:

 

  • nums 表示收集樣本的數量。

  • (Xi,yi)表示用戶第 個樣本的數據,Xi表示樣本的特徵,yi表示點擊狀況(0表示沒有點擊,1表示點擊)。

  • Yi 表示上述模型構造中的輸出值,是關於w1, w2, w3, b1, b2, b3的變量。

 

損失函數:經常使用的的定義有兩種,一種是交叉熵,另外一種均方差,以均方差爲例:

 

 

 

經過上述損失函數,運用梯度降低法求解模型參數w1, w2, w3, b1, b2, b3。

 

9基於W2V的推薦算法

 

9.1算法簡介

 

W2V是在2013年由Google開源了一款用於詞向量計算的工具,該算法提出的場景主要是解決NLP中詞向量化的問題,傳統對詞向量的方法是one-hot編碼,one-hot編碼存在主要有兩點,第一點維度極高沒法直接做爲模型的輸入變量,第二點是詞與詞之間沒有相關性。W2V的誕生解決了這兩個問題,W2V是經過神經網絡對詞進行低緯度的向量化。

 

W2V有兩種模型,一個是CBOW模型,另外一個是Skip-gram模型。兩個模型都是對詞進行向量化,區別在於:CBOW是以一個詞爲輸出目標,以該詞鄰近的詞爲輸入;Skip-gram是以一個詞爲輸入,以該詞鄰近的詞爲輸出目標。示例以下:

 

 

 

以CBOW模型爲例,該模型的結構圖以下:

 

   

各層關係爲:

 

  • Input層:以一個詞爲輸出目標,以該詞鄰近的詞向量爲輸入。

  • Projection層:把Input層的全部向量疊加求和。

  • Output層:首先對語料庫中的全部詞創建哈夫曼樹編碼(不使用one-hot編碼,one-hot編碼太稀疏)。而後爲每在每一個哈夫曼樹節點創建一個邏輯斯蒂分類模型,模型的輸入都是Projection的輸出。

 

9.1模型訓練

 

模型的參數,模型的參數包括全部詞的詞向量 和哈夫曼樹中每一個節點的邏輯斯蒂迴歸參數

 

哈夫曼樹中的每一個節點都是一個邏輯斯蒂迴歸函數,以輸出的詞做爲葉子節點路徑中的每一個節點的分類(路徑走左分支爲1,右分支非0)做爲訓練目標。例如:上圖中輸出詞假設爲「足球」,那麼路徑以下:

 

 

    

損失函數的構造,經過交叉熵的構造,以一個樣本例,樣本的輸入詞向量求和爲XW,輸入詞爲M,該詞對應的哈夫曼樹路徑爲T(M),那麼該樣本的損失函數以下:

    

 

 

把全部樣本的按照上述公式計算損失函數,求和後獲得模型的損失函數:

 

 

    

經過梯度降低法能夠求解全部詞的詞向量vi。

 

9.2業務實踐

 

場景:網絡購物場景中,運用W2V+BP進行個性化推薦。

 

  • Step1:對物品進行向量化

 

把每一個用戶看做一篇文章,用戶購買物品按照時間序列排序,物品看做詞,帶入W2V模型獲得物品的向量。

 

  • Step2:樣本收集

 

收集客戶端中,對用戶的物品曝光及購買記錄,以用戶歷史購買的物品列表做爲用戶畫像,以給用戶曝光物品後用戶是否購買爲目標變量。

 

  • Step3:構造W2V + BP的模型

 

模型的輸入有兩個,第一個爲用戶歷史購買物品的向量均值,第二個爲曝光物品的向量。模型的輸出爲用戶是否購買曝光的物品,中間用BP網絡進行鏈接。

 

 

 

  • Step4:模型訓練與使用

 

模型訓練:目前業界通常使用TF進行實現,BP網絡的節點數及層數須要根據訓練狀況肯定。

 

模型使用:給定一個用戶u及一個物品i,把用戶u購買物品向量均值及物品i的向量做爲模型輸入,計算物品i的模型得分。重複該操做,計算出用戶u全部候選物品的模型得分,根據物品的模型得分降序推薦給用戶。

 

10基於LR的推薦算法

 

10.1原理介紹

 

LR(邏輯斯蒂迴歸)算法的本質是一個線性迴歸函數,該算法主要用做二分類的場景,例如點擊率預估,算法公式以下:

 

 

 

其中x是模型的輸入

 

 

  • xi表示每一個維度的輸入。

  • w是表示模型輸入x的係數向量,w=( w1, w2, …), wi表示維度xi的權重。

 

10.2模型求解

 

咱們經過梯度降低法求解咱們的模型。以點擊率預估爲例,首先收集樣本。變量定義以下:

 

  • nums  表示收集樣本的數量 。

  • (Xi,yi)表示用戶第 個樣本的數據,Xi表示樣本的特徵,yi表示點擊狀況(0表示沒有點擊,1表示點擊)。

  •  Yi 表示模型的預測值,是關於w,b的變量。

 

定義交叉熵損失函數:

 

 

 

經過梯度降低法求解los(w,b)最小時對應的w,b即爲所求模型參數。

 

10.3業務實踐

 

LR算法在目前推薦系統業界中,流行的作法是大規模離散化特徵(one-hot編碼),而後帶入LR模型,以廣告點擊率模型爲例,步驟以下:

 

  • Step1:構造用戶畫像

 

按照特徵類別構造用戶畫像,對類別下面的全部特徵進行離散化處理,例如:用戶歷史瀏覽物品記錄,用戶社會屬性,經過模型給用戶打的標籤等等。

 

 

表:用戶畫像

 

  • Step2:構造物品畫像

 

構造物品畫像,一樣也是須要劃分物品特徵類別,類別下面特徵離散化處理,例如:物品ID,物品標籤,物品熱度等等。

 

 

表:用戶畫像

 

  • Step3:構造場景畫像

 

在實際的業務實踐中,每每是一個模型須要用到多個場景,不一樣場景物品的平均點擊率差異很大,爲了更好地解決不一樣場景平均點擊率不一樣的問題,每每須要加上場景特徵。場景畫像通常只有場景ID,在某些特殊場景(例如:搜索列表)能夠加上位置信息。

 

 

表:場景畫像

 

  • Step4:收集樣本數據

 

收集歷史曝光點擊數據,收集的數據維度包括:用戶ID,物品ID,場景ID,是否點擊。而後關聯用戶畫像和物品畫像獲得模型的訓練樣本數據。

 

 

表:樣本數據

 

  • Step5:構造模型特徵

 

經過對樣本數據構造模型特徵獲得模型的輸入,模型特徵分兩類,一類是交叉特徵,另外一類是原始特徵。

 

交叉特徵:選擇用戶的類別特徵、選擇物品的類別特徵、場景ID作三個維度的交叉,例如:用戶歷史點擊記錄爲item1,item2 , 物品的ID特徵爲I1,場景特徵爲scene1,那麼生成的交叉特徵爲item1&I1&scene1,item2&I1&scene1。

 

原始特徵:原始特徵是指直接把畫像特徵做爲模型的輸入特徵,通常是把物品的泛化特徵做爲原始特徵,用於物品冷啓動特徵或場景冷啓動特徵,例如:物品的CTR、物品的熱度、物品的標籤等等。

 

 

表:模型輸入

 

  • Step6:模型訓練

 

把模型中的全部特徵進行one-hot編碼,假設模型特徵數爲N,首先給每一個模型特徵一個惟一1-N的編碼,那麼每一個樣本的模型輸入向量是維度爲N取值0/1的向量 ,0表示該樣本具有對應編號的特徵,1表示沒有,例如:樣本1的具備有編號爲1和編號爲3的特徵,那麼樣本1的模型輸入向量爲(1,0,1,0,0,…),而後經過通用的LR訓練器訓練模型,便可把模型的參數訓練出來。

 

  • Step7:模型使用

 

給定一個用戶u,及一批候選物品,對用戶u如何推薦物品。經過上述方法計算用戶u對候選集中每一個物品的模型得分,按照模型得分降序推薦給用戶。

 

這篇文章是扣的阿里上的篇,有興趣的小夥伴能夠去原網頁看看:https://mp.weixin.qq.com/s/9F_BRgnhAxP-nALtBdIZpg

相關文章
相關標籤/搜索