ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN THỊ HOÀNG PHƯƠNG
NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN
TỐI ƯU BẦY ĐÀN VÀO HỆ THỐNG GỢI Ý
Chuyên ngành: Khoa học máy tính
Mã số: 60480101
TÓM TẮT LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Đà Nẵng – Năm 2018
Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS. NGUYỄN VĂN HIỆU
Phản biện 1:
TS. Phạm Minh Tuấn
Phản biện 2:
TS. Lê Xuân Việt
Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp
thạc sĩ ngành Khoa học máy tính họp tại Trường Đại học Bách khoa
vào ngày 12 tháng 06 năm 2018.
Có thể tìm hiểu luận văn tại:
Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa
Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa - ĐHĐN
1
PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây, sự bùng nổ thông tin trên mạng
internet mang lại nhiều lợi ích cho con người trong việc khai thác tài
liệu học tập, giải trí, mua sắm, giao tiếp... Tuy nhiên, cũng chính bởi
sự “quá tải” thông tin, việc chọn được đúng thông tin cần thiết từ
nguồn tin khổng lồ đó không hề đơn giản. Con người càng ngày càng
mất nhiều thời gian vào việc tìm kiếm và chọn lọc thông tin. Từ đó
phát sinh nhu cầu cần phải xây dựng những hệ thống gợi ý chọn lọc
thông tin hiệu quả.
Hệ thống gợi ý (Recommender Systems - RS) là hệ thống hỗ
trợ ra quyết định nhằm gợi ý các thông tin liên quan đến người dùng
một cách dễ dàng và nhanh chóng, phù hợp với từng người dùng. Cụ
thể hơn, hệ thống gợi ý là một dạng của hệ thống lọc thông tin, được
sử dụng để dự đoán sở thích (preferences) hoặc xếp hạng (rating) của
người dùng dành cho một mục thông tin (item) nào đó mà họ chưa
biết hoặc chưa xem xét tới trong quá khứ. Các hệ thống gợi ý tiêu
biểu như Amazon, Netflix, Youtube,… đã tăng được số lượng truy
cập nhờ vào tính năng hỗ trợ ra quyết định này. Chẳng hạn, trong hệ
thống bán hàng trực tuyến, nhằm tối ưu hóa khả năng mua sắm của
khách hàng, hệ thống sẽ dựa trên xếp hạng (từ đến ),
thời gian duyệt (browse) trên sản phẩm, số lần click chuột,…của
người dùng để dự đoán được khách hàng có thể thích sản phẩm nào
và đưa ra những gợi ý phù hợp cho họ. Điều này giúp giải quyết tốt
bài toán lựa chọn trong trường hợp quá tải thông tin [1,2,3].
Có nhiều kĩ thuật lọc thông tin trong RS. Các kĩ thuật lọc này
thường được phân thành các nhóm: lọc dựa trên nội dung (content -
2
based filtering, dựa trên user profile), lọc cộng tác (collaborative
filtering – CF, dựa trên dữ liệu đánh giá trong quá khứ của user), lai
ghép (hybrid, kết hợp của hai phương pháp trên) và lọc không cá
nhân hóa (non-personalization). Trong đó, nổi bật và được sử dụng
nhiều nhất là kỹ thuật lọc cộng tác bởi sự đơn giản trong việc thu
thập thông tin (user, item và feedback) của nó. Vì kỹ thuật lọc cộng
tác dựa trên những quan điểm của tập láng giềng những user có cùng
sở thích với user mục tiêu, nên việc chọn tập láng giềng chính xác sẽ
giúp hệ thống gợi ý tốt hơn. Nhiều hệ thống gợi được đề xuất, tuy
nhiên tất cả người dùng và mục tin ở đây đều có mức độ ảnh hưởng
như nhau khi tính toán độ tương tự, chưa phản ánh được mức độ
quan trọng của các đặc trưng khác nhau, trong trường hợp các mục
tin quá phổ biến thì không cung cấp được nhiều thông tin về sở thích
của người dùng, hệ thống chưa đưa ra được gợi ý tốt nhất.
Vào năm 1995, kỹ thuật tối ưu bầy đàn (Particle Swarm
Optimization – PSO) lần đầu tiên được giới thiệu bởi James Kennedy
và Russell C. Eberhart tại một hội nghị của IEEE [10]. Việc ứng
dụng thuật toán bầy đàn vào hệ thống gợi ý là một hướng nghiên cứu
mới đang được quan tâm, góp phần tạo nên những hệ thống gợi ý
chất lượng cao, phục vụ tốt một số bài toán gợi ý thực tế, giúp người
dùng đưa ra quyết định chính xác hơn.
Xuất phát từ những lý do trên, tôi chọn đề tài “Nghiên cứu ứng
dụng thuật toán tối ưu bầy đàn vào hệ thống gợi ý” để triển khai
nghiên cứu.
2. Mục đích – Mục tiêu nghiên cứu
2.1. Mục đích
Tối ưu hóa hệ thống gợi ý.
2.2. Mục tiêu
3
- Tìm hiểu, nghiên cứu và ứng dụng thành công PSO vào RS.
- Xây dựng được hệ thống RS thử nghiệm sử dụng PSO.
Để hoàn thành mục tiêu đề ra, đề tài thực hiện giải quyết các
nhiệm vụ sau:
- Nghiên cứu tổng quan về hệ thống gợi ý.
- Tìm hiểu phương pháp PSO.
- Xây dựng mô hình ứng dụng PSO vào RS.
- Xây dựng chương trình thử nghiệm.
- Đánh giá kết quả thử nghiệm.
3. Đối tượng – Phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Hệ thống gợi ý.
- Các phương pháp gợi ý.
- Kỹ thuật tối ưu bầy đàn PSO.
3.2. Phạm vi nghiên cứu
- Các vấn đề liên quan RS.
- Các vấn đề liên quan PSO.
- Lý thuyết thuật toán PSO và ứng dụng.
- Xây dựng ứng dụng thử nghiệm.
- Lập trình web ứng dụng triển khai hệ thống gợi ý.
4. Phương pháp nghiên cứu
Đề tài sử dụng kết hợp các phương pháp nghiên cứu lý thuyết,
phương pháp thống kê, phương pháp thực nghiệm, cụ thể:
- Phương pháp PSO.
- Các phương pháp trong RS.
5. Ý nghĩa khoa học và thực tiễn
- Ứng dụng PSO vào RS là hướng nghiên cứu mới, giúp cải
thiện tính hiệu quả hệ thống RS.
4
- Luận văn là tài liệu tham khảo quý giá cho sinh viên và học
viên khi muốn tiếp cận với lĩnh vực xây dựng ứng dụng RS.
- Kết quả thực nghiệm hiện thực hoá sự nghiên cứu lý thuyết
tối ưu vào RS.
4. Dàn ý nội dung chính
Bố cục luận văn bao gồm 03 chương chính:
Chương 1: Trình bày tổng quan về hệ thống gợi ý, các kĩ
thuật lọc thông tin trên hệ thống gợi ý, phương pháp đánh giá hệ
thống, đồng thời trình bày những vấn đề chung về thuật toán tối ưu
bầy đàn PSO.
Chương 2: Trình bày về các kỹ thuật trong hệ thống gợi ý lọc
cộng tác: sử dụng mô hình láng giềng, sử dụng kỹ thuật phân cụm
Spectral, áp dụng PSO vào hệ thống gợi ý, cải tiến mô hình PSO đối
với dữ liệu nhị phân.
Chương 3. Triển khai mô hình hệ thống gợi ý thử nghiệm,
đánh giá hệ thống.
5
CHƯƠNG 1
TỔNG QUAN VỀ HỆ THỐNG GỢI Ý VÀ THUẬT TOÁN PSO
Chương 1 trình bày tổng quan các vấn đề về hệ thống gợi ý và
thuật toán tối ưu bầy đàn PSO. Trong đó, các kĩ thuật lọc thông tin
trong hệ thống gợi ý, đặc biệt là lọc cộng tác với dữ liệu đánh giá
tường minh, giải thuật PSO và các thang đo để đánh giá hệ thống
gợi ý được mô tả cụ thể, làm cơ sở lý thuyết cho các nghiên cứu ở
chương sau.
1.1. Tổng quan về hệ thống gợi ý
1.1.1. Giới thiệu và một số khái niệm
1.1.2. Ứng dụng và lợi ích của hệ thống gợi ý
a. Ứng dụng của hệ thống gợi ý
b. Lợi ích của hệ thống gợi ý
1.1.3. Các cách tiếp cận trong hệ thống gợi ý
1.1.4. Các kĩ thuật lọc thông tin
a. Lọc dựa trên nội dung (Content-based filtering)
b. Lọc cộng tác (Collaborative filtering)
c. Phương pháp kết hợp (Hybrid filtering)
d. Lọc không cá nhân hóa (non-personalization)
1.1.5. Các giai đoạn trong hệ thống gợi ý
1.1.6. Phương pháp đánh giá mô hình hệ thống gợi ý
a. Tiêu chí định lượng
b. Tiêu chí định tính
1.2. Tổng quan về thuật toán tối ưu bầy đàn PSO
1.2.1. Giới thiệu
1.2.2. Các khái niệm cơ bản trong thuật toán PSO
a. Khái niệm bầy đàn thông minh
6
b. Một số định nghĩa tối ưu bầy đàn
1.2.3. Phát biểu thuật toán PSO
Kết chương 1
Chương 1 đã trình bày tổng quan về hệ thống gợi ý và thuật
toán tối ưu bầy đàn PSO. Đối với hệ thống gợi ý, chương 1 giới thiệu
các thành phần chính trên hệ thống gợi ý: người dùng, mục tin và
phản hồi (tường minh và không tường minh); ứng dụng, lợi ích của
hệ thống gợi ý; cách tiếp cận hệ thống gợi ý dựa trên hai dạng phản
hồi; kỹ thuật lọc thông tin: lọc theo nội dung, lọc cộng tác, phương
pháp kết hợp và lọc không cá nhân hóa; 3 giai đoạn trong xây dựng
hệ thống gợi ý và phương pháp đánh giá hệ thống theo tiêu chí định
lượng và định tính. Chương 1 đồng thời trình bày về thuật toán PSO:
các khái niệm, định nghĩa về cá thể, bầy đàn, vận tốc, hàm mục
tiêu… và giải thuật PSO. Từ cơ sở trên sẽ làm nền tảng để nghiên
cứu về việc ứng dụng thuật toán PSO vào hệ thống gợi ý trong
chương kế tiếp.
7
CHƯƠNG 2
ỨNG DỤNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN VÀO HỆ
THỐNG GỢI Ý
Chương 2 trình bày về các phương pháp lọc thông tin trong hệ
thống gợi ý: lọc cộng tác sử dụng mô hình láng giềng; sử dụng kỹ
thuật phân cụm Spectral và phương pháp lọc cộng tác sử dụng PSO.
Để đạt hiệu quả cao trong việc gợi ý cho dữ liệu dạng nhị phân,
chương 2 trình bày cải tiến về cách ước lượng giá trị dự đoán, tối ưu
bộ trọng số đại diện bằng thuật toán tối ưu bầy đàn nhằm xây dựng
các cụm người dùng và mục tin hiệu quả, nâng cao chất lượng gợi ý.
2.1. Phương pháp lọc cộng tác sử dụng mô hình láng giềng
2.2. Phương pháp lọc cộng tác sử dụng kỹ thuật phân cụm
Spectral
2.3. Phương pháp lọc cộng tác sử dụng PSO
2.4. Cải tiến phương pháp phân cụm lọc cộng tác sử dụng
kỹ thuật Spectral
2.5. Cải tiến phương pháp gợi ý dựa trên lọc cộng tác tối
ưu trọng số bằng PSO
Trong phương pháp cải tiến này, thuật toán bổ sung hai trọng
số thể hiện độ ưu tiên của kỹ thuật gợi ý dựa trên người dùng và mục
tin, đồng thời điều chỉnh cách thức ước lượng giá trị chưa biết trong
ma trận R nhằm phù hợp với ma trận nhị phân.
𝐼
Cho bộ trọng số {𝑤1𝐼 , 𝑤2𝐼 , … , 𝑤𝑚
; 𝑤1𝑈 , 𝑤2𝑈 , … , 𝑤𝑛𝑈 , 𝑤 𝐼𝐹 , 𝑤 𝑈𝐹 },
trong đó 𝑤𝑗𝐼 với 𝑗 = 1. . 𝑚 đại diện cho trọng số của mục tin; 𝑤𝑖𝑈 với
𝑖 = 1. . 𝑛 đại diện cho trọng số của người dùng; 𝑤 𝐼𝐹 và 𝑤 𝑈𝐹 lần lượt
là trọng số thể hiện mức độ ưu tiên của kỹ thuật gợi ý dựa trên phân
cụm theo mục tin và theo người dùng, nhận giá trị 0 ≤ 𝑤 ≤ 1.
Tương tự như hệ thống lọc cộng tác tối ưu trọng số, quần thể
8
được khởi tạo với các giá trị ngẫu nhiên cùng các tham số, được xem
là các nghiệm ứng cử của bài toán tối ưu. Trong mô hình dự đoán,
các trọng số đặc trưng 𝑤 được sử dụng để cập nhật độ tương tự theo
phương pháp cosine theo công thức:
∑𝑖 𝑤𝑖 𝑥𝑎,𝑖 𝑤𝑖 𝑥𝑏,𝑖
𝑤𝑠𝑖𝑚(𝑥
⃗⃗⃗⃗𝑎 , ⃗⃗⃗⃗
𝑥𝑏 ) =
√∑𝑖 𝑤𝑖 2 𝑥 2 𝑎,𝑖 √∑𝑖 𝑤𝑖 2 𝑥 2 𝑏,𝑖
▪ Mô hình dự đoán và hàm mục tiêu trong hệ thống lọc
cộng tác tối ưu trọng số cải tiến:
(1) Tính độ tương tự giữa các cặp người dùng (hoặc cặp mục
tin)
(2) Áp dụng phân nhóm dựa trên người dùng
(3) Áp dụng phân nhóm dựa trên mục tin
(4) Dự đoán các giá trị đánh giá chưa biết
(5) Ước lượng các giá trị chưa biết
Mức độ quan tâm của người dùng đối với mục tin:
𝑟𝑖𝑗 = 1 𝑛ế𝑢 𝑝𝑖𝑗 > 𝑝∝𝑖
1
Với 𝑝∝𝑖 = |𝑅 | × ∑𝑘∈𝑅𝑖 𝑝𝑖𝑘 là mức độ quan tâm trung bình của
𝑖
từng người dùng đối với tất cả các mục tin đã từng lựa chọn, trong đó
𝑅𝑖 là tập các mục tin đã được lựa chọn bởi người dùng i.
(6) Tính giá trị hàm mục tiêu của mỗi cá thể trong tối ưu bầy
đàn
Giá trị mục tiêu của mỗi cá thể trong tối ưu bầy đàn sẽ được
tính dựa trên mức độ hội tụ của ma trận ước lượng 𝑅 (𝑘) tại bước thứ
k. Ma trận 𝑅 (𝑘) và 𝑅 (𝑘−1) sai khác càng ít thì giá trị phù hợp càng
nhỏ. Gọi 𝑐𝑎𝑟𝑑(𝑅 (𝑘) ) là số phần tử 𝑟𝑖𝑗 = 1 trong ma trận 𝑅 (𝑘) , giá trị
phù hợp 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 của mỗi cá thể được tính:
𝑐𝑎𝑟𝑑(|𝑅 (𝑘−1) − 𝑅 (𝑘) |)
𝑓𝑖𝑡𝑛𝑒𝑠𝑠 =
𝑐𝑎𝑟𝑑(𝑅 (𝑘−1) )
9
Như vậy, giá trị hàm 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 càng nhỏ thì khoảng cách giữa
vị trí hiện tại và vị trí tối ưu càng gần, khi 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 = 0 thì vị trí hiện
tại chính là vị trí tối ưu. Do đó, ở mỗi bước lặp, quy trình này trở
thành tiến trình cực tiểu hóa trong mỗi cá thể để cố gắng giảm bớt
khoảng cách hiện tại của cá thể tới giải pháp tối ưu.
▪ Tối ưu trọng số và dự đoán giá trị xếp hạng chưa biết 𝒓𝒊𝒋 :
Quy trình chính trong hệ thống lọc cộng tác tối ưu trọng số cải
tiến được thực hiện như sau:
Bước 1. Ước lượng giá trị chưa biết rij trong ma trận R theo 2
hướng: dựa trên người dùng và dựa trên mục tin.
1
1
rij =
∑ wsimU (i, l) + ∑ wsimI (k, j)
NU
NI
l
b
Với NU là tổng số mục tin mà người dùng i đã lựa chọn; NI là
tổng số người dùng đã lựa chọn mục tin j.
Bước 2. Cấu hình các tham số cho thuật toán tối ưu bầy đàn:
xác định kích thước quần thể (số cá thể), số bước lặp tối đa (số thế hệ
của quần thể), các hệ số gia tốc cục bộ và toàn cục, hệ số quán tính
khởi tạo và kết thúc.
Bước 3. Với mỗi cá thể trong quần thể, tiến hành:
- Áp dụng mô hình dự đoán ở trên để ước lượng các xếp hạng
chưa biết và tính giá trị mục tiêu fitness cho cá thể.
- Cập nhật vị trí tốt nhất pbest theo tiến trình thuật toán tối ưu
bầy đàn mô tả trong phần (1.2.3).
Bước 4. Cập nhật vị trí tốt nhất toàn cục (gbest) trong quần thể
theo tiến trình thuật toán tối ưu bầy đàn mô tả trong phần (1.2.3).
Bước 5. Cập nhật vị trí và tốc độ của mỗi cá thể theo công
thức ở phần (1.2.2).
Bước 6. Thiết lập ma trận sử dụng vị trí tốt nhất toàn cục gbest
10
làm ma trận đánh giá mới cho mô hình dự đoán.
Bước 7. Nếu điều kiện dừng (đạt đến số bước lặp, hoặc giá trị
mục tiêu fitness không đổi) chưa đúng, quay lại thực hiện bước 3,
nếu đúng thực hiện bước 8.
Bước 8. Xác định được bộ trọng số tối ưu và ma trận đánh giá
R cuối cùng.
Như vậy, bằng cách xác định bộ trọng số lai ghép phương
pháp phân cụm dựa trên người dùng và phân cụm dựa trên mục tin,
đặc biệt là sử dụng thuật toán tối ưu bầy đàn để tối ưu hóa bộ trọng
số, cải thiện đáng kể độ tương đồng giữa các người dùng và các mục
tin, đồng thời điều chỉnh cách thức để ước lượng giá trị đánh giá
chưa biết 𝑟𝑖𝑗 trong ma trận R để áp dụng cho bài toán nhị phân,
phương pháp này đã giải quyết được những vấn đề tồn tại đã đưa ra.
KẾT CHƯƠNG 2
Chương 2 trình bày về các phương pháp xây dựng hệ thống
gợi ý. Phương pháp lọc cộng tác sử dụng mô hình láng giềng dựa
trên user và item (User_KNN, Item_KNN); lọc cộng tác sử dụng kỹ
thuật phân cụm Spectral và phương pháp lọc cộng tác sử dụng PSO
nêu trong phần này đã giải quyết được vấn đề về dữ liệu thưa, xác
mức độ quan trọng giữa các người dùng và các mục tin với nhau
trong việc đưa ra gợi ý cho đánh giá tường minh. Tuy nhiên, để đạt
hiệu quả cao trong việc gợi ý cho dữ liệu dạng nhị phân, xác định
mức độ ưu tiên giữa user và item trong tính toán độ tương đồng,
chương 2 trình bày việc điều chỉnh cách thức ước lượng giá trị dự
đoán, cũng như bổ sung bộ trọng số đại diện cho user và item, thể
hiện trong cải tiến kỹ thuật phân cụm Spectral và lọc cộng tác sử
dụng PSO. Từ kết quả này, chương kế tiếp tiến hành xây dựng mô
hình thực nghiệm và đánh giá kết quả mô hình hệ thống.
11
CHƯƠNG 3
HỆ THỐNG THỬ NGHIỆM VÀ ĐÁNH GIÁ
Chương này trình bày về việc xây dựng mô hình hệ thống thử
nghiệm trên tập dữ liệu MovieLens 100k đối với phương pháp lọc
cộng tác sử dụng mô hình láng giềng (Nearest Neighbor CF) và
phân cụm lọc cộng tác tối ưu trọng số sử dụng PSO (Iteration
Clustering CF – PSO FW), đánh giá kết quả thực nghiệm và vẽ các
biểu đồ thống kê.
3.1. Giới thiệu tập dữ liệu
3.2. Kịch bản thực nghiệm
3.3. Kết quả chạy thử nghiệm
3.3.1. Lọc cộng tác trên người dùng theo phương pháp mô
hình láng giềng gần nhất và phương pháp tối ưu trọng số sử dụng
PSO cải tiến
a. Lọc cộng tác trên người dùng theo mô hình láng giềng gần
nhất (UserNBCF)
Hình 3.2. Giá trị thang đo MAE và RMSE trên UserNBCF
b. Lọc cộng tác trên người dùng theo tối ưu trọng số cải tiến
(UserICCF – PSO FW)
12
❖ User = 25, item = 75
Hình 3.3. MAE và RMSE trên userICCF - PSO FW (25 - 75)
MAE = 0.558; RMSE = 0.724
❖ User = 50, item = 100
Hình 3.4. MAE và RMSE trên userICCF - PSO FW (50 - 100)
MAE = 0.628; RMSE = 0.844
13
❖ User = 150, item = 200
Hình 3.5. MAE và RMSE trên userICCF - PSO FW (150 - 200)
MAE = 0.73; RMSE = 0.9495
❖ User = 175, item = 220
Hình 3.6. MAE và RMSE trên userICCF - PSO FW (175 - 220)
MAE = 0.746; RMSE = 0.975
14
❖ User = 275, item = 350
Hình 3.7. MAE và RMSE trên userICCF - PSO FW (275 - 350)
MAE = 0.821; RMSE = 1.045
3.3.2. Lọc cộng tác trên mục tin theo phương pháp mô hình
láng giềng gần nhất và phương pháp tối ưu trọng số sử dụng PSO
cải tiến
a. Lọc cộng tác trên mục tin theo mô hình láng giềng gần nhất
(ItemNBCF)
Hình 3.8. MAE và RMSE trên ItemNBCF
15
b. Lọc cộng tác trên mục tin theo tối ưu trọng số cải tiến
(ItemICCF – PSO FW)
❖ User = 25, item = 75
Hình 3.9. MAE và RMSE trên itemICCF - PSO FW (25 - 75)
MAE = 0.565; RMSE = 0.736
❖ User = 50, item = 100
Hình 3.10. MAE và RMSE trên itemICCF - PSO FW (50 - 100)
MAE = 0.71; RMSE = 0.9467
16
❖ User = 150, item = 200
Hình 3.11. MAE và RMSE trên itemICCF - PSO FW (150 - 200)
MAE = 0.734; RMSE = 0.924
❖ User = 175, item = 220
Hình 3.12. MAE và RMSE trên itemICCF - PSO FW (175 - 220)
MAE = 0.76; RMSE = 0.979
17
❖ User = 275, item = 350
Hình 3.13 MAE và RMSE trên itemICCF - PSO FW (275 - 350)
MAE = 0.826; RMSE = 1.044
3.3.3. Lọc cộng tác kết hợp người dùng – mục tin theo
phương pháp mô hình láng giềng gần nhất và phương pháp tối ưu
trọng số sử dụng PSO cải tiến
a. Lọc cộng tác kết hợp người dùng và mục tin theo mô hình
láng giềng gần nhất (User-ItemNBCF)
Hình 3.14. MAE và RMSE trên UserItemNBCF
18
b. Lọc cộng tác kết hợp người dùng và mục tin theo tối ưu
trọng số cải tiến (User-Item ICCF – PSO FW)
❖ User = 25, item = 75
Hình 3.15. MAE và RMSE trên useritemICCF - PSO FW (25 - 75)
MAE = 0.522; RMSE = 0.605
❖ User = 50, item = 100
Hình 3.16. MAE và RMSE trên useritemICCF - PSO FW (50 - 100)
MAE = 0.598; RMSE = 0.812
19
❖ User = 150, item = 200
Hình 3.17. MAE và RMSE trên useritemICCF - PSO FW (150 - 200)
MAE = 0.704; RMSE = 0.894
❖ User = 175, item = 220
Hình 3.18. MAE và RMSE trên useritemICCF - PSO FW (175 - 220)
MAE = 0.726; RMSE = 0.925
20
❖ User = 275, item = 350
Hình 3.19. MAE và RMSE trên useritemICCF - PSO FW (275 - 350)
MAE = 0.787; RMSE = 0.996
3.3.4. Kết quả tổng hợp từ thực nghiệm
❖ Dữ liệu
❖ Kết quả
Dữ liệu được đánh giá qua thang đo MAE và RMSE với 5 tập
con có kích thước user x item: 25x75, 50x100, 150x200, 175x220,
275x350, trên 3 kịch bản thử nghiệm: User NBCF vs User ICCF –
PSO FW, Item NBCF vs User ICCF – PSO FW, User-Item NBCF vs
User ICCF – PSO FW cho kết quả như sau:
Bảng 3.2. Tổng hợp kết quả thực nghiệm
Error DimData (user x item)
25x75
50x100
MAE
150x200
175x220
275x350
25x75
50x100
RMSE
150x200
175x220
275x350
user
NBCF
0.618
0.797
0.831
0.861
0.921
0.751
1.09
1.072
1.19
1.171
item useritem user item useritem
NBCF NBCF ICCF ICCF ICCF
0.715
0.61
0.558 0.565
0.522
0.85
0.767
0.628 0.71
0.598
0.83
0.769
0.73 0.734
0.704
0.83
0.781
0.746 0.76
0.726
0.869
0.832
0.821 0.826
0.787
0.894
0.735
0.724 0.736
0.605
1.109
1.041
0.844 0.9467 0.812
1.06
0.988 0.9495 0.924
0.894
1.072
1.022
0.975 0.979
0.925
1.045
1.124
1.044 1.063
0.996
21
Từ bảng thống kê trên, nhìn vào cả hai độ đo MAE và RMSE,
ta có thể thấy: trong cả 3 kịch bản chạy thử nghiệm mô hình trên
item, user và kết hợp user-item, thì mô hình hệ thống có áp dụng tối
ưu trọng số bằng PSO (ICCF-PSO FW) luôn đạt sai số thấp hơn hơn
so với mô hình không áp dụng PSO (NBCF) trên hầu hết các kích
thước dữ liệu, cho thấy mô hình dự đoán có áp dụng PSO đạt hiệu
quả cao hơn.
Hình 3.20. MAE trên NBCF và ICCF-PSO FW (50-100)
Hình 3.21. RMSE trên NBCF và ICCF-PSO FW (50-100)
22
RMSE of NBCF,
ICCF-PSO FW
(275-350)
Hình 3.22. MAE trên NBCF và ICCF-PSO FW (275-350)
1,2
1,171
1,124
1,15
1,1
1,05
1,044
1,045 1,063
0,996
1
NCBF
ICCF
0,95
0,9
user
item
useritem
Hình 3.23. RMSE trên NBCF và ICCF-PSO FW (275-350)
3.4. Hướng dẫn thực nghiệm
KẾT CHƯƠNG 3
Chương 3 đã trình bày về việc xây dựng và đánh giá hiệu quả
mô hình thử nghiệm đối với phương pháp lọc cộng tác sử dụng mô
hình láng giềng và phân cụm lọc cộng tác tối ưu trọng số sử dụng
PSO trên tập dữ liệu MovieLens 100k. Kết quả đánh giá cho thấy sai
số trên thang đo MAE và RMSE của mô hình áp dụng PSO trong
phân cụm lọc cộng tác tối ưu trọng số nhỏ hơn trên cả 3 kịch bản thử
nghiệm, cho thấy hiệu quả của mô hình dự đoán cải tiến là tốt hơn.
23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết quả đạt được
Trong luận văn này, trên cơ sở mục tiêu, phương pháp nghiên
cứu và sự hướng dẫn của cán bộ hướng dẫn khoa học, đề tài đã thực
hiện được những nội dung sau đây:
Về mặt lý thuyết:
- Nghiên cứu và tổng hợp cơ sở lý thuyết về hệ thống gợi ý:
các thành phần chính trên hệ thống gợi ý, ứng dụng, lợi ích của hệ
thống gợi ý, các kỹ thuật lọc thông tin, cách xây dựng và đánh giá hệ
thống gợi ý.
- Tìm hiểu về thuật toán tối ưu bầy đàn PSO: các khái niệm,
định nghĩa về cá thể, bầy đàn thông minh và giải thuật PSO.
- Nghiên cứu về phương pháp lọc thông tin trong hệ thống gợi
ý: Phương pháp lọc cộng tác sử dụng mô hình láng giềng, lọc cộng
tác sử dụng kỹ thuật phân cụm Spectral, lọc cộng tác sử dụng PSO,
cải tiến kỹ thuật phân cụm Spectral và cải tiến lọc cộng tác sử dụng
PSO.
Về mặt thực tiễn
Với kiến thức đã nghiên cứu và tìm hiểu được, luận văn đã xây
dựng mô hình hệ thống gợi ý và đạt được những kết quả sau:
- Triển khai thực nghiệm mô hình hệ thống gợi ý dựa trên các
kĩ thuật lọc cộng tác sử dụng mô hình láng giềng và phân cụm lọc
cộng tác sử dụng PSO cải tiến.
- Thực hiện so sánh các mô hình thử nghiệm bằng các thang
đo MAE và RMSE để đánh giá hiệu quả của các mô hình.
- Cài đặt thực nghiệm và vẽ biểu đồ thống kê thành công.