今天沒有面試,要準(zhǔn)備下周五的頭條的面試下愈。因?yàn)轭^條的JD里面有涉及到矩陣分解纽绍、GBDT、LTR势似、Word2vec拌夏、LSTM,所以決定簡單了解下矩陣分解履因、GBDT障簿、LTR,著重看下word2vec和LSTM搓逾。
矩陣分解
矩陣分解來自https://blog.csdn.net/qq_19446965/article/details/82079367
推薦系統(tǒng)中最為主流與經(jīng)典的技術(shù)之一是協(xié)同過濾技術(shù)(Collaborative Filtering)卷谈,它是基于這樣的假設(shè):用戶如果在過去對(duì)某些項(xiàng)目產(chǎn)生過興趣杯拐,那么將來他很可能依然對(duì)其保持熱忱霞篡。其中協(xié)同過濾技術(shù)又可根據(jù)是否采用了機(jī)器學(xué)習(xí)思想建模的不同劃分為基于內(nèi)存的協(xié)同過濾(Memory-based CF)與基于模型的協(xié)同過濾技術(shù)(Model-based CF)。其中基于模型的協(xié)同過濾技術(shù)中尤為矩陣分解(Matrix Factorization)技術(shù)最為普遍和流行端逼,因?yàn)樗目蓴U(kuò)展性極好并且易于實(shí)現(xiàn)朗兵,因此接下來我們將梳理下推薦系統(tǒng)中出現(xiàn)過的經(jīng)典的矩陣分解方法。
對(duì)于推薦系統(tǒng)來說存在兩大場景即評(píng)分預(yù)測(rating prediction)與Top-N推薦(item recommendation顶滩,item ranking)余掖。評(píng)分預(yù)測場景主要用于評(píng)價(jià)網(wǎng)站,比如用戶給自己看過的電影評(píng)多少分(MovieLens)礁鲁,或者用戶給自己看過的書籍評(píng)價(jià)多少分(Douban)盐欺。其中矩陣分解技術(shù)主要應(yīng)用于該場景。Top-N推薦場景主要用于購物網(wǎng)站或者一般拿不到顯式評(píng)分信息的網(wǎng)站仅醇,即通過用戶的隱式反饋信息來給用戶推薦一個(gè)可能感興趣的列表以供其參考冗美。其中該場景為排序任務(wù),因此需要排序模型來對(duì)其建模析二。因此粉洼,我們接下來更關(guān)心評(píng)分預(yù)測任務(wù)。
重點(diǎn):推薦系統(tǒng)的評(píng)分預(yù)測場景可看做是一個(gè)矩陣補(bǔ)全的游戲叶摄,矩陣補(bǔ)全是推薦系統(tǒng)的任務(wù)属韧,矩陣分解是其達(dá)到目的的手段。因此蛤吓,矩陣分解是為了更好的完成矩陣補(bǔ)全任務(wù)(欲其補(bǔ)全宵喂,先其分解之)。之所以可以利用矩陣分解來完成矩陣補(bǔ)全的操作会傲,那是因?yàn)榛谶@樣的假設(shè):假設(shè)UI矩陣是低秩的樊破,即在大千世界中愉棱,總會(huì)存在相似的人或物,即物以類聚哲戚,人以群分奔滑,然后我們可以利用兩個(gè)小矩陣相乘來還原它。
所以說重要的是用相似的人或物來補(bǔ)全矩陣顺少,以完成要推薦的任務(wù)朋其。
GBDT
文章內(nèi)容來自:https://blog.csdn.net/yyy430/article/details/85108797
GBDT(Gradient Boosting Decision Tree)是boosting系列算法中的一個(gè)代表算法,它是一種迭代的決策樹算法脆炎,由多棵決策樹組成梅猿,所有樹的結(jié)論累加起來作為最終答案。它的基本思想是根據(jù)當(dāng)前模型損失函數(shù)的負(fù)梯度信息來訓(xùn)練新加入的弱分類器秒裕,然后將訓(xùn)練好的弱分類器以累加的形式結(jié)合到現(xiàn)有模型中袱蚓。
word2vec
它是目前最常用的詞嵌入模型,也是一種淺層的神經(jīng)網(wǎng)絡(luò)模型几蜻,它有兩種網(wǎng)絡(luò)結(jié)構(gòu)喇潘,分別是CBOW和Skip-gram。
CBOW的目標(biāo)是通過上下午出現(xiàn)的詞語加權(quán)求和的方式預(yù)測當(dāng)前詞的生成概率梭稚,而skip-gram則是根據(jù)當(dāng)前詞來計(jì)算預(yù)測上下文中各詞的生成概率颖低。這里輸入都是經(jīng)過one-hot編碼的向量,N個(gè)詞就是把每個(gè)詞表示成一個(gè)N維向量弧烤,中間經(jīng)過與權(quán)重矩陣的相乘忱屑,得到輸出層的向量。輸出層應(yīng)用softmax激活函數(shù)暇昂,可以計(jì)算出每個(gè)單詞的生成概率莺戒。
訓(xùn)練權(quán)重的時(shí)候可以用反向傳播算法,每次迭代時(shí)將權(quán)重沿梯度更優(yōu)的方向進(jìn)行一小步更新急波。但是由于softmax激活函數(shù)中存在歸一化的緣故从铲,推導(dǎo)出來的迭代公式需要對(duì)詞匯表中的所有單詞進(jìn)行遍歷,是的每次迭代過程非常緩慢幔崖,由此產(chǎn)生了Hierarchical Softmax和Negative Sampling食店。
LSTM
RNN的結(jié)構(gòu)是當(dāng)前層的輸入也作為下層輸入的一部分,用這種結(jié)構(gòu)就可以解決序列的問題赏寇,但是隨著預(yù)測信息間的間隔增加吉嫩,RNNs就很難把它們關(guān)聯(lián)起來了,而LSTM可以嗅定。
時(shí)間關(guān)系自娩,LSTM就單獨(dú)再寫一篇吧。