2 ỨNG DỤNG HỌC MÁY TRONG HỆ GỢI Ý
2.4.1 Phân cụm dữ liệu trong hệ gợi ý
Chúng tôi sử dụng thuật toán k-Means để phân cụm người dùng, mỗi cụm chứa các người dùng có sở thích tương tự nhau. Các bước cài đặt hệ gợi ý sử dụng thuật toán k-Means được mô tả chi tiết trong Thuật toán 1 (Algorithm 1).
Algorithm 1 Ứng dụng phân cụm dữ liệu trong hệ gợi ý.
Đầu vào: Ma trận đánh giáR, số cụmk, số sản phẩm gợi ýN, người dùng hoạt động a.
Đầu ra: top-N sản phẩm.
1: Phân cụm người dùng trongR sử dụng thuật toán k-Means. 2: Với người dùng hoạt động a, tìm cụm chứaa.
3: Tìm m người dùng có độ tương đồng lớn nhất với a.
4: Dự đoán điểm đánh giá cho các sản phẩm chưa được đánh giá bởi a; 5: Sắp xếp các sản phẩm theo điểm đánh giá.
6: Trả về top-N sản phẩm gợi ý cho người dùng a.
Với tập dữ liệu ban đầu, sử dụng thuật toánk-Means để phân cụm người dùng. Xác định cụm của người dùng hoạt độnga, tìm kiếm những người dùng có sở thích tương đồng với a sử dụng độ đo tương quan Pearson, từ đó chọn được m người dùng tương đồng nhất với a. Sau đó, dự đoán được điểm đánh giá của a đối với các sản phẩm chưa được đánh giá. Bước tiếp theo, sắp xếp các sản phẩm theo thứ tự của điểm dự đoán. Cuối cùng top-N sản phẩm được gợi ý cho người dùng a.
Người dùng/Sản phẩm i1 i2 i3 i4 i5 u1 0 1 2 0 3 u2 2 1 1 0 4 u3 2 0 1 3 0 u4 0 4 0 0 0 u5 0 0 3 1 0 Với người dùng a: a 2 0 1 0 0
Cần dự đoán điểm đánh giá cho các sản phẩm a chưa đánh giá và đưa ra gợi ý sản phẩm cho a.
Phân cụm người dùng bằng thuật toánk-Means. Vớik= 2, chia người dùng thành hai cụm: k1 = {u1, u2, u4} có tâm là u1; k2 = {u3, u5} có tâm là u3. Ta xác định được a thuộc cụm k2.
Tìm người dùng tương đồng nhất với a trong các người dùng thuộc cụm k2 thông qua độ tương quan Pearson. Sử dụng công thức (2) ta có:
sim(a, u3) = 0.072;sim(a, u5) = 0.052
⇒ u3 tương đồng nhất với a.
Dự đoán điểm đánh giá cho các sản phẩm chưa được đánh giá bởi a. Từ công thức (3) ta có:
r(a, i2) = −0.6; r(a, i4) = 2.4; r(a, i5) = −0.6
Dựa vào dự đoán điểm đánh giá, hệ gợi ý sản phẩmi4 cho người dùng a.