推薦系統 — 演算法筆記

Kevin Tseng
2 min readJun 6, 2018

--

最近剛好要參加推薦系統的Hackthon,簡單整理一下之前在極客APP聽了推薦36式專欄的相關資訊:

由於是參加比賽,主要關注離線模型,且對於運算的負擔比較不關心,先找些開源能夠馬上開發的來用:

  1. 內容分析:

for hack: 1. job 2. company 3. personal

recall: 全部的點擊, 我猜到幾個

主要針對文章,將非結構化的文章轉為結構化如:

a. 主題模型 ex. LDA

b. 詞嵌入 ex. word2vec, doc2vec 把文章轉成向量

c. 文本分類

Python Package: gensim, tensorflow, FastText

2. 協同過濾(CF) & 矩陣分解(SVD):

建構一個用戶與物品的矩陣,row 是用戶column 是物品,用這個矩陣算相似度,有多種算法

a. KNN相似度計算

b. SVD++ (加入用戶屬性,而非單純行為)

c. ALS

d. BPR矩陣分解

Python Package:

(a)KNN: kgraph, annoy, faiss, nmslib

(b)CF: Spark.RowMatrix.columnSimilarities

(c)SVD: lightfm

(d)都有: implicit, QMF

3. 模型融合: 這邊就是Kaggle比較常見的模型

(a)GBDT: LightGM, XGBoost

(b)Tensorflow-wide and deep: 結合了可解釋性強的線性模型,如logistic和神經網路的特徵提取功能,簡單說就是把隱藏層當作特徵,凝聚許多的稀疏特徵。

(c)LibFFM: 因子分解機

(d)vowpal_wabbit: 線性模型

--

--

Kevin Tseng
Kevin Tseng

Written by Kevin Tseng

Area about fake news, information operation, data visualization, and data science

No responses yet