Ở đây chúng tôi tóm lược 3 mô hình gợi ý có kết quả tốt được công bố gần đây với nhóm phân rã ma trận không sử dụng thông tin sản phẩm, đại diện lần lượt làWeighted Matrix Factorization - WMF [11] Hierarchical Poisson Factorization - HPF [7], và nhóm kết hợp thông tin sản phẩm và phân rã ma trận với đại diện là Collaborative Topic Model for Poisson distributed ratings (CTMP) [18].
Những mô hình này sẽ được dùng để đối sánh kết quả với mô hình đề xuất trong phần thực nghiệm.
3.1.1 Mô hình gợi ý dùng rã ma trận Gaussian dùng trọng số - WMF
Weighted Matrix Factorization (WMF) là phương pháp lọc cộng tác dựa trên phân rã ma trận Gauss được đề xuất bởi Yifan Hu và cộng sự [11]. WMF tập trung vào các tương tác ngầm định và sau đó chuyển về tương tác nhị phân:
pui=
1, rui >0 0, rui = 0
Trên thực tế, các tương tác có nhiều mức độ, chẳng hạn đánh giá theo thang từ 1-5 hay thời gian đọc một bài báo, vì vậy WMF đưa thêm một trọng số (weight) xác định độ tin cậy của tương tác nhị phân tương ứng được mã hóa:
cui= 1 +ρrui
Thuật toán 1 Thuật toán học cho mô hìnhW M F Input: Dữ liệu quan sát , siêu tham sốR ρ, λU, λV
Output: Ước lượngβi, θu
Khởi tạo ,β θ repeat
foru=1:Udo
Cập nhậtθutheo công thức 3.1 end for
fori=1:Ido
Cập nhậtβi theo công thức 3.2 end for
untilhội tụ
Trong đó quyết định độ gia tăng của độ tin cậy theo giá trị của tương tác .ρ c r
Lúc này đặtCi là ma trận đường chéo kích thước U ×U sao choCuui = cui và Cu là ma trận đường chéo kích thướcI×I sao choCiiu= cui, thay giá trị của c vào hàm mục tiêu ở công thức 2.14 và tính đạo hàm, ta được công thức cập nhật mới tương tự như ở phần 2.4.2:
θu= (βCuβT +λUIK)−1βru (3.1) βi= (θCiθT+λIIK)−1θri (3.2)
3.1.2 Mô hình gợi ý dùng phân rã ma trận Poisson phân cấp - HPF
Nghiên cứu sử dụng mô hình Poisson phân cấp (Hierarchical Poisson Factorization - HPF )được đề xuất trong nghiên cứu của Gopalan và cộng sự [7]. Khác với phân rã ma trận Poisson ở phần 2.4.3, HPF sử dụng các mức phân cấp choθu vàβi. Cụ thể, ở mức phân cấp thứ nhất (Hình 3.1), ta thêm các giả thiết về phân phối xác suất theo hàm Gammavới tham số shape, rate:
p β( ik|a, b) ∼Gamma a, b( ) p θ( uk|c, d) ∼Gamma c, d( )
Vẫn tiếp tục sử dụng biến phụ , nhưng lúc này phân phối biến phân lúc này có dạng:z q β, θ, z( ) =Y
i,k
q β( ik|ζik)Y
u,k
q θ( uk|γuk)Y
u,i
q z( ui|φui) (3.3)
βi rui θu
a
b
c
d
I U
Hình 3.1: Mô hình gợi ý dùng phân rã ma trận Poisson với phân cấp mức 1
Với các thành phần:
q β( ik|ζik) ∼Gamma ζ( shpik , ζrteik ) q θ(uk|γuk∼Gamma γ( ukshp, γukrte) q z( ui|φui) ∼Multinomial φ( ui) Lúc này ta có công thức cập nhật của các biến:
φui∝exp Ψ(γ{ shpuk )−logγukrte+ Ψ(ζikshp)−log(ζikrte)} γshpuk = +c
XI
i=1
ruiφuik
γukrte= +d XI
i=1
ζshpik /ζikrte
ζshpik = +a XU
u=1
ruiφuik
ζikrte= +b XU
u=1
γshpuk /γukrte Và công thức tính các giá trị thuộc tính:
θuk= γukshp/γukrte βik= ζikshp/ζikrte
Ở mức phân cấp thứ 2, các tham số rate b,d lần lượt được thêm giả thiết về phân phối xác suất (Hình 3.2)
bi∼Gamma a( 0, a0/b0) du∼Gamma c( 0, c0/d0) Lúc này mô hình sinh được mô tả như sau:
1. Cho mỗi sản phẩm :i
(a) Lấy mẫubi ∼Gamma a( 0, a0/b0)
(b) Cho mỗi thành phần , lấy mẫu:k βik∼Gamma a, b( i) 2. Cho mỗi người dùng :u
(a) Lấy mẫudu∼Gamma c( 0, c0/d0)
(b) Cho mỗi thành phần , lấy mẫu:k θuk ∼Gamma c, d( u)
3. Cho mỗi cặp người dùng và sản phẩmu, i, lấy mẫu giá trị tương tác:rui∼P oisson β( Tiθu)
βi rui θu
a
bi
a0
a0/b0
c
du
c0
c0/d0
I U
Hình 3.2: Mô hình gợi ý dùng phân rã ma trận Poisson với phân cấp mức 2
Lúc này phân phối biến phân có dạng:
q β, θ, b, d, z( ) =Y
i,k
q β( ik|ζik)Y
u,k
q θ( uk|γuk)Y
i
q b( i|κi)Y
u
q d( u|τu)Y
u,i
q z(ui|φui) Với hai thành phần mới:
q b( i|κi) ∼Gamma κ( shpi , κrtei ) q d( u|τu∼Gamma τ( ushp, τurte)
Tiếp tục sử dụng suy diễn biến phân, với các giá trị tham số:
κshpi = a0+Ka τushp = c0+Kc
Ta được công thức cập nhật mới:
Thuật toán 2 Thuật toán học cho mô hìnhHP F Input: Dữ liệu quan sát , siêu tham sốR a, c, a0, b0, c0, d0 Output: Ước lượngγshp,γrte,ζshp,ζrte
repeat
foru, i, rui>0do
Cập nhậtφuitheo công thức 3.11 end for
foru= 1 : U, k= 1 : K do
Cập nhậtγshpuk bằng công thức 3.5 Cập nhậtγrteuk bằng công thức 3.6 Cập nhậtτurte bằng công thức 3.7 end for
fori= 1 : I, k= 1 : K do
Cập nhậtζikshptheo công thức 3.8 Cập nhậtζikrte theo công thức 3.9 Cập nhậtκrtei theo công thức 3.10 end for
untilhội tụ
φui∝exp Ψ(γ{ shpuk )−logγukrte+ Ψ(ζikshp)−log(ζrteik )} (3.4) γshpuk = +c
XI
i=1
ruiφuik (3.5)
γukrte= τushp
τurte + XI
i=1
ζikshp/ζikrte (3.6)
τurte= c0 d0+X
k
γukshp
γukrte (3.7)
ζshpik = +a XU
u=1
ruiφuik (3.8)
ζikrte= κshpi κrtei +
XU
u=1
γukshp/γukrte (3.9)
κrtei = a0 b0 +X
k
ζikshp
ζrteik (3.10)
Tổng hợp lại ta có thuật toán học cho mô hình phân cấp Poisson HPF như ở thuật toán 2.