๋ณธ ๋
ผ๋ฌธ์์๋ SVM(Support Vector Machines)๊ณผ Factorization model๋ค์ ์ฅ์ ์ ํฉ์น Factorization Machine(FM)์ ๋ํด์ ์๊ฐํ๋ค. SVM์ฒ๋ผ FM์ ์ด๋ ์ค์ ๊ฐ feature vector๊ฐ input๊ฐ์ผ๋ก ๋ค์ด์๋ ์ ์๋ํ๋ general predictor working
์ ํ๋ค. SVM๊ณผ๋ ๋ฐ๋๋ก FM์ factorized parameter๋ค์ ์ด์ฉํด์ ๋ณ์๋ค ์ฌ์ด์ ์ํธ์์ฉ์ ๋ชจ๋ธํ ํ๋ค. ๋๋ฌธ์ SVM์ ์์ธกํ ์ ์๋ huge sparsity
์ ๋ฌธ์ ์์๋ ์ํธ์์ฉ์ ์ ์์ธกํ ์ ์๋ค.
general predictor
๋ฐ์ดํฐ์ ํํ์ ํฌ๊ฒ ๊ท์ ๋ฐ์ง ์๊ณ , ๋ถ๋ฅ, ํ๊ท ๋ฑ ๋ค์ํ ์์ ์ ์ํ ํ ์ ์๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ FM ๋ชจ๋ธ ๋ฐฉ์ ์์ด linear time์ ๊ณ์ฐ๋ ์ ์์ด ๋ฐ๋ก ์ต์ ํํ ์ ์์์ ๋ณด์ฌ์ค๋ค. ๊ทธ๋์ nonlinear์ธ SVM๊ณผ ๋ฌ๋ฆฌ, dual form์์์ ๋ณํ์ด ํ์ํ์ง ์๊ณ , support vector์ ๋์์์ด ๋ฐ๋ก model parameter๋ค์ ์ถ์ ํ ์ ์๋ค.
๋ ๋ค๋ฅธ Factorization Model์๋ matrix factorization, parallel factor analysis, SVD++, PITF, FPMC์ ๊ฐ์ specialized model๋ค์ด ์๋ค. ์ด ๋ชจ๋ธ๋ค์ general prediction ์
๋ฌด๋ฅผ ํ์ง ๋ชปํ๋ฉฐ ํน์ input๊ฐ์ด ๋ค์ด์์ ๋๋ง ์๋ํ๋ค. ์ด ๋ชจ๋ธ๋ค์ ๋ฐฉ์ ์๊ณผ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ ์์
์ ๋ํด ๋
๋ฆฝ์ ์ผ๋ก ํ์๋๋ค. ๋ณธ ๋
ผ๋ฌธ์์๋ FM์ด input๊ฐ์ ํน์
ํจ์ผ๋ก์จ ์ด ๋ชจ๋ธ๋ค์ ํ๋ด๋ผ ์ ์์์ ๋ณด์ฌ์ค๋ค. ๋ฐ๋ผ์ Factorization Model์ ๋ํ ์ ๋ฌธ ์ง์์ด ์๋๋ผ๋ FM์ ์ฌ์ฉํ ์ ์๋ค.
SVM์ ๋จธ์ ๋ฌ๋๊ณผ ๋ฐ์ดํฐ ๋ง์ด๋์์ ๊ฐ์ฅ ์ ๋ช ํ predictor ์ค ํ๋์ด๋ค. ๊ทธ๋ฌ๋ ํ์ ํํฐ๋ง๊ณผ ๊ฐ์ ํ๊ฒฝ์์๋ SVM์ ์ค์ํ ์ญํ ์ ํ์ง ๋ชปํ๋ค. ๋ณธ ๋ ผ๋ฌธ์์๋ ํ์ค SVM predictor๊ฐ ์ด ์์ ์ ์ฑ๊ณตํ์ง ๋ชปํ๋ ์ด์ ๊ฐ ๋งค์ฐ sparseํ ๋ฐ์ดํฐ์ ๋ณต์กํ(๋น์ ํ์ ) kernel ๊ณต๊ฐ์์ reliabel parameter(hyperplane: ์ดํ๋ฉด)๋ฅผ ํ์ตํ ์ ์๊ธฐ ๋๋ฌธ์์ ๋ณด์ฌ์ค๋ค. ๋ฐ๋ฉด์ tensor factorization model๋ค๊ณผ ํน์ factorization model๋ค์ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ์ ์ฉํ ์ ์๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ SVM์ฒ๋ผ general predictor
์ด๋ฉด์ ๋งค์ฐ sparsityํ ๋ฐ์ดํฐ์์ reliabel parameter๋ค์ ์ถ์ฒญํ ์ ์๋ FM์ ์๊ฐํ๋ค.
FM์ ๋ชจ๋ nested(์ค์ฒฉ๋) ๋ณ์๋ค์ ์ํธ์์ฉ์ ๋ชจ๋ธํํ์ง๋ง, SVM์ฒ๋ผ dense parametrization
์ด ์๋ factorized parametrization
์ ์ฌ์ฉํ๋ค. ๋ณธ ๋
ผ๋ฌธ์์๋ FM์ ๋ชจ๋ธ ๋ฐฉ์ ์์ linear time์ผ๋ก ๊ณ์ฐํ ์ ์์ผ๋ฉฐ parameter์ ์์ ๋ฐ๋ผ ๊ฒฐ์ ๋จ์ ๋ณด์ฌ์ค๋ค. ์ด๋ ์ฆ์ ์ต์ ํ
์ ์์ธก์ ์ํ ๋ณ๋์ ํ์ต ๋ฐ์ดํฐ์ ์ ์ฅ ์์ด ๋ชจ๋ธ parameter์ ์ ์ฅ์ ๊ฐ๋ฅ
ํ๊ฒ ํ๋ค. ๋ฐ๋๋ก nonlinear SVM์ ๋ณดํต dual form์ผ๋ก ์ต์ ํ
ํ๋ฉฐ ํ์ต๋ฐ์ดํฐ(support vectors)์ ์์กด
ํ์ฌ ์์ธก์ ๊ณ์ฐํ๋ค.
โถ๏ธ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์์ธก์ ์ค์ ๊ฐ feature vector x๋ก๋ถํฐ target ๋ฒ์ T(e.g. T = R for regression or T = {+, โ} for classification)๋ก ๋งคํํ๋ ํจ์(y:R^n โT)๋ฅผ ์ถ์ ํ๋ ๊ฒ์ด๋ค. supervied setting์์๋ target ํจ์ y๊ฐ ์ฃผ์ด์ก์ ๋ ํ์ต ๋ฐ์ดํฐ D = {(x(1), y(1)), (x(2), y(2)), . . .}๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ์์๋ฅผ ๋งค๊ธฐ๋ ์์ ์์ ํจ์ y๋ feature vectors x์ ์ ์๋ฅผ ๋งค๊ธฐ๊ณ ์ ๋ ฌํ ์ ์์ผ๋ฉฐ scoring ํจ์๋ pairwise ํ์ต๋ฐ์ดํฐ(feature tuple (x(A),x(B)) : x(A)๋ x(B)๋ณด๋ค ๋ญํฌ๊ฐ ๋์์ผ ํ๋ค.)๋ฅผ ์ด์ฉํ์ฌ ํ์ตํ ์ ์๋ค. pairwise ranking ๊ด๊ณ๋ ๋น๋์นญ์ด๊ธฐ ๋๋ฌธ์ positive training instance๋ค๋ง ์ฌ์ฉํด๋ ์ถฉ๋ถํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ x(feature vector)๊ฐ highly sparse(์๋ฅผ ๋ค์ด vector x์ ๊ฑฐ์ ๋ชจ๋ ์์ x_i๊ฐ 0)
์ผ ๋์ ๋ฌธ์ ๋ฅผ ๋ค๋ฃฌ๋ค.
m(X) : feature vector x์์ non-zero ์์๋ค์ ์
mD : ๋ชจ๋ feature vector x์ m(x) ํ๊ท
Huge sparity๋ ๊ฑฐ๋ ๋ฐ์(์๋ฅผ ๋ค์ด ์ถ์ฒ์์คํ ๊ตฌ๋งค๋ด์ญ)์ feature vector๋ ํ ์คํธ ๋ถ์๊ณผ ๊ฐ์ด ์ค์ ์ธ๊ณ์์ ๋ง์ด ๋ณด์ด๋๋ฐ ์์ธ ์ค ํ๊ฐ์ง๋ ๊ฑฐ๋ํ ๋ฒ์ฃผํ ๋ณ์ ๋๋ฉ์ธ์ ๋ค๋ฃฌ๋ค๋ ๊ฒ์ด๋ค.
user u โ U
movie(item) i โ I
- U = {Alice (A), Bob (B), Charlie (C), . . .}
- I = {Titanic (TI), Notting Hill (NH), Star Wars (SW),
Star Trek (ST), . . .}certain time t โ R
rating r โ {1,2,3,4,5}
๐๐ป Observed data S
๐ฌ ์ํ ๋ฆฌ๋ทฐ ์์คํ
์ ๊ฑฐ๋ ๋ฐ์ดํฐ
Figure 1์ S๋ฅผ ์ด์ฉํ์ฌ feature vectors๋ฅผ ๋ง๋ ์์์ด๋ค.
k๊ฐ ์ถฉ๋ถํ ํฌ๋ฉด positive definite ํ๋ ฌ W์ ๋ํด W = VโVt๋ฅผ ๋ง์กฑ์ํค๋ ํ๋ ฌ V๊ฐ ๋ฐ๋์ ์กด์ฌํ๋ค. ๋ฐ๋ผ์ ๋ง์ฝ k๊ฐ ์ถฉ๋ถํ ํฌ๋ค๋ฉด FM๋ ํ๋ ฌ W๋ก ํํํ ์ ์๋ค. ๊ทธ๋ฌ๋ sparse ํ๊ฒฝ์์๋ ๋ณต์กํ ์ํธ์์ฉ์ ์ถ์ ํ ์ถฉ๋ถํ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํ์ ์ผ๋ก ์์ k
๋ฅผ ์ ํํด์ผํ๋ค. k๋ฅผ ์ ํํ๋ ๊ฒ์ ๋ ์ข์ ์ผ๋ฐํ๋ก ์ด์ด์ง๋ฉฐ sparsity์์๋ ์ํธ์์ฉ ํ๋ ฌ์ ๋ง๋ค ์ ์๋ค.
sparse ํ๊ฒฝ์์๋ ๋ณ์๊ฐ์ ์ํธ์์ฉ์ ๋
๋ฆฝ์ ์ผ๋ก directlyํ๊ฒ ์ถ์ ํ ์ถฉ๋ถํ ๋ฐ์ดํฐ๊ฐ ์๋ค. FM์ factorizing์ ํจ์ผ๋ก์จ ์ํธ์์ฉ ํ๋ผ๋ฏธํฐ์ ๋
๋ฆฝ์ฑ์ ๊นจ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์(์ฐ๊ด์ด ์๊ธฐ๊ธฐ ๋๋ฌธ์) sparse ํ๊ฒฝ์์๋ ์ํธ์์ฉ์ ์ ์ถ์ ํ ์ ์๋ค.
Figure 1์ ํตํด์ ์ด๋ฅผ ์ดํดํด ๋ณด์!
Q : target y(rating)๋ฅผ ์์ธกํ๊ธฐ ์ํด Alice(A)์ Star Trek(ST)์ ์ํธ์์ฉ์ ์ถ์ ํ๊ณ ์ถ๋ค.
๐๐ป x_A์ x_ST๊ฐ non-zero์ธ ํ์ต ๋ฐ์ดํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ง๊ด์ ์ผ๋ก ์ํธ์์ฉ์ด ์๋ค๊ณ ํ ์ ์๋ค.(wA,ST = 0)
๐๐ป ๊ทธ๋ฌ๋ โจv_A,v_STโฉ(factorized interaction parameters)๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ด ์ํฉ์์ ์ํธ์์ฉ์ ์ถ์ ํ ์ ์๋ค.
๐ก Answer
Alice(A)์ Star Trek์ factor vector์ ๋ด์ (์ํธ์์ฉ)์ Alice(A)์ Star Wars์ ์ํธ์์ฉ๊ณผ ๋น์ทํ ๊ฒ์ด๋ค.
๋ชจ๋ pairwise interaction๋ค์ด ๊ณ์ฐ๋์ด์ผํ๊ธฐ ๋๋ฌธ์ (1)์ ๋ฐฉ์ ์์ ๋ณต์ก๋๋ O(kn^2)์ด๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ตฌ์ฑ์ ํตํด linear time์ผ๋ก ์ค์ด๋ค ์ ์๋ค.
Lemma 3.1) FM์ ๋ชจ๋ธ ๋ฐฉ์ ์์ linear time O(kn)์ผ๋ก ๊ณ์ฐ ํ ์ ์๋ค.
์ฆ๋ช : Pairwise ์ํธ์์ฉํญ์ ๋ํ factorization ๋๋ฌธ์, ์ง์ ์ ์ผ๋ก ๋ ๋ณ์๋ค์ ์์กดํ๋ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ค. pairwise ์ํธ์์ฉ ๋ถ๋ถ์ ์๋์ ๊ฐ์ด ์ฌํํํ ์ ์๋ค.
์ด๋ ๋ฐฉ์ ์์ ๋ณต์ก๋๋O(kn)
์ผ๋ก linear time์ด๋ค.
sparsityํ์์๋ ๋๋ถ๋ถ์ ์์๊ฐ 0์ด๊ธฐ ๋๋ฌธ์ non-zero ์์๋ค๋ง ๊ณ์ฐํ๋ค.
FM์ Regression, Binary classification, Ranking ๋ฑ ๋ค์ํ ์์ธก ์
๋ฌด์์ ์ ์ฉํ ์ ์๋ค.
์ด ๋ชจ๋ ๊ฒฝ์ฐ์์ L2์ ๊ฐ์ ์ ๊ทํ term์ ์ค๋ฒํผํ
์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ์ถ๊ฐ๋๋ค.
FM์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ(W_0,w, V)๋ gradient descent methods(์๋ฅผ ๋ค์ด SGD)
๋ฅผ ํตํด ํจ๊ณผ์ ์ผ๋ก ํ์ตํ ์ ์๋ค. FM์ gradient๋ ๋ค์๊ณผ ๊ฐ๋ค.
sum ๋ถ๋ถ์ i์ ๋
๋ฆฝ์ด๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ฆฌ ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ค.
2-way FM์ ์ฝ๊ฒ d-way FM์ผ๋ก ํ์ฅ ํ ์ ์๋ค.
l๋ฒ์งธ ์๊ด๊ด๊ณ ํญ์ ๋ํ ํ๋ผ๋ฏธํฐ๋ค์ PARAFAC(parallel factor analysis : ๋ณ๋ ฌ๋ถ์)๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ก factorizeํ๋ค.
(5) ๋ฐฉ์ ์์ ๋ณต์ก๋๋ O(k_d n^d)์ด๋ค. ๊ทธ๋ฌ๋ lemma 3.1์ ์ ์ฉํ๋ฉด linear time์ผ๋ก ๊ณ์ฐํ ์ ์๋ค.
FM์ full feature vectore๋ค ๋์ factorized interaction๋ค์ ์ฌ์ฉํ์ฌ feature vector x ์ ๊ฐ๋ฅํ ๋ชจ๋ ์ํธ์์ฉ์ ๋ชจ๋ธํํ๋ค.
์ด๋ ๋ ๊ฐ์ง์ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋๋ฐ