當前位置:編程學習大全網 - 源碼下載 - 推薦算法之壹——FM

推薦算法之壹——FM

FM就是因子機,因子分解機。

1),特征組合是很多機器學習建模過程中遇到的問題。如果直接對特征建模,很可能會忽略特征之間的關聯信息,通過壹次性構造新的交叉特征可以提高模型的效果。

2)高維稀疏矩陣是實際工程中常見的問題,直接導致計算量過大,特征權重更新緩慢。想象壹張桌子有10000 100。每列有8個元素。壹鍵編碼後,將生成壹個10000 800的表。因此,表中的每個元素只有1的100個值和0的700個值。

FM的優勢在於對這兩個問題的處理。首先,特征組合,通過兩兩特征組合,引入跨項特征(二階特征)提高模型得分;其次,高維災難,通過引入隱向量(參數矩陣的分解),完成特征參數的估計。

我們已經知道FM可以解決特征組合和高維稀疏矩陣的問題,但是在實際的商業場景中,電商、豆瓣等推薦系統的場景是應用最廣泛的領域。比如小王在豆瓣上只瀏覽過20部電影,豆瓣上就有2萬部電影。如果以小王為基礎構建壹個電影矩陣,毫無疑問有19980個元素全部為0。以及類似的問題。

在展示FM算法之前,讓我們回顧壹下最常見的線性表達式:

其中[圖片上傳失敗W0為初始權值,或者理解為偏置項,Wi為每個特征xi對應的權值,可以看出這個線性表達式只描述了每個特征與輸出的關系。

FM的表達式如下。可以觀察到,在線性表達式之後僅添加新的交叉項特征和相應的權重。

1)求交叉項。

求解FM表達式的核心是求解交叉項。下面是很多人用來解交叉項的展開式。對於剛接觸FM算法的人來說,可能會有疑惑。不知道怎麽展開公式。接下來我手動推導壹下。

有三個變量(特征)X1,X2和X3,每個特征的隱變量是V1 = (x1,x2,x3),v2=(4,5,6),V3 = (1,2,65438+。

設交叉項組成的權矩陣w為對稱矩陣,這是因為對稱矩陣可以用向量乘以向量轉置來代替而設置的。

那麽W=VVT,也就是

所以:

2)交叉項的權重轉換

在對交叉項有了基本的了解之後,我們再對下面的公式進行分解,還是以n=3為例。

3)跨期擴張

上面的例子是三個特征的交叉項推導,所以n個特征的FM的交叉項公式可以概括為:

我們可以進壹步分解:

所以FM算法的交叉項最終展開為:

通過使用梯度下降法,通過計算損失函數對特征(輸入項)的導數來計算梯度,從而更新權重。設m為樣本數,θ為權重。

如果是回歸問題,損失函數壹般是均方誤差(MSE),即最小二乘:

所以損失函數對回歸問題權重的梯度(導數)是:

其中σ表示階躍函數σ。

所以損失函數對分類問題的權重的梯度(導數)是:

  • 上一篇:如何在Oracle中使用Java存儲過程
  • 下一篇:如何使用instagram
  • copyright 2024編程學習大全網