Mô hình Bayes

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật phân tích ma trận trong các hệ thống khuyến nghị (Trang 30 - 40)

Trong đó, các node biểu diễn biến ngẫu nhiên C, cùng tập các vector đầu vàoX1, X2,· · · , Xm

2.4 Các cách tiếp cận liên quan trong hệ thống khuyến nghị 21

trịxkhi biết rằngC có giá trị c. Những xác suất này được tính theo công thức dưới đây:

P(C =c) = 1 N N X i=1 δ(ci, c) (2.13) P(Xj =x|C =c) = PN i=1δ(xij, x)δ(ci, c) P x PN i=1δ(xij, x)δ(ci, c) (2.14) cq =arg maxcP(C =c)Y j P(Xj =xqj|C =c) (2.15) Để áp dụng mô hình Bayes vào việc dự đoán, xét các huấn luyện học máy với sản phẩmy

bằng việc sử dụng tất cả người dùng utrên tập dữ liệu. Vector đầu vào cho học máy với mỗi sản phẩmybao gồm tất cả những đánh giá của trên những sản phẩm còn lại. Chúng ta đặt sản phẩmy là biến ngẫu nhiên, các sản phẩm còn lại là tập thuộc tính. Chúng ta có công thức Bayes: P(Ry =v) = 1 N +V 1 + N X u=1 δ(ryu, v) ! (2.16) P(Rj =w|Ry =v) = 1 + PN u=1δ(ruj, w)δ(ryu, v) V +PV w=1δ(ru j, w)δ(ru y, v) (2.17)

Để thực hiện dự đoán cho mô hình Bayes cần tính toánP(Ry =v)vàP(Rj =w|Ry =v). Luật học của mô hình Bayes được trình bày trong công thức (2.13) và (2.14) có thể được áp dụng mà không cần thay đổi gì, nhưng để tránh những trường hợp xác suất bằng 0. Luật học cần được sửa đổi, và chúng ta có 2 công thức như của (2.16) và (2.17). Từ đó 2 thuật toán được xây dựng là NBClass - Learn và NBClass - Predict được áp dụng trong lọc cộng tác.

2.4 Các cách tiếp cận liên quan trong hệ thống khuyến

nghị

Hệ thống biểu diễn các đánh giá của người dùng cho các bộ phim qua ma trận m

người dùng và n bộ phim. Chúng ta dùng các ký tự để phân biệt người dùng và các mục tin:u, v (đại diện cho người dùng), i, j(đại diện cho các bộ phim). Ký hiệurui để chỉ mức độ thích của người dùngucho một bộ phim inào đó, giá trị này trong khoảng từ 1 đến 5 đối với dữ liệu MovieLens,rbui là dự đoán đánh giá của người dùng u cho bộ phim i. Nếu chúng ta sử dụng dữ liệu MovieLens 100K với 943 người dùng, 1682 bộ phim, mỗi người dùng đánh giá ít nhất 20 bộ phim, như vậy mật độ của ma trận đánh giá chỉ có 6.3%; trường hợp này còn gọi là vấn đề thưa thớt dữ liệu trong lọc cộng tác. Để đối phó với vấn đề "học vẹt" khi dữ liệu thưa, chúng ta sử dụng các hằng số regularization(λ1, λ2, λ3,· · ·)

trên từng tham số khác nhau. Giá trị tốt nhất của các hằng số này được xác định thông qua nghi thức kiểm tra chéo.

2.4.1 Ước lượng cơ sở (Baseline Estimates)

Dữ liệu lọc cộng tác ảnh hưởng lớn đến người dùng và các mục tin (phần tử); đó là có vài người dùng đánh giá cao hơn những người khác và cho các phần tử nhận được đánh giá cao hơn những phần tử khác, thường được khắc phục bằng ước lượng cơ sở sau:

bui =µ+bu+bi (2.18)

Trong đó:

bui: giá trị đánh giá ước lượng

µ: là giá trị đánh giá trung bình của người dùng trên toàn bộ các đánh giá của ma trận

m×n.

bu: là giá trị phương sai của các đánh giá của người dùng u.

bi: là giá trị phương sai của các đánh giá trên sản phẩm i.

Ví dụ, chúng ta muốn ước lượng đánh giá của người dùng “Trung” cho bộ phim “Chúa tể của những chiếc nhẫn” (Lord of the rings - LoR), với trung bình xếp hạng trên tất cả bộ phim là µ= 4.5. Mặt khác, trung bình các đánh giá của LoR có xu hướng cao hơn µ là

bi = 0.2 và trung bình các đánh giá của “Trung” thấp hơn µ là bu = 0.5. Như vậy, bui sẽ là4.2(4.5−0.5 + 0.2) với cặp (Trung, LoR).

2.4.2 Mô hình láng giềng (Neighborhood models)

Nhiều hệ thống vẫn còn tin cậy để sử dụng tiếp cận này, hình thức trước đây của nó là mô hình user - based CF được tác giả phân tích rõ ràng trong tài liệu [18]. Phương pháp này dự đoán các đánh giá bằng cách dựa trên việc ghi nhận lại những người dùng có cùng sở thích. Một cách tiếp cận khác cũng dựa trên độ tương tự nhưng làm việc với các mục tin thay vì người dùng, một đánh giá được ước lượng thông qua các đánh giá đã biết của cùng người dùng trên các mục tin tương tự. Item - based CF thì được sử dụng nhiều hơn nhờ vào khả năng mở rộng và cải tiến được độ chính xác của nó [20], [21].

Linden.C [19] đã đề cập các kỹ thuật chung nhất của hệ thống gợi ý, rồi phân tích các đặc điểm quan trọng và xác định độ phức tạp về thời gian của chúng. Như kỹ thuật user - based CF, Linden.C cho rằng mô hình dạng này vấp phải vấn đề chi phí thời gian khi gợi ý, do đối mặt với nguồn dữ liệu lớn (hơn 10 triệu khách hàng, hơn 1 triệu phần tử). Ngoài ra trong [19] tuy sử dụng item - based CF nhưng không xây dựng ma trận item - item, do nhiều cặp phần tử không có những khách hàng chung, hao tốn về thời gian xử lý, cũng như không gian bộ nhớ lưu trữ. Nhóm tác giả đã xây dựng giải thuật tìm các phần tử gợi ý bằng cách tìm độ tương tự của một phần tử i(đã được khách hàng mua hoặc đánh giá - người dùng cần gợi ý) với tập các phần tử i0 trongR có liên quan với nó (lịch sử những khách hàng đã mua hoặc đánh giá i mà cũng mua i0 ∈ R), rồi gợi ý các phần tử phổ biến hoặc tương quan nhất. Tiếp cận này gọi tóm tắt là tìm các phần tử mà khách hàng có xu hướng mua cùng nhau.

2.5 Khó khăn và thách thức trong lọc cộng tác 23

là phải đối mặt những gợi ý "hộp đen - black box"; xử lý được các đánh giá mới,có khả năng cung cấp lời gợi ý ngay lập tức với Item - based CF.

Tuy nhiên, Bell and Koren [20] đã nhấn mạnh vài điểm đáng chú ý về mô hình láng giềng. Một câu hỏi đặt ra của họ là tính phù hợp của độ đo tương tự khi chỉ cô lập cho 2 mục tin mà không phân tích trên một tập đầy đủ các láng giềng. Để khắc phục khó khăn này, các tác giả đã xây dựng một phương pháp láng giềng mới mà cần phải tính các trọng số thêm vào mô hình như sau:

b

rui =bui+ X

j∈Sk(i,u)

θuij(ruj −buj) (2.19) Chi tiết hơn về mô hình mới này có thể xem trong tài liệu [20]. Mô hình này được tác giả cải tiến với trọng số quan hệ giữa các phần tử không phụ thuộc vào người dùng cụ thể, cải tiến về độ phức tạp và khả năng tận dụng các thông tin đầu vào với tiếp cận nhân tố trong mô hình láng giềng.

2.4.3 Mô hình nhân tố ẩn (Latent factor models)

Tiếp cận phổ biến gần đây của mô hình này là phân giải giá trị đơn (Singular Value Decomposition - SVD) nhờ vào sự hấp dẫn về độ chính xác đạt được và khả năng mở rộng hệ thống. Ngoài ra, phân tích ma trận (Matrix Factorization - MF) hiện đang phát triển rất mạnh với khả năng dự đoán cho lỗi rất thấp.

Đối với mô hình phân tích ma trận cơ bản thì chỉ có một quan hệ giữa 2 thực thể chính cần dự đoán được xem xét, do vậy thiếu độ chính xác dự đoán trong toàn bộ lĩnh vực thực nghiệm [23]. Từ đó, nghiên cứu trong [24] cố gắng cải tiến tiếp cận phân tích ma trận cơ bản với nhiều hướng mở rộng khác nhau của việc cực đại hóa biên trong phân tích ma trận (Maximum Margin Matrix Factorization - MMMF), nghiên cứu trong [25] cũng cố gắng phối hợp thông tin nội dung trực tiếp như ràng buộc tuyến tính vào tiếp cận phân tích ma trận.

Trong chương tiếp theo, chúng ta sẽ đi sâu vào nghiên cứu một phương pháp hiệu quả cho mô hình nhân tố ẩn dựa trên kỹ thuật phân tích ma trận.

2.5 Khó khăn và thách thức trong lọc cộng tác

Các thuật toán khuyến nghị trong thương mại điện tử thường hoạt động trong một môi trường mang tính thách thức, đặc biệt là trong các công ty mua sắm trực tuyến lớn như eBay, Amazon. Thường thì một hệ thống khuyến nghị với các giải pháp nhanh chóng và chính xác sẽ thu hút sự thích thú của khách hàng và mang lại lợi nhuận cho các công ty. Đối với các hệ thống lọc cộng tác, việc đưa ra những dự báo hay các gợi ý chất lượng cao phụ thuộc vào khả năng xác định tối đa các thách thức của chúng, đây cũng chính là các đặc trưng của các nhiệm vụ của lọc cộng tác.

2.5.1 Sự thưa thớt dữ liệu

Trong thực tế, rất nhiều hệ thống khuyến nghị thương mại được sử dụng để đánh giá hàng loạt các sản phẩm rất lớn. Vì vậy, ma trậnUser – Item được sử dụng trong lọc cộng tác sẽ cực kỳ thưa thớt và hiệu suất thành công cho các dự đoán hay gợi ý của hệ thống lọc cộng tác đưa ra trở thành một thách thức lớn.

Các thách thức về sự thưa thớt dữ liệu thường xuất hiện trong nhiều tình huống, đặc biệt vấn đềkhởi động lạnh (Cold start)diễn ra khi một người dùng mới hay sản phẩm mới vừa được thêm vào hệ thống và việc tìm những sự tương đồng thật khó khăn vì không đủ thông tin. Trong một vài trường hợp, vấn đề Cold start còn được gọi là vấn đề người dùng mới hay vấn đề sản phẩm mới. Các sản phẩm mới không thể được đưa vào hệ thống nếu không có người dùng nào đánh giá chúng, và người dùng mới không thể có sự gợi ý tốt nếu thiếu trọng số hoặc bản liệt kê về những đánh giá hay mua sắm trước đây của họ. Độ bao phủ được định nghĩa như là phần trăm của các sản phẩm thuật toán cung cấp để đưa ra khuyến nghị. Vấn đề giảm độ bao phủ xảy ra khi số lượng các đánh giá của người dùng có thể nhỏ hơn so với số lượng các sản phẩm trong hệ thống và hệ thống khuyến nghị không có khả năng sinh ra khuyến nghị cho họ. Neighbor transitivity (tính tịnh tiến láng giềng) đề cập tới vấn đề về cơ sở dữ liệu thưa thớt. Ở đó, những người dùng với thị hiếu tương tự nhau không được xác định nếu họ không cùng đánh giá về các sản phẩm giống nhau. Vấn đề này đã làm giảm hiệu năng của hệ thống khuyến nghị dựa vào sự so sánh từng cặp giữa các người dùng từ đó sinh ra các dự đoán.

Để giảm bớt vấn đề thưa thớt dữ liệu, có rất nhiều phương pháp được đưa ra. Kỹ thuật giảm số chiều SVD là một trong số đó. Nhiệm vụ chính của kỹ thuật này là bỏ qua người dùng hoặc sản phẩm không tiêu biểu và không quan trọng để giảm chiều của ma trận User – Item một cách trực tiếp. LSI (Latent Semantic Indexing) được sử dụng trong vấn đề truy vấn thông tin đã rất thành công khi tính toán dựa trên SVD để tìm ra độ tương tự giữa các người dùng thông qua việc biểu diễn họ trong không gian đã giảm chiều. Bên cạnh đó,Goldberg et al đã phát triểneigentaste áp dụng PCA (Principle Component Analysis), một kỹ thuật phân tích hệ số có liên hệ gần gũi nhau được mô tả đầu tiên bởiPearson vào năm 1901 nhằm giảm số chiều không gian. Tuy nhiên, một khi người dùng hoặc sản phẩm nào đó bị loại bỏ thì những thông tin hữu ích cho việc khuyến nghị liên quan đến họ cũng bị loại mất và chất lượng khuyến nghị có thể bị giảm xuống. Thuật toán lọc cộng tác lại hay còn gọi là thuật toánContent – Boosted Collaborative Filtering rất hữu ích trong việc giải quyết vấn đề thưa thớt bởi ở đó thông tin nội dung mở rộng được dùng để tìm ra những dự đoán cho người dùng hoặc sản phẩm mới. Trong

Ziegler et al, một phương pháp lọc cộng tác lai đã được đưa ra nhằm khai thác thông tin phân loại chính cho các sản phẩm cần phân loại chính xác và nó thường được dùng trong các vấn đề thưa thớt dữ liệu của các hệ thống khuyến nghị lọc cộng tác, dựa trên các hồ sơ cá nhân được tạo ra nhờ sự suy luận của điểm được ghi trong các chủ thể con và trong sự đa dạng của chủ đề.Schein et al cũng đã đưa ra phương thức biến ẩn của mô hình khía cạnh cho vấn đề khởi động lạnh. Đây chính là sự kết hợp giữa thông tin cộng

2.5 Khó khăn và thách thức trong lọc cộng tác 25

đề khởi động lạnh, các sản phẩm được sắp xếp thành các nhóm và những dự đoán người dùng tạo ra được xem là sự phân loại Gausian với trọng số đánh giá tương ứng.

Thuật toán lọc cộng tác dựa trên mô hình nhưTAN – ELRtập trung vào vấn đề thưa thớt thông qua việc cung cấp nhiều hơn những dự đoán chính xác cho dữ liệu thưa thớt. Một vài kỹ thuật lọc cộng tác dựa trên mô hình mới được đưa ra bao gồm kỹ thuật truy vấn liên kết, áp dụng với thuật toán hạt hóa mở rộng nhằm khai thác sự liên kết bổ sung giữa những người dùng nhờ trọng số đánh giá và các bản tiểu sử của họ.

2.5.2 Khả năng mở rộng

Khi số người dùng và sản phẩm ngày càng tăng, thuật toán lọc cộng tác truyền thống sẽ gặp phải vấn đề nghiêm trọng về khả năng mở rộng, với một lượng tính toán vượt mức thực hành cho phép. Chẳng hạn với 10 triệu người dùngM và hàng triệu sản phẩm khác nhauN, thuật toán lọc cộng tác với động tính toán là O(n)sẽ là quá lớn. Tương tự như vậy, với nhiều hệ thống yêu cầu ngay lập tức đưa ra kết quả (ví dụ như: yêu cầu trực tuyến) và khuyến nghị cho tất cả khách hàng mà không hề quan tâm để việc trao đổi cũng như trọng số đánh giá trước đây của họ. Điều đó đòi hỏi khả năng mở rộng lớn của một hệ thống lọc cộng tác.

Kỹ thuật giảm số chiều như SVD có thể giải quyết vấn đề này và cung cấp khuyến nghị cho chất lượng tốt, nhưng chúng trải qua những bước tính toán thừa số ma trận rất phức tạp. Một thuật toán lọc cộng tác cải tiến SVD ++ tính toán lại số chiều SVD

sử dụng những người dùng đã có sẵn. Khi có một tập trọng số đánh giá mới được thêm vào cơ sở dữ liệu, thuật toán sử dụng kỹ thuật lấp đầy để xây dựng hệ thống cải tiến mà không cần tính toán lại mô hình có chiều thấp hơn từ vạch xuất phát. Vì vậy, nó tạo ra hệ thống khuyến nghị có khả năng mở rộng cao.

Thuật toán lọc cộng tác dựa trên mô hình, như thuật toán độ tương quan Pearson

trên sản phẩm có thể đạt được khả năng mở rộng thích hợp. Thay vì việc tính toán độ tương tự giữa tất cả các cặp sản phẩm, lọc cộng tác Pearson dựa trên sản phẩm tính toán độ tương tự chỉ giữa những cặp sản phẩm có liên quan đến nhau của cùng một người dùng. Một thuật toán lọc cộng tácBayes đơn giản cũng giải quyết vấn đề mở rộng thông qua việc đưa ra những dự đoán dựa trên trọng số có sẵn. Thuật toán lọc cộng tác dựa trên mô hình ví dụ như clustering tập trung vào vấn đề mở rộng tại vị trí mà các cụm có độ tương tự cao và có ít khuyến nghị cho người dùng hơn thay vì trên toàn bộ cớ sở dữ liệu, nhưng cũng cần phải cân bằng giữa hiệu suất mở rộng và dự đoán.

2.5.3 Tính đồng nghĩa

Tính đồng nghĩa đề cập đến số những sản phẩm giống hoặc rất tương tự nhau chỉ khác nhau về tên hoặc mục từ. Hầu hết các hệ thống khuyến nghị không có khả năng khám phá ra mối liên quan về mặt ngữ nghĩa này vì vậy nghiên cứu về những sản phẩm này là rất khác nhau. Chẳng hạn, nếu nhìn vào hai sản phẩm có tên như sau "children movie" và "children film", thực tế đây là hai sản phẩm giống nhau, nhưng các hệ thống lọc cộng tác lại đưa kết quả không khớp giữa chúng khi tính toán độ tương tự. Thật ra,

độ biến thiên trong cách dùng thuật ngữ mô tả nói chung rất lớn. Vì vậy, tính phổ biến của từ đồng nghĩa làm giảm hiệu suất của các hệ thống khuyến nghị lọc cộng tác.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật phân tích ma trận trong các hệ thống khuyến nghị (Trang 30 - 40)

Tải bản đầy đủ (PDF)

(65 trang)