模型理解 對FM模型核心思想的理解

2021-10-01 10:55:25 字數 1886 閱讀 9786

在《深入ffm原理與實踐》中提到:「所有二次項引數 wij

w_wi

j​可以組成乙個對稱陣 w

ww,那麼這個矩陣就可以分解為w=v

tv

w=v^tv

w=vtv,v

vv 的第 j

jj 列便是第 j

jj 維特徵的隱向量。換句話說,每個引數 wij

=⟨vi

,vj⟩

w_=\left \langle v_i,v_j \right \rangle

wij​=⟨

vi​,

vj​⟩

,這就是fm的核心思想。」

在poly2模型中等式為:y^(

x)=w

0+∑i

=1nw

ixi+

∑i=1

n∑j=

i+1n

wi,j

xixj

\hat(x)=w_0+\sum_^nw_ix_i+\sum_^n^nx_ix_j}}

y^​(x)

=w0​

+i=1

∑n​w

i​xi

​+i=

1∑n​

j=i+

1∑n​

wi,j

​xi​

xj​  在梯度下降時,偏導求解結果如下:

∂ ∂θ

y^(x

)=

\hat(x)=\begin 1 & \\ x_i & \\ x_iy_i &}\\ \end

∂θ∂​y^

​(x)

=⎩⎪⎨

⎪⎧​1

xi​x

i​yi

​​if

θisw

0​if

θisw

i​if

θisw

ij​​

而在fm模型中等式為:y^(

x)=w

0+∑i

=1nw

ixi+

∑i=1

n∑j=

i+1n

⟨vi,

vj⟩x

ix

j\hat(x)=w_0+\sum_^nw_ix_i+\sum_^n^nx_ix_j}}

y^​(x)

=w0​

+i=1

∑n​w

i​xi

​+i=

1∑n​

j=i+

1∑n​

⟨vi​

,vj​

⟩xi​

xj​  偏導結果為:

∂ ∂θ

y^(x

)=

\hat(x)=\begin 1 & \\ x_i & \\ x_i\sum_^nv_x_j-v_x_i^2 &}\\ \end

∂θ∂​y^

​(x)

=⎩⎪⎨

⎪⎧​1

xi​x

i​∑j

=1n​

vj,f

​xj​

−vi,

f​xi

2​​i

fθis

w0​i

fθis

wi​i

fθis

vi,f

​​於是便會發現在poly2模型中,如果訓練資料過於稀疏,導致 xiy

i=

0x_iy_i=0

xi​yi​

=0的情況大量出現,那麼在求解的時候 wij

w_wi

j​也會大量出現0,也就是雖然引進兩兩組合的特徵,但是訓練效果不好;但是在fm模型中則不會出現這個問題,fm能夠抓住變數間的相互作用,並且時間複雜度為o(k

n)

o(kn)

o(kn)。

SELinux安全模型的核心思想與三種工作模式

什麼是selinux?在核心2.6版本之前linux的安全模型叫dac discretionary access contorl,即自主訪問控制 dac的核心思想 程序想要訪問某資源,只需要擁有該資源對應使用者的許可權 讀 寫 執行 即可以訪問,也就是說程序所擁有的許可權與執行該程序的使用者的許可權...

對遞迴模型的理解

一.遞迴模型 分而治之的思想也就是典型的遞迴思想,遞迴思想的核心就是 遞迴模型 的建立,遞迴模型 就是處理這類問題的乙個 相同的框架,這個框架不僅僅是處理總問題的框架,也是處理組成總問題的子問題的框架,這個框架具有公用性,要適用這種公用性,就可以推斷得出,這類問題的結構就有遞迴性質 從前有座上,山上...

對盒模型的理解

首先這是我第一次寫部落格,請大家多關照。寫的不好的地方請指出來。下面由我來說下我對盒模型的理解。我呢是乙個剛入門三個禮拜的小白,我自認為學前端跟其他的科目是不一樣的。前端是聽得懂,但自己動手時就不會去做。可能這都是小白的必經之路吧。盒模型是網頁布局的基石,盒模型由盒子內容 盒子內填充 盒子本身 盒子...