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