| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DeepFM
- food recommendation system
- heterogeneous graph
- Neo4j
- heterogeneous graph neural network
- gat
- Rag
- Factorization Machine
- Machine Learning
- nlp
- mature-food
- hin
- graph
- GenAI
- ์ถ์ฒ์์คํ
- graphrag
- food recommender system
- yum-me
- retrieval-augmented generation
- heterogeneous graph attention network
- retrieval augmented generation
- fooddist
- ์ถ์ฒ ์์คํ
- digital health
- Today
- Total
๐ ์ํ์์ AI ๊ณต๋ถํ๊ธฐ
Factorization Machine (FM) ๋ณธ๋ฌธ
๐ก ๋ค์ด๊ฐ๋ฉฐ
์ถ์ฒ ์์คํ ์ ํ๋ ๋์งํธ ํ๊ฒฝ์์ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ธํํ๋ ํต์ฌ ๊ธฐ์ ์ ๋๋ค. ํนํ ์ํ ๋ถ์ผ์์ ๊ฐ์ธ์ ์ทจํฅ๊ณผ ์์ ์๊ตฌ๋ฅผ ๊ณ ๋ คํ ์ถ์ฒ์ ๊ฑด๊ฐํ ์์ํ์ ์ง์ํ๋ ์ค์ํ ์์๊ฐ ๋์์ต๋๋ค. ์ค๋์ 2010๋ ์ ๋ฐํ๋ Factorization Machine(FM)์ ๋ํด ์ดํด๋ณด๊ณ , ์ด ๋ชจ๋ธ์ด ์ํ ํน์ฑ ์ ๋ณด๋ฅผ ํจ๊ป ํ์ฉํ์ฌ ์ด๋ป๊ฒ ์ ๊ตํ ์ถ์ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
I. Matrix Factorization์ ์ดํด์ ํ๊ณ
Matrix Factorization(MF)๋ User์ Item ๊ฐ์ ํ๊ฐ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ Rating Matrix๋ฅผ User Latent Matrix์ Item Latent Matrix๋ก ๋ถํดํ๋ ๊ธฐ๋ฒ์ ๋๋ค.
Rating Matrix๋ (User์ ์) × (Item์ ์)๋ก ๊ตฌ์ฑ๋ ํ๋ ฌ์ธ๋ฐ, ๊ฐ ์นธ์๋ ๊ฐ ์ ์ ๊ฐ ๊ธฐ๋กํ ํด๋น ์์ดํ ์ ๋ํ ํ๊ฐ๊ฐ ์์น๋ก ๊ธฐ๋ก๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ชจ๋ ์ ์ ๊ฐ ๋ชจ๋ ์์ดํ ์ ํ๊ฐํ์ง ์๊ธฐ ๋๋ฌธ์ Rating Matrix๋ ์ผ๋ฐ์ ์ผ๋ก Sparse Matrix(ํฌ์ ํ๋ ฌ)๊ฐ ๋ฉ๋๋ค. MF๋ ์ด๋ฌํ ํ๋ ฌ ๋ถํด ๊ณผ์ ์์ ๋น์นธ์ ์ฑ์ธ๋งํ ํ์ ์ ์์ธกํ๋ ๊ณผ์ ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.

ํ๊ฐ ๋ฐ์ดํฐ๋ Explicit Feedback(๋ช ์์ ์งํ)์ผ๋ก ํ์ ์ด๋ ๋ณ์ ์ด ๋ ์๋ ์์ง๋ง, Implicit Feedback(์์์ ์งํ) ์ญ์ ์ถฉ๋ถํ ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
Rating Matrix๋ MF๋ฅผ ํตํด ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ ํ๋ ฌ๋ก ๋๋์ด์ง๋๋ค:
- User Latent Matrix(U) = (User์ ์) × K
- Item Latent Matrix(I) = (Item์ ์) × K
- Rating Matrix(R) = (User × K) × (K × Item) => User × Item
์ฌ๊ธฐ์ K๋ ์ ์ฌ ์์ธ์ ์ฐจ์์ ์๋ฏธํ๋ฉฐ, ์ด ๋ ํ๋ ฌ ์ค ํ๋๋ฅผ ์ ์น(Transpose)ํ์ฌ ํ๋ ฌ๊ณฑ์ ์ํํ๋ฉด ์๋์ Rating Matrix ํํ๋ก ๋์์ค๊ฒ ๋ฉ๋๋ค.
Latent Matrix์ ๊ฐ ํ(row)์ ์ ์ ๋ ์์ดํ ์ ์ ์ฌ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฒกํฐ๋ก, User Matrix์ ์ ์ (u) ํ๊ณผ Item Matrix์ ์์ดํ (i) ํ์ ๋ด์ ์ ์ํํ๋ฉด "์ ์ u์ ์์ดํ i์ ๋ํ ํ๊ฐ"๊ฐ ๊ณ์ฐ๋ฉ๋๋ค.
>> Matrix Factorization์ ํ๊ณ
๊ธฐ์กด Matrix Factorization์ ์ ์ ์ ์์ดํ , ๊ทธ๋ฆฌ๊ณ ํ์ ์ ๋ณด๋ง์ ํ์ฉํฉ๋๋ค. ์ฆ, ์ ์ ์ ์์ดํ ์ ๋ค์ํ ํน์ฑ ์ ๋ณด๋ ํ์ฉํ์ง ๋ชปํ๋ค๋ ํ๊ณ๊ฐ ์์ต๋๋ค. ์ํ ๋ถ์ผ์์๋ ์์ฌ๋ฃ์ ์์ ์ฑ๋ถ, ์กฐ๋ฆฌ๋ฒ, ์๋ ๋ฅด๊ธฐ ์ ๋ณด ๋ฑ ๋ค์ํ ํน์ฑ์ด ์ค์ํ๋ฐ, ์ด๋ฌํ ์ ๋ณด๋ฅผ ์ถ์ฒ ์์คํ ์ ๋ฐ์ํ๊ธฐ ์ด๋ ต๋ค๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
II. ์ถ์ฒ ์์คํ ์ ๋์ ๊ณผ์
SVM ํ์ฉ์ ์ด๋ ค์
SVM(Support Vector Machine)์ General Predictor๋ก์ ๋ฐ์ดํฐ ํํ์ ํฌ๊ฒ ๊ท์ ๋ฐ์ง ์๊ณ ๋ถ๋ฅ, ํ๊ท ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์์ด ๋จธ์ ๋ฌ๋ ๋ฐ ๋ฐ์ดํฐ ๋ง์ด๋ ๋ถ์ผ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
ํ์ง๋ง ์ถ์ฒ ์์คํ ์ ๊ฒฝ์ฐ, ๋๋ถ๋ถ์ ์ ์ ๊ฐ ๋ชจ๋ ์์ดํ ์ ํ๊ฐํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ๋งค์ฐ Sparseํ ํ๊ฒฝ์ด ์ผ๋ฐ์ ์ ๋๋ค. ์ด๋ฌํ ํ๊ฒฝ์์๋ SVM์ ๋ณต์กํ ์ปค๋ ํธ๋ฆญ์ด ์ ์๋ํ์ง ์๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
ํ์ ํํฐ๋ง์ ์ ํ์
์ถ์ฒ ์์คํ ์ ๋ํํ๋ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ ํ์ ํํฐ๋ง์ ์ผ์ข ์ธ Latent Factor ๋ชจ๋ธ์ ๋๋ค. Matrix Factorization์ ๊ฐ์ฅ ๋์ค์ ์ธ Latent Factor ๋ชจ๋ธ๋ก, SVD์ ์ ์ฌํ๊ฒ ์ ์ ์ ์์ดํ ์ f์ฐจ์์ ์ ์ฌ ๊ณต๊ฐ(latent factor space)์ผ๋ก ๋งคํํฉ๋๋ค.
Latent Factor๋ User, Item ์ฌ์ด์ ์กด์ฌํ๋ ํจํด์ ํตํด ์ฐพ์ ์ ์์ผ๋ฉฐ, f๊ฐ์ latent factor๋ก ํํ๋ user, item ๋ฒกํฐ์ ๋ด์ ์ผ๋ก ๋ ์ฌ์ด์ ์ํธ ๊ด๊ณ๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค.
III. Factorization Machine
Factorization Machine(FM)์ SVM๊ณผ Matrix Factorization์ ์ฅ์ ์ ๊ฒฐํฉํ ๋ชจ๋ธ๋ก, ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง ์ฃผ์ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- Sparse ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ: SVM์ผ๋ก ํ์ตํ๊ธฐ ์ด๋ ค์ด Sparse ํ๊ฒฝ์์๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ถ์ ๊ฐ๋ฅํฉ๋๋ค.
- ์ ํ ๋ณต์ก๋(Linear Complexity): ์ ํ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ณ ์์ด SVM๊ณผ ๊ฐ์ ์๋๋ฌธ์ ๋ฅผ ํ์ง ์์๋ ๋๋ฏ๋ก ๊ณ์ฐ ํจ์จ์ฑ์ด ๋์ต๋๋ค.
- ๋ฒ์ฉ์ฑ(General Predictor): ์ด๋ ํ ์ค์ ๋ฒกํฐ ํํ์ ๋ฐ์ดํฐ์๋ ์ ์ฉ ๊ฐ๋ฅํ General Predictor๋ก์์ ์ญํ ์ ์ํํฉ๋๋ค.
Input ํํ ๋ฐฉ์
FM์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ค์ํ Feature๋ฅผ ํ๋์ ๋ฒกํฐ๋ก ํตํฉ(concatenate)ํ์ฌ ์ฌ์ฉํ๋ค๋ ์ ์ ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ ์ ๊ณตํฉ๋๋ค:
- ์ด๋ ํ ์์์ (implicit) ํน์ฑ์ด๋ผ๋ ์ค์ ํํ๋ก ํ๋์ ํน์ฑ ๋ฒกํฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ๋ฒ์ฃผํ(Categorical) ํน์ฑ์ One-hot ์ธ์ฝ๋ฉ ํํ๋ก ํํํ ์ ์์ต๋๋ค.
- Feature engineering์ ํตํด SVM๊ณผ ์ ์ฌํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ํํํ ์ ์์ต๋๋ค.

2-way Factorization Machine Model
FM์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ ํ๊ท ๋ชจ๋ธ์ ํ์ฅํ ํํ๋ก, ๋ณ์๋ค ๊ฐ์ ์ํธ์์ฉ(interaction)๊น์ง ๋ชจ๋ธ๋งํฉ๋๋ค.
์ ํ ํ๊ท ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ด ํํ๋ฉ๋๋ค:
$$\hat{y}(x) = w_0 + \sum_{i=1}^{n} w_i x_i, w_0 \in \mathbb{R}, w \in \mathbb{R}^n$$
์ด ๋ชจ๋ธ์ ์ฅ์ ์ ๊ณ์ฐ์ด ๊ฐ๋จํ๊ณ ๋น ๋ฅด๋ค๋ ๊ฒ์ด์ง๋ง, ๋ณ์ ๊ฐ ์ํธ์์ฉ์ด ๋ฐ์๋์ง ์์ ์ ํํ ์์ธก์ด ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
FM์ ์ด ์ ํ ๋ชจ๋ธ์ ๋ณ์๋ค ๊ฐ์ ์ํธ์์ฉ์ ์ถ๊ฐํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ํ์ฅํฉ๋๋ค:
$$\hat{y}(x) = w_0 + \sum_{i=1}^{n} w_i x_i + \sum_{i=1}^{n} \sum_{j=i+1}^{n} W_{ij}x_i x_j, w_0 \in \mathbb{R}, w \in \mathbb{R}^n, W \in \mathbb{R}^{n \times n}$$
์ฌ๊ธฐ์ $W_{ij}x_i x_j$๋ ์ํธ์์ฉ ํจ๊ณผ๋ฅผ ํํํ๊ธฐ ์ํ ํญ์ผ๋ก, ๋ณ์๋ค ๊ฐ์ ๊ณฑ์ ๋ชจ๋ธ์ ์ถ๊ฐํฉ๋๋ค.
FM์ ํ์ ์ ์ธ ์ ์ ๋คํญ ํ๊ท์ ์ ์ฌํ์ง๋ง, ์ํธ์์ฉ ํญ์ ๊ณ์๋ฅผ ๋จ์ํ ๊ฐ์ด ์๋ ๋ณ์ ๊ฐ ์ ์ฌ ๋ฒกํฐ(Latent Vector)์ ๋ด์ ์ผ๋ก ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
ํ๋ผ๋ฏธํฐ ๋ถํด๋ฅผ ํตํ ํจ์จ์ฑ ์ฆ๋
FM์ ๊ฐ ํ๋ผ๋ฏธํฐ๋ง๋ค ์๋ฒ ๋ฉ ๋ฒกํฐ(embedding vector)๋ฅผ ์์ฑํ์ฌ ๋ด์ ์ฐ์ฐ์ ์ํํฉ๋๋ค. ์ด ๊ณผ์ ์์ ๊ณ์ฐ๋์ด ๋์ด๋ ์ ์์ง๋ง, ์ํ์ ๋ถํด๋ฅผ ํตํด ๊ณ์ฐ ํจ์จ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
$$\hat{y}(\mathbf{x}) := w_0 + \sum_{i=1}^{n} w_i x_i + \sum_{i=1}^{n} \sum_{j=i+1}^{n} \langle\mathbf{v}_i, \mathbf{v}_j\rangle x_i x_j$$
์ฌ๊ธฐ์ $\langle\mathbf{v}_i, \mathbf{v}_j\rangle$๋ $i$๋ฒ์งธ์ $j$๋ฒ์งธ ํน์ฑ์ ๋ํ k์ฐจ์ ์ ์ฌ ๋ฒกํฐ์ ๋ด์ ์ ์๋ฏธํฉ๋๋ค:
$$W_{ij} = \langle\mathbf{v}i, \mathbf{v}j\rangle = \sum{f=1}^{k} v{i,f} v_{j,f}$$
์ด๋ฌํ ๋ถํด ๋ฐฉ์์ ํตํด FM์ ๊ฐ๋ณ ๋ณ์์ ๊ฐ์ค์น๋ง์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ, factorizing(๋ถํด)์ ํตํด interaction์ ํจ๊ณผ์ ์ผ๋ก ๋ชจ๋ธ๋งํฉ๋๋ค. ์ด๋ก ์ธํด sparsityํ ์ํฉ์์๋ high-order interaction์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ์ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
d-way Factorization Machine
FM์ 2๊ฐ ํน์ฑ ๊ฐ์ ์ํธ์์ฉ๋ฟ๋ง ์๋๋ผ, d๊ฐ ํน์ฑ ๊ฐ์ ์ํธ์์ฉ๋ ๋ชจ๋ธ๋งํ ์ ์๋ d-way Factorization Machine์ผ๋ก ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค. d-way FM ์ญ์ ์ ํ ์๊ฐ์ ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ์ ์งํ์ฌ ํจ์จ์ ์ธ ํ์ต์ด ๊ฐ๋ฅํฉ๋๋ค.
IV. ์คํ ๊ฒฐ๊ณผ ๋ถ์
Factorization Machine์ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํด Netflix ๋ฐ์ดํฐ์ ๊ณผ ๊ฐ์ ๋งค์ฐ sparseํ ํ๊ฒฝ์์ SVM๊ณผ ๋น๊ต ์คํ์ ์งํํ ๊ฒฐ๊ณผ, ํฅ๋ฏธ๋ก์ด ๋ฐ๊ฒฌ์ด ์์์ต๋๋ค.

SVM์ Sparseํ ํ๊ฒฝ์์ ํ์ต์ ์คํจํ ๋ฐ๋ฉด, FM์ ์ฐจ์์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ํ์ต์ด ์์ ์ ์ผ๋ก ์งํ๋์์ผ๋ฉฐ ์์ธก ์ค์ฐจ(RMSE)๊ฐ ์ ์ง์ ์ผ๋ก ๊ฐ์ํ๋ ์ถ์ธ๋ฅผ ๋ณด์์ต๋๋ค. ํนํ ์ ์ฌ ์์ธ์ ์ฐจ์(k)์ด 60 ์ด์์ผ ๋ FM์ ์ฑ๋ฅ์ด ์ต์ ํ๋๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
V. ๊ฒฐ๋ก
Factorization Machine์ SVM๊ณผ Matrix Factorization์ ์ฅ์ ์ ๊ฒฐํฉํ ํ์ ์ ์ธ ์ถ์ฒ ์์คํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ํนํ ์ํ๊ณผ ๊ฐ์ด ๋ค์ํ ํน์ฑ ์ ๋ณด๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ ๋๋ฉ์ธ์์ ํฐ ์ ์ฌ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
FM์ ์ฃผ์ ๊ฐ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํน์ฑ ์ ๋ณด์ ์ ์ฐํ ํตํฉ: ๋ค์ํ ์ ํ์ ์ํ ํน์ฑ ์ ๋ณด๋ฅผ ํ๋์ ๋ชจ๋ธ์ ํตํฉํ ์ ์์ต๋๋ค.
- ํฌ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ: ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ์ํ์ ํ๊ฐํ์ง ์๋ ์ค์ ํ๊ฒฝ์์ ํจ๊ณผ์ ์ผ๋ก ์๋ํฉ๋๋ค.
- ๊ณ์ฐ ํจ์จ์ฑ: ์ ํ ๋ณต์ก๋๋ฅผ ์ ์งํ์ฌ ๋๊ท๋ชจ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํจ์จ์ ์ผ๋ก ํ์ต ๊ฐ๋ฅํฉ๋๋ค.
- ํ์ฅ์ฑ: ๋ค์ํ ํน์ฑ ๊ฐ์ ์ํธ์์ฉ์ ๋ชจ๋ธ๋งํ ์ ์์ด ๋ณต์กํ ์ํ ์ ํธ๋ ํจํด์ ํฌ์ฐฉํ ์ ์์ต๋๋ค.
์์ผ๋ก ๊ฑด๊ฐ๊ณผ ์ฐ๋น์ ๋ํ ๊ด์ฌ์ด ๋์์ง๋ ์๋์, Factorization Machine์ ๊ฐ์ธ์ ๊ฑด๊ฐ ๋ชฉํ์ ์ํ ํน์ฑ์ ๊ณ ๋ คํ ๋ง์ถคํ ์ํ ์ถ์ฒ ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค.
์ฐธ๊ณ ๋ฌธํ:
- Rendle, S. (2010). Factorization machines. In 2010 IEEE International Conference on Data Mining (pp. 995-1000).
- Rendle, S. (2012). Factorization machines with libFM. ACM Transactions on Intelligent Systems and Technology (TIST), 3(3), 1-22.
'Food_Health_AI > ์ถ์ฒ ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Heterogeneous Graph Attention Network์ ์ดํด์ ํ์ฉ (0) | 2025.04.07 |
|---|---|
| ๊ทธ๋ํ ๊ธฐ๋ฐ ์ถ์ฒ ์์คํ : GraphSAGE์ ์๋ฆฌ์ ํ์ฉ (0) | 2025.04.03 |
| ๊ทธ๋ํ ๊ธฐ๋ฐ ์ถ์ฒ ์์คํ (1) | 2025.04.03 |
| DeepFM (0) | 2025.03.30 |