Upload
bui-an-loc
View
512
Download
11
Embed Size (px)
Citation preview
Phương pháp lọc cộng tác
(Collaborative Filtering)
Phương pháp tư vấn dựa vào lọc cộng tác: Người dùng sẽ được tư vấn một số sản phẩm của những người có sở thích giống họ đã từng ưa thích trong quá khứ
2
Ma trận đánh giá của lọc cộng tác
Các thành phần của hệ thống lọc cộng tác
Lọc cộng tác dựa trên mô hình
(Model-Based Collaborative Filtering)
Tập đánh giá người dùng – sản phẩm được sử dụng để xây dựng mô
hình huấn luyện.
Mô hình huấn luyện này sẽ được sử dụng để đưa ra các đự đoán
quan điểm của người dùng về sản phẩm chưa được họ đánh giá
Ưu điểm:
Mô hình huấn luyện có kích thước nhỏ hơn rất nhiều so với ma trận đánh giá
ban đầu
Cho phép thực hiện dự đoán nhanh, do quá trình dự đoán thực hiện trên mô
hình đã học trước đó.
Mô hình chỉ cần cập nhật lại khi có thay đổi lớn và chỉ thực hiện lại pha xây
dựng mô hình
3
Lọc cộng tác dựa trên mô hình
Các kỹ thuật thông dụng
Mô hình mạng Bayes (Bayesian Belief Net)
Phương pháp phân lớp Navie Bayes
Mô hình ngữ nghĩa ẩn (Laten Semantic Model)
Phương pháp phân rã giá trị riêng (Singular Value Decomposition)
Mô hình đồ thị hai phía (Biparties Graph Model)
Phương pháp truy vấn liên tưởng (Association Retrieval)
4
Mô hình mạng Bayes
(Bayesian Belief Net CF)
Ý tưởng:
Là một đồ thị có hướng, không chu trình với
các bộ (N, A, 𝛩), trong đó:
• Mỗi đỉnh n 𝜖 N biểu diễn cho một biến ngẫu nhiên
• Mỗi cạnh a 𝜖 A nối giữa 2 đỉnh là xác suất liên kết
giữa các biến
• 𝛩 là bảng lưu các giá trị xác suất điều kiện
(CPtable) chỉ ra mức độ phụ thuộc giữa 1 đỉnh và
các đỉnh cha (parent) của nó
Thường được áp dụng trong các phép xử lý
phân lớp dữ liệu 5
C
𝑎1 𝑎2 𝑎𝑛
Phương pháp Naïve Bayes Ý tưởng:
Định lý Bayes:
𝑃 𝐻 𝑋 =𝑃(𝑋|𝐻)𝑃(𝐻)
𝑃(𝑋)=
𝑙𝑖𝑘𝑒ℎ𝑜𝑜𝑑 ∗ 𝑝𝑟𝑖𝑜𝑟
𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑖𝑛𝑔_𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡
Trong đó: • X = 𝑥1, 𝑥2, … , 𝑥𝑛 là mẫu cần xem xét, 𝑥𝑖 là thuộc tính thứ i c
• H: là một giả thuyết giả định X thuộc vào vào một lớp C đã biết
• P(H): xác suất tiên nghiệm của H, không phụ thuộc vào X
• P(X): xác suất tiên nghiệm của X, không phụ thuộc vào H
• P(X|Y): xác suất hậu nghiệm của X phụ thuộc điều kiện vào H
Cần xác định P(H|X): là xác suất hậu nghiệm của H phụ thuộc điều kiện vào
X, hay nói cách khác là tính xác suất mẫu X thuộc lớp C khi đã biết các
thuộc tính của X.
Phương pháp Naïve Bayes Công thức:
Xác suất một mẫu X với tập thuộc tính đã biết phụ
thuộc vào một phân lớp Ci:
𝑃 𝐶𝑖 𝑋 = 𝑃 𝑋 𝐶𝑖 𝑃(𝐶𝑖)
𝑃(𝑋)
Công thức xác định xác suất Navie Bayes:
Áp dụng công thức làm mượt xác suất Laplace
(Laplace Estimator):
𝑃 𝑋𝑖=𝑥𝑖 𝑌=𝑦 = #(𝑋𝑖=𝑥𝑖,𝑌=𝑦)+1#(𝑌=𝑦)+|𝑋𝑖|
|𝑋𝑖|: kích thước của tập {𝑥𝑖}
p(5)P(U2 =2| 5)P(U4 =4| 5)P(U5=1|4)
=(2/3)*(1/7)*(1/7)*(1/7)=0.0019
p(4)P(U2 =2| 4)P(U4 =4| 4)P(U5=1|4)
=(1/3)*(1/6)*(2/6)*(1/6)=0.0031
Thuật toán Naïve Bayes
Thuật toán chia làm 2 giai đoạn:
Huấn luyện
Input:
Ma trận đánh giá R[m x n], m là số user trong tập huấn luyện, n là số
item trong tập huấn luyện
Tập nhãn/lớp cho từng vector đặc trưng cho đối tượng cần phân lớp
của tập huấn luyện
Output: xác suất P(Ci) và P(Xk|Ci)
Bước 1: Tính P(Ci)
Bước 2: Tính P(Xk|Ci)
Thuật toán Naïve Bayes
Phân lớp:
Input:
Vector đặc trưng của đối tượng cần phần lớp
Các giá trị xác suất P(Ci) và P(Xk|Ci)
Output: Nhãn/lớp của đối tượng cần phân loại
Bước 1: Tính 𝑃 𝐶𝑖 𝑋 = 𝑃(𝐶𝑖) 𝑃 𝑥𝑘 𝐶𝑖𝑛𝑘=1
Bước 2: Tìm và sắp xếp các giá trị P(Ci|X) theo thứ tự giảm dần
Bước 3: Chọn nhãn/lớp Ci có giá trị xác suất lớn nhất để phân lớp cho
đối tượng cần phân loại.
Mô hình ngữ nghĩa ẩn
(Latent Factor Model)
• Ý tưởng:
– Các tham biến ẩn thường ảnh hưởng nhiều đến việc xác định giá
trị ước lượng của người dùng đối với sản phẩm, tuy nhiên thông
thường các yếu tố ẩn này không rõ ràng để phát hiện trong dữ liệu
đánh giá ban đầu
– Dựa vào kỹ thuật lọc thống kê, trong đó các tham biến ẩn được
thiết lập trong một mô hình hỗn hợp để khám phá ra cộng đồng
người dùng phù hợp với mẫu hồ sơ thích hợp.
Phát hiện ngữ nghĩa ẩn dựa trên kỹ thuật phân
rã giá trị riêng (SVD)
A = 𝑈 𝑉𝑇 , ℎ𝑎𝑦 𝐴 = 𝜎𝑖𝑢𝑖𝑟𝑖=1 𝑣𝑖
𝑇
– A: ma trận đánh giá user-item, kích thước mxn
– U: là các vector đặc trưng (eigenvector) của ma trậng 𝐴𝐴𝑇
– V: là các vector đặc trưng (eigenvector) của ma trân 𝐴𝑇𝐴
– : ma trận đường chéo kích thước rxr với các giá trị trên
đường chéo là các trị đặc trưng (𝜎𝑖>0) của ma trận 𝐴𝐴𝑇 tương ứng với các vector đặc trưng trong U và V. Các giá
trị này được sắp xếp theo thứ tự giảm dần.
A mxn
U n x r
:
r x r
𝑉𝑇 r x m
=
Phát hiện ngữ nghĩa ẩn dựa trên kỹ thuật phân
rã giá trị riêng (SVD)
• Lựa chọn k giá trị đặc trưng lớn nhất,
khi đó xác định được ma trận 𝐴𝑘 gần
đúng nhất so với A :
• A và 𝐴𝑘 thõa mãn chuẩn Frobenius như
sau:
𝐴𝑘 = 𝑈𝑘 𝑉𝑘𝑇
𝑘 , hay 𝐴𝑘 = 𝜎𝑖𝑢𝑖𝑘𝑖=1 𝑣𝑖
𝑇
𝐴 − 𝐴𝑘 𝐹 = 𝜎2𝑖
min {𝑚,𝑛}𝑖=1 = 𝑎𝑖𝑗
2𝑛𝑗=1
𝑚𝑖=1
Phát hiện ngữ nghĩa ẩn dựa trên kỹ thuật phân
rã giá trị riêng (SVD)
Dự đoán đánh giá của người dùng i-th trên sản phẩm j-th là 𝑃𝑖𝑗:
Folding-in SVD theo Sarwar (5): 𝑃 = 𝑈𝑘 × 𝑈𝑇𝑘 × 𝑁𝑢
𝑃𝑖𝑗 = 𝑟𝑖 + 𝑈𝑘. 𝑆𝑘𝑇𝑖 . 𝑆𝑘 . 𝑉𝑘
𝑇 𝑗
Lọc cộng tác dựa trên mô hình đồ thị
hai phía (Biparties Graph)
• Ý tưởng: – Lọc cộng tác có thể xem xét như bài toán tìm kiếm đường đi trên
đồ thị hai phía dựa trên biểu diễn mối quan hệ đánh giá của người
dùng đối với các sản phẩm
• Phương pháp biểu diễn đồ thị: – R=(𝑟𝑖𝑗): ma trận đánh giá đầu vào
– X=(𝑥𝑖𝑗): ma trận cấp NxM với 𝑥𝑖𝑗 xác định bởi:
𝑥𝑖𝑗= 1, 𝑛ế𝑢 𝑟𝑖𝑗 ≠ ∅
0, 𝑛ế𝑢 𝑛𝑔ượ𝑐 𝑙ạ𝑖
Lọc cộng tác dựa trên mô hình đồ thị hai phía
(Biparties Graph)
• Phương pháp biểu diễn:
– G=(V,E): đồ thị đánh giá của người dùng đối với sản phẩm theo ma trận X
• Tập đỉnh V = U ∪ P: U tập người dùng; P tập sản phẩm
• Tập cạnh E: tập các cạnh biễu diễn đánh giá người dùng đối với sản phẩm
• Cạnh nối giữa đỉnh 𝑢𝑖 𝜖 𝑈 và đỉnh 𝑝𝑗 𝜖 𝑃 được thiết lập nếu người dùng 𝑢𝑖 đã
đánh giá sản phẩm 𝑝𝑗 (𝑥𝑖𝑗=1)
• Trọng số mỗi cạnh được lấy tương ứng là 𝑟𝑖𝑗
Lọc cộng tác dựa trên mô hình đồ thị hai phía
(Biparties Graph)
Ma trận 𝑿𝒊𝒋: Ma trận đánh giá 𝑹𝒊𝒋:
Đồ thị Người dùng – Sản phẩm:
p3 p1 p2 p4
u3 u1 u2
Người
dùng
Sản phẩm
p1 p2 p3 p4
u1 0 1 0 1
u2 0 1 1 1
u3 1 0 1 0
Người
dùng
Sản phẩm
p1 p2 p3 p4
u1 𝜙 3 𝜙 4
u2 𝜙 2 3 5
u3 4 𝜙 3 𝜙
Đường tư vấn trực tiếp giữa 2 người dùng: u1p2u2 Đường tư vấn gián tiếp giữa 2 người dùng:
u1p2u2p3u3p1 Độ tương tự trực tiếp Độ tương tự gián tiếp
Lọc cộng tác dựa trên mô hình đồ thị hai phía
(Biparties Graph)
• Phương pháp truy vấn liên tưởng (Association Retrieval):
– Phương pháp dự đoán 𝑟𝑖𝑗:
𝑟𝑖𝑗 = 𝑎𝑖𝑗𝑐𝑖,𝑐𝑗∈𝑐 𝑛𝑐 𝑛∈𝐶
– Phương pháp tính ma trận tương tự trực tiếp:
• Tính độ tương tự giữa 2 người dùng:
𝑠𝑖𝑚_𝐾(𝑖𝑗) =
max 𝑅 −|𝑟𝑖𝑘 − 𝑟𝑗𝑘 |
max (𝑅), nếu 𝑟𝑖𝑘 và 𝑟𝑗𝑘 𝑘ℎá𝑐 0
0, 𝑛ế𝑢 𝑛𝑔ượ𝑐 𝑙ạ𝑖,
• Tính các phần tử 𝑎𝑖𝑗 của ma trận tương tự trực tiếp 𝐴𝑠𝑖𝑚:
𝑎𝑖𝑗 = 𝑠𝑖𝑚𝑚𝑘=1 _𝐾(𝑖𝑗)
m,nếu i ≠ 𝑗
1, 𝑛ế𝑢 𝑖 = 𝑗
R={0,1,2,3,4,5}
m=4: số lượng sản phẩm
Sim_2(12) = 0.8
Sim_4(12)=0.8
aij = (0.8 + 0.8)/4 = 0.4
𝐴𝑠𝑖𝑚 = 1 0.4 00.4 1 0.250 0.25 1
Lọc cộng tác dựa trên mô hình đồ thị hai phía
(Biparties Graph)
• Phương pháp truy vấn liên tưởng:
– Phương pháp dự đoán 𝑟𝑖𝑗:
𝑟𝑖𝑗 = 𝑎𝑖𝑗𝑐𝑖,𝑐𝑗∈𝑐 𝑛𝑐 𝑛∈𝐶
– Phương pháp tính ma trận tư vấn:
𝑀𝑎𝑡𝑟𝑖𝑥_𝑅𝑀= 𝑅, 𝑛ế𝑢 𝑀 = 1
𝑋. 𝑋𝑇. 𝐴𝑠𝑖𝑚. 𝑀𝑎𝑡𝑟𝑖𝑥_𝑅𝑀−2, 𝑛ế𝑢 𝑀 = 3,5,7, …
𝑀𝑎𝑡𝑟𝑖𝑥_𝑅3 = 0.0000 7.6000 2.4000 12.00001.0000 8.4000 9.7500 18.20008.0000 0.5000 6.7500 1.2500
𝑀𝑎𝑡𝑟𝑖𝑥_𝑅5 = 0.8000 21.9200 12.6000 38.56005.0000 31.4050 32.8575 64.512516.2500 3.1000 15.9375 7.0500
Matrix_R3 (u1,p3) = 2.4
Matrix_R5 (u1,p1) = 0.8
𝐴𝑠𝑖𝑚 = 1 0.4 00.4 1 0.250 0.25 1
X
Lọc cộng tác dựa trên mô hình đồ thị hai phía
(Biparties Graph)
Thuật toán phương pháp truy vấn liên tưởng:
Input: ma trận đánh giá R, chiều dài của đường đi trên đồ thị hai phía M (M
luôn lẻ)
Output: Ma trận tư vấn
Bước 1: Xây dựng ma trận X từ ma trận R, nếu rij khác 0 thì Xij = 1
Bước 2: Thiết lặp bước lặp N = 1
Bước 3: Khởi tạo ma trận tư vấn Matrix_Rn = R
Bước 4: Tính ma trận tương tự trực tiếp Asim
Bước 5: Tính ma trận hoán vị XT của X
Bước 6: Tính ma trận Matrix_RM
Bước 7: Nếu N+2<M thì N=N+2, quay lại Bước 3. Thực hiện cho đến khi N
> M.
Lọc cộng tác dựa trên mô hình đồ thị hai phía
(Biparties Graph)
Đánh giá trên tập MoviLens 100K so với phương pháp
Pearson & Cosin:
Tổng kết
Phân loại lọc cộng tác
Các kỹ thuật áp dụng Ưu điểm, thuận lợi Các hạn chế chính
Lọc cộng tác dựa trên mô hình
(Model-Based CF)
Bayesian belief nets CF
Clustering CF
MDP-based CF
Latent Semantic CF
Sparse factor Analysis
Lọc cộng tác sử dụng các
kỹ thuật rút gọn không
gian ma trận như SVD,
PCA
Mô hình đồ thị hai phía
Xử lý tốt hơn các vấn
đề của Lọc cộng tác
như dữ liệu thưa, khả
năng xử lý dữ liệu lớn
và các vấn đề khác
Hiệu suất xử lý dự đoán
tốt hơn
Cung cấp một cơ sở
khách quan hơn với các
kết quả tư vấn
Chi phí tốn kém trong quá
trình xây dựng mô hình
Phải lựa chọn giữa hiệu
suất dự đoán và độ lớn
dữ liệu xử lý
Mất mát thông tin trong
quá trình xử lý khi áp
dụng các kỹ thuật rút gọn
bậc ma trận
Tài liệu tham khảo
1. K. Ming Leung, “Navie Byesian Classifier”, November 28, 2007
2. Xiaoyuan Su, Taghi M. Khoshgoftaar, “Collaborative Filtering for Multi-class Data Using Belief Nets
Algorithms”
3. Kirk Baker, “Singular Value Decomposition Tutorial”, March 29, 2005 (Revised January 14, 2013)
4. Alan Kaylor Cline, Indefjit S.Dhillon, “Computation of the Singular Value Decomposition”
5. Badrul Sarwal, George Karypis, Joseph Konstan, and John Riedl, “Incremental Singular Value
Decomposition Algorithms for Highly Scalable Recommender System”
6. Michael Percy, “Collaborative Filtering for Netflix”, Dec 10, 2009
7. YiBo Chen, ChanLe Wu, Ming Xie and Xiaojun Guo, “Solving the Sparsity Problem in Recommender
Systems Using Association Retrieval”, © 2011 ACADEMY PUBLISHER
8. Xiaoyuan Su and Taghi M.Khoshgoftaar, “A survey of Collaborative Filtering Techniques”, August 3, 2009