ALS算法應(yīng)用場(chǎng)景
ALS屬于數(shù)據(jù)挖掘,可以做推薦系統(tǒng),比如電影推薦,商品推薦,廣告推薦等.
原理就是給各個(gè)指標(biāo),判定等加權(quán)重,然后將這些訓(xùn)練集輸入ALS,包括其他的參數(shù),內(nèi)部進(jìn)行矩陣相乘,根據(jù)這些權(quán)重,給用戶對(duì)未知,未點(diǎn)擊的商品也給一個(gè)分?jǐn)?shù),就是喜好程度. 然后把喜好程度高的商品推薦給用戶,假如用戶不喜歡,從線上觀察效果不好,那這個(gè)模型就有問(wèn)題,需要修改參數(shù),修改權(quán)重,或者添加權(quán)重,使之達(dá)到一個(gè)理想的效果!
最近項(xiàng)目中用到了這個(gè)算法,算是做個(gè)總結(jié)吧,粗淺的總結(jié),等以后有機(jī)會(huì)有更深的理解再來(lái)填充,修改!
ALS算法輸入的參數(shù)
我們的推薦系統(tǒng)是基于ALS算法中的train方法,我們之前的統(tǒng)計(jì)的一些指標(biāo)都是為了這個(gè)推薦系統(tǒng),把合適的商品推薦給需要的人群,提高用戶體驗(yàn)和銷售額,和京東淘寶的推薦也是類似的; ALS推薦基于隱語(yǔ)義模型, ALS算法共輸入4個(gè)參數(shù)
參數(shù)一: 訓(xùn)練集
用戶對(duì)我們這件商品的評(píng)分,用戶點(diǎn)擊了這件商品,我們就給一個(gè)評(píng)分,然后點(diǎn)擊了這個(gè)商品的下一步又是多少評(píng)分,訂單又是多少分,還有訪問(wèn)步長(zhǎng)也有加權(quán)分,訪問(wèn)時(shí)常也有加權(quán)分,到最后付款,一共1分.
每一步的評(píng)分其實(shí)就是一個(gè)權(quán)重.也可以理解為用戶對(duì)商品合適程度,喜好程度.用戶和商品就組成了一個(gè)矩陣,只要用戶點(diǎn)擊了商品,就對(duì)這個(gè)商品有個(gè)評(píng)分了,而有的卻沒(méi)有點(diǎn)擊,它是空白的,我們要做的就是填充這些空白,在空白處根據(jù)之前的權(quán)重預(yù)測(cè)一個(gè)評(píng)分.然后推薦.
假如預(yù)測(cè)分和真是分不匹配,我們就優(yōu)化參數(shù),線上觀察效果,再優(yōu)化權(quán)重分,參數(shù).
訓(xùn)練集是用戶,物品,評(píng)分.,是一個(gè)double類型
參數(shù)二: 特征值
給一個(gè)特征值,也是double類型的,可以很多參數(shù),可以很少,這個(gè)是模型了,看你的模型設(shè)計(jì)了,如0.1,然后矩陣與特征相乘,所有的特征值與矩陣相乘的分相加,就得到了一個(gè)預(yù)測(cè)分.
假如預(yù)測(cè)分與實(shí)際分不同的話, 那就是特征值給的有問(wèn)題了,可以修改特征值參數(shù),直到和預(yù)測(cè)分類似即可.這就是那些算法工程師一直線上看效果,然后調(diào)參數(shù)了
參數(shù)三: 迭代參數(shù)
這個(gè)參數(shù)是讓模型趨近于平穩(wěn),也是一個(gè)double值,也就是它的標(biāo)準(zhǔn)差越來(lái)越平穩(wěn),迭代之后會(huì)產(chǎn)生一個(gè)預(yù)測(cè)分,((預(yù)測(cè)分-真實(shí)分)的平方+預(yù)測(cè)分) / n 在發(fā)個(gè)方,這就是標(biāo)準(zhǔn)差,只要標(biāo)準(zhǔn)差越來(lái)越平穩(wěn),也就是收斂,就這OK了,.迭代參數(shù)就好了
參數(shù)四: 防過(guò)擬合參數(shù)
這個(gè)參數(shù)也是一個(gè)和double值,過(guò)擬合比如給機(jī)器看一個(gè)紅色的蘋果,突然給一張青色的蘋果讓它識(shí)別, 它就不認(rèn)識(shí)這是一個(gè)蘋果了,就是為了滿足盡可能復(fù)雜的任務(wù),我們給它的一個(gè)參數(shù). 不妨參數(shù)的話,他就像一個(gè)單調(diào)函數(shù),無(wú)法涵蓋所有的點(diǎn),而我們的目的就是為了涵蓋大多數(shù)的點(diǎn),如下圖所示

下次有了更深的體會(huì)再來(lái)補(bǔ)充...