由Rendle ( 2010 )提出的因式分解機(jī) (FM)是一種監(jiān)督算法,可用于分類、回歸和排序任務(wù)。它很快引起了人們的注意,并成為一種流行且有影響力的預(yù)測和推薦方法。特別地,它是線性回歸模型和矩陣分解模型的推廣。此外,它讓人想起具有多項(xiàng)式內(nèi)核的支持向量機(jī)。分解機(jī)相對(duì)于線性回歸和矩陣分解的優(yōu)勢在于:(1)它可以建模χ-way變量相互作用,其中χ是多項(xiàng)式階數(shù),通常設(shè)置為二。(2) 與因式分解機(jī)相關(guān)的快速優(yōu)化算法可以將多項(xiàng)式計(jì)算時(shí)間減少到線性復(fù)雜度,使其非常高效,尤其是對(duì)于高維稀疏輸入。由于這些原因,因式分解機(jī)被廣泛應(yīng)用于現(xiàn)代廣告和產(chǎn)品推薦中。技術(shù)細(xì)節(jié)和實(shí)現(xiàn)描述如下。
21.9.1。2 維分解機(jī)
正式地,讓x∈Rd表示一個(gè)樣本的特征向量,并且y表示對(duì)應(yīng)的標(biāo)簽,可以是實(shí)值標(biāo)簽,也可以是類標(biāo)簽,如二元類“點(diǎn)擊/非點(diǎn)擊”。二階因式分解機(jī)的模型定義為:
在哪里w0∈R是全局偏差; w∈Rd表示第 i 個(gè)變量的權(quán)重;V∈Rd×k表示特征嵌入;vi代表 ith一排V;k是潛在因素的維度;??,??是兩個(gè)向量的點(diǎn)積。 ?vi,vj?模型之間的相互作用ith和jth特征。一些功能交互可以很容易理解,因此可以由專家進(jìn)行設(shè)計(jì)。然而,大多數(shù)其他特征交互都隱藏在數(shù)據(jù)中并且難以識(shí)別。因此,自動(dòng)建模特征交互可以大大減少特征工程的工作量。很明顯,前兩項(xiàng)對(duì)應(yīng)線性回歸模型,最后一項(xiàng)是矩陣分解模型的擴(kuò)展。如果特征i代表一個(gè)項(xiàng)目和特征 j表示用戶,第三項(xiàng)恰好是用戶和項(xiàng)目嵌入之間的點(diǎn)積。值得注意的是,F(xiàn)M 還可以泛化到更高階(degree > 2)。然而,數(shù)值穩(wěn)定性可能會(huì)削弱泛化。
21.9.2。一個(gè)有效的優(yōu)化準(zhǔn)則
以直接的方法優(yōu)化因式分解機(jī)會(huì)導(dǎo)致復(fù)雜度為O(kd2)因?yàn)樗谐蓪?duì)交互都需要計(jì)算。為了解決這個(gè)低效率問題,我們可以重組 FM 的第三項(xiàng),這可以大大降低計(jì)算成本,從而導(dǎo)致線性時(shí)間復(fù)雜度(O(kd)). 成對(duì)交互項(xiàng)的重新表述如下:
評(píng)論
查看更多