1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ nghiên cứu ứng dụng thuật toán tối ưu bầy đàn vào hệ thống gợi ý

81 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 8,12 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Có nhiều phương pháp lọc thông tin trong hệ thống gợi ý, trong luận văn đề cập đến phương pháp lọc cộng tác theo 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

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

LU ẬN VĂN THẠC SĨ

Đà Nẵng, năm 2018

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 60 48 01 01

LU ẬN VĂN THẠC SĨ Người hướng dẫn khoa học: TS Nguyễn Văn Hiệu

Đà Nẵng, năm 2018

Trang 3

L ỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong lu ận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác gi ả luận văn

Nguy ễn Thị Hoàng Phương

Trang 4

TÓM T ẮT LUẬN VĂN

NGHIÊN C ỨU ỨNG DỤNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN VÀO

H Ệ THỐNG GỢI Ý

Tóm t ắt – Với sự bùng nổ thông tin trên internet ngày nay, việc lựa chọn và đưa ra

quyết định của người dùng trở nên vô cùng khó khăn, tạo nhu cầu cần phải xây dựng những

hệ thống gợi ý nhằm cung cấp các đề xuất các mục tin cần thiết cho người dùng Luận văn này trình bày lý thuyết về hệ thống gợi ý, thuật toán tối ưu bầy đàn để làm cơ sở xây dựng mô hình gợi ý hiệu quả Có nhiều phương pháp lọc thông tin trong hệ thống gợi ý, trong luận văn

đề cập đến phương pháp lọc cộng tác theo 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 và việc cải tiến các kỹ thuật trên để xây dựng phương pháp lọc hiệu quả hơn đối với dữ liệu nhị phân Trên cơ sở đó, mô hình được triển khai thực nghiệm thành công, đánh giá kết quả cho thấy mô hình cải tiến có hiệu suất cao hơn các mô hình khác

T ừ khóa: hệ thống gợi ý, lọc cộng tác, mô hình láng giềng, phân cụm Spectral, tối ưu

b ầy đàn

Abstract – Today, with a huge amount of information on the internet, the choice and

decision-making of users becomes extremely difficult, leads to the nessesary of recommender systems to suggest for user In this thesis, recommender systems, particle swarm optimization’s theory is presented as the basis of the effective recommender model There are many filtering information methods, this thesis refers to the neighbor-based collaborative filtering, Spectral-based collaborative filtering, collaborative filtering using PSO methods and improve these techniques to one for binary dataset From that, the models are successfully implemented, and the results shows that the improvement model is more effective than other models

Keywords: recommender system, collaborative filtering, neighborhood model,

Spectral clustering, particle swarm optimization

Trang 5

M ỤC LỤC

L ỜI CAM ĐOAN i

TÓM T ẮT LUẬN VĂN ii

M ỤC LỤC iii

DANH M ỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v

DANH M ỤC CÁC BẢNG vi

DANH M ỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ vii

PH ẦN MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích – Mục tiêu nghiên cứu 2

3 Đối tượng – Phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 3

5 Ý nghĩa khoa học và thực tiễn 3

6 Dàn ý nội dung chính 3

CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý VÀ THUẬT TOÁN PSO 4

1.1 T ổng quan về hệ thống gợi ý 4

1.1.1 Giới thiệu và một số khái niệm 4

1.1.2 Ứng dụng và lợi ích của hệ thống gợi ý 6

1.1.3 Các cách tiếp cận trong hệ thống gợi ý 7

1.1.4 Các kĩ thuật lọc thông tin 8

1.1.5 Các giai đoạn trong hệ thống gợi ý 11

1.1.6 Phương pháp đánh giá mô hình hệ thống gợi ý 11

1.2 Tổng quan về thuật toán tối ưu bầy đàn PSO 13

1.2.1 Giới thiệu 13

1.2.2 Các khái niệm cơ bản trong thuật toán PSO 14

1.2.3 Thuật toán PSO 17

K ết chương 1 19

CHƯƠNG 2 ỨNG DỤNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN VÀO HỆ TH ỐNG GỢI Ý 20

2.1 Phương pháp lọc cộng tác sử dụng mô hình láng giềng 20

2.2 Phương pháp lọc cộng tác sử dụng kỹ thuật phân cụm Spectral 21

2.3 Phương pháp lọc cộng tác sử dụng PSO 24

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 28

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 29

K ết chương 2 33

CHƯƠNG 3 HỆ THỐNG THỬ NGHIỆM VÀ ĐÁNH GIÁ 34

Trang 6

3.1 Giới thiệu tập dữ liệu 34

3.2 Kịch bản thực nghiệm 35

3.3 Kết quả chạy thử nghiệm 35

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 35

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 39

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 42

3.4 Hướng dẫn thực nghiệm 48

Kết chương 3 49

K ẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 TÀI LI ỆU THAM KHẢO

QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)

Trang 7

DANH M ỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Tối ưu đàn kiến

AI : Artificial Intelligence

Trí thuệ nhân tạo ICCF : Iteration Clustering Collaborative Filtering

NBCF : Nearest Neighbor Collaborative Filtering

Tối ưu bầy đàn

Trang 9

3.1 Mô t ả biểu diễn người dùng, mục tin và đánh giá

3.9 MAE và RMSE trên itemICCF - PSO FW (25 -

Trang 10

3.15 MAE và RMSE trên useritemICCF - PSO FW

Trang 11

PH ẦN MỞ ĐẦU

1 Lý do ch ọn đề tài

Trong vài chục năm trở lại đây, khoa học kĩ thuật phát triển vô cùng mạnh mẽ Các dịch vụ trên Internet, các thiết bị truyền tải và tiếp cận thông tin trở nên phổ biến, đại trà trên toàn cầu 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 Con người dễ dàng được tiếp cận với nguồn thông tin gần như vô hạn và vẫn đang tăng lên một cách nhanh chóng mỗi ngày 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ứ Hệ thống này trở nên phổ biến trong những năm gần đây, được ứng dụng trong nhiều lĩnh vực khác nhau như gợi ý tài liệu, bài hát, xem phim, công

việc, bảo hiểm, hẹn hò,… đặc biệt được quan tâm sử dụng nhiều trong thương mại điện tử Các hệ thống gợi ý tiêu biểu như Amazon, Netflix, IMDb, Youtube, Last.fm, MovieLens, Lazada, Sendo… đã 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 - 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ó

Ưu điểm của lọc cộng tác là có thể hoạt động tốt trong trường hợp thiếu hụt thông tin của đối tượng, có thể đưa ra gợi ý mà không cần thông tin hồ sơ người dùng (user profile) Chất lượng của hệ thống gợi ý cộng tác phụ thuộc vào độ đo tương tự và việc lựa chọn tập láng giềng Tuy nhiên hạn chế chính của CF là vấn đề dữ liệu thưa, khả

Trang 12

năng mở rộng và thiếu dữ liệu đánh giá 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 Hệ thống gợi ý phân cụm lặp cộng tác được đề xuất đã giải quyết được nhiều tồn tại nói trên Tuy nhiên tất cả user

và item ở đâ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, do đó trong trường hợp các item quá phổ biến thì không cung cấp được nhiều thông tin về sở thích của

user, 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] Phương pháp tối ưu bầy đàn là một trong những thuật toán xây dựng dựa trên khái niệm trí tuệ bầy đàn để tìm kiếm lời giải cho các bài toán tối ưu hóa trên một không gian tìm kiếm 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

- 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

- Các vấn đề liên quan PSO

- Lý thuyết thuật toán PSO và ứng dụng

Trang 13

- 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ệ

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

Trang 14

CHƯƠNG 1

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

Với một lượng lớn thông tin bùng nổ trên internet hiện nay, việc lựa chọn và đưa

ra quyết định đối với người dùng trở nên vô cùng khó khăn, tạo nên nhu cầu cần phải xây dựng những hệ thống gợi ý Hệ thống gợi ý là các công cụ và kỹ thuật phần mềm được xây dựng nhằm cung cấp các đề xuất, khuyến nghị về mục tin (item) nào đó cho

người sử dụng (user) Các đề xuất có thể liên quan đến nhiều lĩnh vực khác nhau, chẳng hạn như những vật dụng để mua, bài hát có thể yêu thích hoặc những tin tức trực tuyến để đọc… Hệ thống gợi ý cũng được định nghĩa như một chiến lược ra quyết định cho người dùng dưới môi trường thông tin phức tạp Hệ thống gợi ý được xác định từ quan điểm của thương mại điện tử như một công cụ giúp người dùng tìm kiếm thông qua hồ sơ có liên quan đến sự quan tâm và sở thích của người dùng Hay hệ thống gợi ý đã được định nghĩa là một phương tiện trợ giúp và làm tăng quá trình xã hội của việc sử dụng các khuyến nghị của người khác để có những lựa chọn khi không

có kiến thức cá nhân đủ hoặc kinh nghiệm của các lựa chọn thay thế

Hệ thống gợi ý giải quyết vấn đề quá tải thông tin bằng cách lọc các thông tin quan trọng ra khỏi lượng thông tin khổng lồ dựa trên sở thích người dùng, hoặc hành

vi quan sát của người dùng về các item, thời gian lưu lại đối với sản phẩm, số lần xem

lại một video, việc tải các tập tin, hoặc xếp hạng của người dùng cho các item, phản

hồi của khách hàng… Từ đó, hệ thống có khả năng dự đoán xem một người dùng có

thẻ thích những nội dung nào đó họ chưa từng tiếp cận hoặc biết đến hay không

Các hệ thống gợi ý có lợi cho cả các nhà cung cấp dịch vụ và người sử dụng Họ

giảm chi phí giao dịch trong việc tìm kiếm và lựa chọn các mặt hàng trong một môi trường mua sắm trực tuyến, lựa chọn sách, tránh lãnh phí thời gian xem hết video, nghe một bài hát… Các hệ thống gợi ý có khả năng biến khách hàng tiềm năng trở thành khách hàng thật sự, cải thiện chất lượng giao dịch, nâng cao uy tín và doanh thu,

quảng bá được nhiều sản phẩm hơn Do đó, cần phải sử dụng các kĩ thuật giới thiệu

hiệu quả và chính xác trong một hệ thống gợi ý, nâng cao độ tin cậy đối với khách hàng

Sự phát triển của RS bắt nguồn từ một quan sát khá đơn giản trong thực tế: các cá

Trang 15

nhân thường dựa vào các lời khuyên của người khác trong việc đưa ra các quyết định hàng ngày Ví dụ như dựa vào những gì mà đồng nghiệp khuyên dùng khi chọn một tài liệu để đọc nhằm phục vụ tốt công việc; các nhà tuyển dụng dựa vào các thư giới thiệu

về người phỏng vấn; hay lựa chọn một bộ phim để xem, người dùng có xu hướng đọc

và dựa vào các bài đánh giá phim, bình luận mà một nhà phê bình điện ảnh đã viết hoặc các người dùng trước đã xem

Khi các trang web thương mại điện tử phát triển, cùng với sự bùng nổ thông tin, người dùng dễ bị choáng ngợp trước thông tin, rất khó khăn để có được sự lựa chọn thích hợp nhất từ rất nhiều các mặt hàng (sản phẩm và dịch vụ) mà các trang web này cung cấp, do đó xuất hiện nhu cầu cấp bách về việc lọc thông tin hiệu quả và đưa ra gợi ý cho người dùng Hệ thống gợi ý là hệ thống xử lý thông tin thu thập dựa trên dữ liệu để xây dựng khuyến nghị Do đó, dữ liệu chính là về “item” để gợi ý, và “user” và mối liên hệ giữa hai dữ liệu này, thể hiện chủ yếu ở “transaction”, hay cụ thể hóa là

“feedback”

"Item" là thuật ngữ chung được sử dụng để biểu thị những mục tin hệ thống gợi

ý cho người dùng Các mục tin này có những đặc trưng riêng, giá trị và tiện ích riêng Giá trị của một mục có thể mang giá trị dương nếu mục đó hữu ích cho người dùng, hoặc âm nếu mục đó không thích hợp và người dùng đã đưa ra quyết định sai khi chọn Đối với mục tin miễn phí như tin tức, báo chí, người dùng mất chi phí chủ yếu cho thời gian đọc tin Tuy nhiên, với những mục tin mang giá trịthương mại, đặc biệt đầu

tư tài chính, ô tô… thì nếu hệ thống không gợi ý tốt, chi phí người dùng phải trả là vô cùng lớn Thông thường, mỗi RS tập trung vào một loại mục tin cụ thể Trên cơ sở đó,

RS được xây dựng tập trung vào một kỹ thuật cốt lõi phù hợp với mục tin, nhằm mang lại hiệu quả gợi ý cao nhất

“User” trong RS có những mục đích và tính năng đặc biệt rất đa dạng Để cá nhân hóa các khuyến nghị và sự tương tác giữa người và máy tính, RS khai thác một loạt thông tin về người sử dụng, cấu trúc hóa theo nhiều cách và phụ thuộc vào kỹ thuật lọc thông tin để đưa ra đề xuất Người dùng có thể được mô tả bằng dữ liệu hành

vi của họ, ví dụ như các mẫu trang web đã xem, các mẫu thông tin đã tìm kiếm

“Transaction” – thuật ngữ này đề cập đến một tương tác được ghi lại giữa người dùng và RS Ví dụ, một nhật ký tương tác có thể chứa một tham chiếu đến mục được lựa chọn bởi người dùng, mô tả ngữ cảnh cho yêu cầu cụ thể đó Thông thường trong

RS, tương tác này được ghi nhận nhiều nhất gồm phản hồi rõ ràng mà người dùng cung cấp, chẳng hạn đánh giá cho mặt hàng đã chọn, đã mua, hay còn gọi là

“feedback” Trên thực tế, xếp hạng là hình thức dữ liệu phổ biến nhất, thể hiện ở một

số hình thức: xếp hạng số (1 đến 5 sao); xếp hạng thứ bậc (đồng ý, trung lập, không đồng ý), xếp hạng nhị phân (tốt hay xấu)…

Dưới dạng đơn giản nhất, các đề xuất cá nhân hoá được cung cấp dưới dạng danh sách xếp hạng các mục tin Trong xếp hạng này, RS cố gắng dự đoán mục tin phù

Trang 16

hợp nhất dựa trên sở thích của người dùng Để thực hiện được tính toán này, RS thu thập thông tin sở thích của người dùng qua nhiều phương diện, từ đó tính toán và có thể điều hướng hoặc đưa ra gợi ý bên cạnh mục tin người sử dụng đang xem, hướng người dùng đến những mục tin chưa được tiếp cận nhưng có khả năng cao sẽ phù hợp với người dùng

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 ý

Hệ thống gợi ý được ứng dụng trong nhiều lĩnh vực như thương mại điện tử, giải trí, tin tức, khoa học, giáo dục [1, 2].Trong lĩnh vực thương mại, người dùng sẽ được

hệ thống gợi ý các sản phẩm phù hợp với nhu cầu của từng cá nhân, như hệ thống gợi

nhân hóa cửa hàng trực tuyến cho mỗi khách hàng Vì các đề xuất thường được cá nhân hóa, người dùng hoặc nhóm người dùng khác nhau sẽ nhận được nhiều đề xuất khác nhau Ngoài ra còn có các đề xuất không được cá nhân hóa, điển hình như Top 10 sách bán chạy nhất trong tháng, 20 CD có giá tốt nhất [12] Thông thường, những đề

xuất không được cá nhân hoá này không được giải quyết bằng nghiên cứu của RS Trong lĩnh vực giải trí, người dùng có thể được gợi ý các bộ phim, bài hát phù

hợp mà người sử dụng không phải mất nhiều công tìm kiếm như hệ thống gợi ý phim MovieLens, Last.fm, Film-Conseil Trong lĩnh vực tin tức, người sử dụng được hệ

thống hỗ trợ gợi ý các bài báo phù hợp với từng người riêng biệt ví dụ như netnews, yahoo news… Trong lĩnh vực khoa học và giáo dục, hệ thống gợi ý hỗ trợ người dùng tìm kiếm các bài báo khoa học như hệ thống tìm kiếm Citeseer hay sinh viên tìm kiếm các tài liệu học tập phù hợp với cá nhân như hệ thống School e-Guide

b Lợi ích của hệ thống gợi ý

Có nhiều lý do giải thích vì sao các nhà cung cấp dịch vụ muốn khai thác RS:

- Tăng số lượng hàng hóa được bán Trong thương mại, khi khách hàng mua một

mặt hàng thì có khả năng cao sẽ mua một số phụ kiện kèm theo, việc đưa ra đề xuất giúp tăng số lượng hàng hóa được bán hơn rất nhiều so với việc không có khuyến nghị nào

- Bán nhiều mặt hàng đa dạng hơn Mỗi người dùng đóng góp vào RS một “thế

giới quan” nhu cầu của mình Ngày càng có nhiều sản phẩm mới, lạ ra đời mà người dùng chưa được tiếp cận RS biến những khách hàng tiềm năng thành khách hàng thực

sự khi giới thiệu với họ nhiều mặt hàng đa dạng, phục vụ nhu cầu tiềm ẩn của họ

- Tăng sự hài lòng của người sử dụng Một RS được thiết kế tốt sẽ giúp người dùng cảm thấy thú vị, thích sử dụng hệ thống, gắn kết với hệ thống.Việc kết hợp hiệu

quả, tức là đưa ra các khuyến nghị đúng sẽ mang lại nhiều lợi ích kinh tế kèm theo Điều này cũng đồng nghĩa với tăng độ tin cậy hệ thống, giúp xây dựng hệ thống lâu dài, bền vững

- Hiểu rõ hơn về những gì người dùng muốn Một chức năng quan trọng của RS,

Trang 17

Users

có thể tận dụng được cho nhiều ứng dụng khác, đó là mô tả các sở thích của người dùng, hoặc được thu thập một cách rõ ràng hoặc dự đoán bởi hệ thống Sau đó, nhà cung cấp dịch vụ có thể quyết định sử dụng lại kiến thức này cho một số mục tiêu khác như cải thiện việc quản lý kho hàng hoặc quản lý sản xuất

- Tìm kiếm được một số nhóm hàng/mặt hàng tốt Dựa trên dữ liệu đánh giá, xếp

hạng, hệ thống sẽ có được danh mục các sản phẩm tốt có thể đáp ứng được rất nhiều người dùng khác

1.1.3 Các cách ti ếp cận trong hệ thống gợi ý

Như đã đề cập ở trên, trong RS, thông thường có 3 dữ liệu cần quan tâm: người dùng (user), mục tin (item), và phản hồi (feefback) của người dùng cho mục tin đó Các thông tin này thường được biểu diễn thông qua một ma trận Mỗi dòng của ma

trận là một user, mỗi cột là một item, và mỗi ô là một giá trị feedback, thể hiện mức độ hài lòng/thích của user trên item tương ứng Những ô có giá trị là những ô đã được đánh giá trong quá khứ, những ô trống là những ô chưa được đánh giá – những ô này thường chiếm phần lớn trong ma trận, bởi mỗi user thường chỉ xếp hạng cho một vài item trong quá khứ, vấn đề này gọi là ma trận thưa (spare matrix) Tùy theo hệ thống

mà giá trị này có ý nghĩa khác nhau, nó dùng để đo độ “phù hợp”/ “mức độ thích” hay

một dạng đánh giá năng lực người dùng dành cho mục tin

Thông thường ta gọi:

- I là tập tất cả các mục tin (items) sẽ được gợi ý và p là một sản phẩm cụ thể (i ∈

I) I là tập các mục tin như sách, phim, ảnh, quần áo, bài báo,… có thể lên đến hàng

nghìn hoặc hàng triệu sản phẩm trong một số RS

- U là t ập tất cả người dùng (users) và u là một người dùng cụ thể (u ∈ U) Tương

tự như P, tập người dùng U cũng có thể rất lớn, lên đến hàng triệu người

- R là một tập hợp các giá trị dùng để ước lượng sở thích/xếp hạng của người

dùng, và r ij∈ R là xếp hạng của n gười dùng ui trên sản phẩm ij

Giả sử có m mục tin và n user, ta có ma trận minh họa như sau:

Items

Thông qua một số kỹ thuật nhất định, RS sẽ tiến hành phân tích dựa trên các giá

trị thông tin thu được từ quá khứ để dự đoán các ô còn trống trong ma trận của user

Trang 18

hiện hành, sau đó xếp hạng (từ cao đến thấp) và lựa chọn ra top-n items theo thứ tự, từ

đó gợi ý cho người dùng Mục tiêu của RS là tìm ra một hàm thỏa mãn điều kiện nào

đó Nếu là hàm ước lượng độ chính xác thì cần phải được tối đa hóa, còn nếu là hàm

để đo độ lỗi (như Root Mean Squared Error, Mean Absolute Error) thì cần phải được

tối tiểu

Dựa trên các kiểu feedback của người dùng trên mục tin, các nhà xây dựng hệ

thống gợi ý có thể tiếp cận theo hai hướng bài toán: RS cho phản hồi tường minh (explicit feedback) và không tường minh (implicit feddback) Người dùng có thể đưa

ra phản hồi tường minh thông qua đánh giá, xếp hạng mục tin dạng: từ  đến

, like () hoặc disklike ()… Rất nhiều hệ thống lớn thu thập thông tin

phản hồi từ khách hàng một cách tường minh, như Ebay, Amazon, LastFM, NetFlix,

ở đó người sẽ trực tiếp đánh giá trên sản phẩm Thông qua việc thu thập phản hồi tường minh, hệ thống dễ dàng xác định mức độ yêu thích của người dùng trên sản

phẩm, từ đó dự đoán các sản phẩm tiếp theo mà người dùng có thể thích để gợi ý cho

họ Tuy nhiên, điều này có thể gặp khó khăn do không phải người dùng lúc nào cũng

sẵn sàng/vui lòng để lại các phản hồi của họ, lượng phản hồi tường minh thường rất ít

so với lượng xem/sử dụng mục tin của người dùng, vì vậy hệ thống phải tự xác định người dùng cần gì thông qua phản hồi không tường minh Phản hồi không tường minh (hay thường gọi là phản hồi tiềm ẩn) có thể được nhận qua thời gian nghe nhạc, số lần download, số lần lặp lại video, số lần chọn mua hàng… Từ dữ liệu này, RS dự đoán

xếp hạng (rating prediction) cho hệ thống có phản hồi tường minh và dự đoán mục thông tin (item prediction/ recommenđation) – hay xác định xác suất mà người dùng thích mục tin tương ứng

1 1.4 Các kĩ thuật lọc thông tin

Lọc thông tin (Information Filtering) là quá trình lọc bỏ những thông tin không

thích hợp và cung cấp thông tin thích hợp đến với mỗi người dùng Hiện nay có nhiều phương pháp lọc thông tin trong RS, nhiều giải thuật được nghiên cứu và đề xuất, tuy nhiên, có thể xếp các kỹ thuật này vào bốn nhóm chính:

a Lọc dựa trên nội dung (Content-based filtering)

Lọc theo nội dung là phương pháp thực hiện dựa trên việc so sánh nội dung thông tin hay mô tả hàng hóa, nhằm tìm ra những sản phẩm tương tự với những gì mà người dùng đã từng quan tâm để giới thiệu cho họ những sản phẩm này Ví dụ, nếu người dùng đã đánh giá tích cực một bộ phim thuộc về thể loại phim hành động, sau

đó hệ thống có thể học cách gợi ý phim khác từ thể loại này Các phương pháp tiếp cận lọc theo nội dung có nguồn gốc từ lĩnh vực truy vấn thông tin, trong đó mỗi sản phẩm được biểu diễn bằng một hồ sơ thuộc tính/nội dung (attributes), mỗi người dùng được biểu diễn bằng một hồ sơ người dùng (profiles) Lọc dựa trên nội dung thực hiện hiệu

quả trên các đối tượng dữ liệu biểu diễn dưới dạng văn bản

Lọc theo nội dung được tiếp cận theo hai xu hướng: Lọc dựa trên bộ nhớ và lọc

Trang 19

dựa trên mô hình

 Lọc nội dung dựa vào bộ nhớ

Phương pháp lọc nội dung dựa vào bộ nhớ sử dụng toàn bộ tập hồ sơ sản phẩm

và tập hồ sơ người dùng để thực hiện huấn luyện và dự đoán Trong phương pháp này, các sản phẩm mới được tính toán và so sánh với tất cả hồ sơ người dùng Những sản phẩm mới có mức độ tương tự cao nhất với hồ sơ người dùng sẽ được dùng để tư vấn cho người dùng này

 Lọc nội dung dựa vào mô hình

Phương pháp này sử dụng tập hồ sơ sản phẩm và tập hồ sơ người dùng để xây dựng mô hình huấn luyện Mô hình dự đoán sau đó sẽ sử dụng kết quả của mô hình huấn luyện để sinh ra tư vấn cho người dùng Trong cách tiếp cận này, lọc nội dung có thể sử dụng các kỹ thuật học máy như mạng Bayes, phân cụm, cây quyết định, mạng nơron nhân tạo để tạo nên dự đoán

b Lọc cộng tác (Collaborative filtering)

Phương pháp lọc cộng tác được thực hiện thông qua thị hiếu đã được biết đến của

một nhóm người dùng để đưa các tư vấn hoặc dự đoán về thị hiếu chưa biết cho một số người dùng khác Lọc cộng tác sử dụng cơ sở dữ liệu về sở thích của người dùng đối

với các item để dự đoán các chủ đề hoặc sản phẩm thêm vào cho một người dùng mới

có cùng sở thích

Khác với lọc theo nội dung, lọc cộng tác khai thác những khía cạnh liên quan đến thói quen sở thích của người sử dụng sản phẩm để đưa ra dự đoán các sản phẩm mới cho người dùng So với lọc theo nội dung, lọc cộng tác không phải phân tích, đánh chỉ

mục cho các đặc trưng nội dung sản phẩm, không cần phải tạo profile người dùng Chính vì vậy, lọc cộng tác có thể lọc hiệu quả trên nhiều dạng sản phẩm khác nhau Cùng trên một RS, người dùng sẽ được tư vấn nhiều loại mục tin khác nhau, mặc dù các mặt hàng này có thể biểu diễn trên không gian các đặc trưng thuộc tính/nội dung khác nhau

Bài toán lọc cộng tác

Ký hiệu U= {u1, u2,…, uN} là tập gồm N người dùng, I= {i1, i2, , iM} là tập gồm

M sản phẩm, tập R={rij}, với i = 1 N, j = 1 M là ma trận đánh giá, trong đó mỗi người dùng ui∈ U đưa ra đánh giá của mình cho một số sản phẩm ij∈ I bằng một trọng số rij Giá trị rij ∈ R phản ánh mức độ ưa thích của người dùng uiđối với sản phẩm ij Giá trị

rij có thể được thu thập tường minh hoặc tiềm ẩm Giá trị rij = Ø trong trường hợp người dùng uichưa đánh giá hoặc chưa bao giờ biết đến sản phẩm ij

Để tư vấn cho người dùng ua (người dùng hiện thời), lọc cộng tác là dự đoán đánh giá của uađối với những mặt hàng mà uachưa đánh giá (raj = Ø), trên cơ sở đó tư

vấn cho ua những sản phẩm được đánh giá cao

Hình 1.1 thể hiện một ví dụ với ma trận đánh giá R = (rij) gồm N người dùng U = {u1, u2, …, uN-1, uN} và M sản phẩm I= {i1, i2,… , iM} Mỗi người dùng đều đưa ra các

Trang 20

đánh giá của mình về các sản phẩm thuộc tập {Ø, 1, 2, 3, 4, 5} Giá trị rij = Ø được

hiểu là người dùng uichưa đánh giá hoặc chưa bao giờ biết đến sản phẩm ij

Hình 1.1 Minh h ọa ma trận người dùng – sản phẩm trong lọc cộng tác

 Các nhóm giải thuật chủ yếu dùng trong lọc cộng tác:

- Phương pháp láng giềng (neighborhood-based hay memory-based): dựa trên dữ

liệu quá khứ của người dùng “tương tự” (similarity) – user-based approach, hoặc dựa trên dữ liệu quá khứ của những mục tin “tương tự” – item-based approach [7,8,13]

- Dựa trên mô hình (model-based): dựa trên dữ liệu quá khứ, xây dựng mô hình

dự đoán, chẳng hạn mô hình Bayesian, mô hình nhân tố tiềm ẩn (latent factor models) [8,18]

c Phương pháp kết hợp (Hybrid filtering)

Phương pháp lọc kết hợp sử dụng đồng thời nhiều kỹ thuật lọc thông tin Hệ

thống này thông thường sử dụng kỹ thuật này để khắc phục khuyết điểm của kỹ thuật khác Chẳng hạn, một RS sử dụng CF thường ít đưa ra gợi ý về những sản phẩm không được xếp hạng như sản phẩm mới, nhưng người dùng có thể tiếp cận thông tin này qua

mô tả về sản phẩm dựa trên phương pháp lọc dựa trên nội dung

d Lọc không cá nhân hóa (non-personalization)

Phương pháp lọc không cá nhân hóa không dựa trên cá nhân cụ thể để đưa ra gợi

ý, mà gợi ý dựa trên những đánh giá chung nhất cho cộng đồng người dùng, hoặc theo các nhóm hàng có thể kết hợp với nhau Do nhóm kỹ thuật này khá đơn giản, dễ cài đặt, nên thông thường tất cả các website đều tích hợp vào hệ thống, gồm cả các website thương mại điện tử, tin tức, hay giải trí… Điển hình, Amazon thông qua luật

kết hợp đã áp dụng khá thành công để tìm ra các sản phẩm hay được mua cùng nhau

và giới thiệu cho người dùng Tuy nhiên, vì không cá nhân hóa nên tất cả các người dùng đều dược gợi ý giống nhau khi chọn cùng sản phẩm

Các hệ thống RS thường tập trung vào hai nhóm kỹ thuật lọc đựa trên nội dung

và lọc cộng tác Tuy nhiên, vì lọc dựa trên nội dung gây khó khăn trong việc thu thập

Trang 21

thông tin, bóc tách, mô tả đặc tính thông tin, tạo profile người dùng,… trong khi mô hình lọc cộng tác chỉ cần ba thông tin về user id, item id và feedback là có thể hoạt

động, nên phương pháp lọc cộng tác thường được sử dụng rộng rãi nhất để xây dựng

hệ thống gợi ý

1.1.5 C ác giai đoạn trong hệ thống gợi ý

Các hệ thống gợi ý thông thường được xây dựng qua ba bước tuần tự [2,8]:

Bước 1 Thu thập, trình bày, tổ chức, chọn lọc lại dữ liệu sử dụng để xây dựng hệ

thống dựa trên dữ liệu có sẵn trong hệ thống (representation) Như đã nêu ở các phần trước, dữ liệu này bao gồm user, item và feedback (ở dạng tiềm ẩn hoặc tường minh), được thể hiện dưới nhiều dạng khác nhau như véc tơ các từ khóa, hay các mối quan hệ

Bước 2 Tính độ tương quan hoặc tương tự giữa những người dùng, những mục

tin Bước này sử dụng các phương pháp Pearson, Cosine, kỹ thuật phân nhóm, …

Bước 3 Hệ thống đưa ra danh sách các mục dữ liệu đề nghị, hoặc giá trị đánh

giá/xếp hạng dự đoán của dữ liệu

1 1.6 Phương pháp đánh giá mô hình hệ thống gợi ý

Khi xây dựng một hệ thống gợi ý, người ta thường quan tâm đến tính hiệu quả

của nó Một hệ thống gợi ý tốt sẽ mang lại hiệu hiệu quả về thời gian, tiết kiệm chi phí cho người dùng, tăng sự uy tín cho hệ thống cũng như mang lại hiệu suất bán hàng vô cùng lớn trong thương mại điện tử Tuy nhiên, việc đánh giá tính hiệu quả của một hệ

thống gợi ý còn phụ thuộc rất nhiều vào mục đích xây dựng hệ thống, loại dữ liệu và điều kiện để đánh giá hệ thống (đánh giá trực tuyến (online) hay dựa vào dữ liệu có

sẵn (offline)) Đối với đánh giá offline, tập dữ liệu có sẵn được chia thành hai phần:

tập huấn luyện và tập kiểm tra; sử dụng nghi thức k-fold và hold-out Ưu điểm của đánh giá offline là được thực hiện nhanh chóng, ít tốn kém và có thể thực hiện trên tập

dữ liệu lớn; nhược điểm là chỉ dự đoán với tỉ lệ người dùng nhất định, không đo được

mức độ hài lòng thực tế, khó đánh giá độ chính xác như đánh giá online Đối với đánh giá online, hệ thống ghi nhận những tương tác của người dùng với mục tin, hỏi/yêu

cầu người dùng xếp hạng, đánh giá, từ đó có được đánh giá thực của người dùng Tuy nhiên, nhược điểm lớn của cách thức này là mất nhiều thời gian, người dùng ít khi sẵn sàng để lại đánh giá của mình

Có nhiều phương pháp đánh giá một hệ thống gợi ý, thường được phân thành 2 nhóm theo tiêu chí định tính (tính đa dạng, tính mới, tính bao phủ) và định lượng (Precision, Recall, F-Score, MSE, RMSE) [2,4]

a Tiêu chí định lượng

 Đánh giá độ chính xác của gợi ý

Có thể đánh giá tính chính xác của gợi ý thông qua các phương pháp: sai số bình phương trung bình (MSE – Mean Square Error), căn của sai số bình phương trung bình (RMSE – Root Neam Square Error), hoặc sai số tuyệt đối trung bình (MAE – Mean Absolute Error)

Trang 22

Tính chính xác của các dự đoán được đo trên n quan s át, trong đó pi là giá trị dự đoán đánh giá và ri là giá trị đánh giá thực tế của mục i

 Đánh giá việc sử dụng các dự đoán

Các phương pháp trên chưa áp dụng để đánh giá được trong trường hợp hệ thống

gợi ý sử dụng cơ sở dữ liệu dạng nhị phân Do đó, ngoài việc đánh giá tính chính xác

của các dự đoán, một số chỉ số khác như Precision, Recall, F-score được dùng để đánh

giá việc sử dụng của các dự đoán Các chỉ số này phù hợp cho mỗi người dùng thay vì đánh giá số điểm liên quan đến từng đề nghị Đề nghị được coi là phù hợp khi người dùng chọn mục dữ liệu từ danh sách những đề nghị đã được gợi ý cho người dùng [3,4]

Precision (độ phù hợp, hay độ chính xác) là tỷ lệ giữa số lượng các gợi ý phù

hợp và tổng số các gợi ý đã được đưa ra Precision càng cao càng thể hiện tính phù

hợp của các kiến nghị Precision bằng 100% có nghĩa là tất cả các kiến nghị đều phù

hợp

Precision = 𝑆𝑆ố 𝑔𝑔ợ𝑖𝑖 ý 𝑝𝑝ℎù ℎợ𝑝𝑝

𝑇𝑇ổ𝑛𝑛𝑔𝑔 𝑠𝑠ố 𝑔𝑔ợ𝑖𝑖 ý đượ𝑐𝑐 đư𝑎𝑎 𝑟𝑟𝑎𝑎

Recall (độ phủ) được định nghĩa bởi tỉ lệ giữa số lượng các gợi ý phù hợp và số

lượng các mục dữ liệu mà người dùng đã chọn lựa (xem, nghe, mua, đọc) Recall được

sử dụng để đo khả năng hệthống tìm được những mục dữ liệu phù hợp so với những gì

mà người dùng cần

Recall = 𝑆𝑆ố 𝑔𝑔ợ𝑖𝑖 ý 𝑝𝑝ℎù ℎợ𝑝𝑝

𝑇𝑇ổ𝑛𝑛𝑔𝑔 𝑠𝑠ố 𝑠𝑠ả𝑛𝑛 𝑝𝑝ℎẩ𝑚𝑚 đượ𝑐𝑐 𝑚𝑚𝑚𝑚𝑎𝑎 𝑏𝑏ở𝑖𝑖 𝑛𝑛𝑔𝑔ườ𝑖𝑖 𝑑𝑑ù𝑛𝑛𝑔𝑔

Tuy nhiên, trong một số trường hợp thì precision và recall có giá trị tỉ lệ nghịch

với nhau Do đó, chỉ số F-score được sử dụng để đánh giá hiệu quả tổng thể của hệ

thống bằng cách kết hợp hài hòa hai chỉ số Recall và Precision

Trang 23

- Tính mới: nhiều RS đưa ra gợi ý rất chính xác, nhưng nó không có hữu dụng trong một số trường hợp Chẳng hạn một siêu thị ở châu Âu sử dụng RS và đưa ra gợi

ý “sữa tươi” cho khách hàng Gợi ý này chính xác, nhưng không có ý nghĩa bởi tất cả khách hàng đều mua sữa, quen thuộc với sản phẩm này Do đó việc giới thiệu với khách hàng một mặt hàng mới mà họ chưa biết, chưa nghĩ tới, có khả năng làm họ hài lòng là một việc rất quan trọng

- Tính đa dạng: có thể phân thành hai loại: đa dạng cá nhân và đa dạng tổng thể, dùng để đo lường khả năng cung cấp một danh sách các mục dữ liệu được phân phối

từ nhiều loại khác nhau Đa dạng cá nhân được tính toán dựa trên trung bình sự khác nhau giữa tất cả các cặp mục dữ liệu đã gợi ý Đa dạng tổng thể quan tâm đến mục dữ

liệu đã gợi ý hơn là quan tâm đến người dùng Tính đa dạng rất quan trọng trong nhiều trường hợp, chẳng hạn như gợi ý địa điểm du lịch

- Độ bao phủ của các gợi ý: đo số lượng lĩnh vực mà danh sách các sản phẩm gợi

ý được tạo ra thuộc về chúng, số lĩnh vực này có bao phủ được hệ thống hay không Các dễ nhất để đo độ bao phủ là chọn một cách ngẫu nhiên cặp user hoặc item, yêu cầu

dự đoán cho mỗi cặp, và đo tỉ lệ phần trăm mà dự đoán được cung cấp

1.2 T ổng quan về thuật toán tối ưu bầy đàn PSO

1.2.1 Gi ới thiệu

Thuật toán tối ưu bầy đàn (Particle Swarm Optimization - PSO) là một thuật toán tìm kiếm ngẫu nhiên dựa trên một quần thể và một giải pháp thay thế cho vấn đề tối ưu hóa phức tạp phi tuyến tính Thuật toán PSO lần đầu tiên được Tiến sĩ Kennedy và Eberhart giới thiệu vào năm 1995 và ý tưởng cơ bản ban đầu của thuật toán được lấy

cảm hứng từ việc mô phỏng hành vi xã hội của động vật như đàn chim, đàn cá,… [10,14,16] Nó dựa trên quá trình giao tiếp theo nhóm tự nhiên để chia sẻ kiến thức cá nhân khi một nhóm chim hoặc côn trùng tìm kiếm thức ăn, hoặc di cư, … trong một không gian tìm kiếm, mặc dù tất cả các loài chim hoặc côn trùng không biết vị trí tốt

nhất Nhưng từ bản chất của hành vi xã hội, nếu bất kỳ thành viên nào có thể tìm ra

một con đường tốt để đi, các thành viên còn lại sẽ làm theo một cách nhanh chóng Phương pháp PSO đang trở nên phổ biến vì sự đơn giản trong việc thực hiện vì

nó chỉ sử dụng toán tử toán học nguyên thủy, cũng như khả năng hội tụ một cách nhanh chóng để đạt được một giải pháp tốt So với các phương pháp tối ưu hóa khác,

nó nhanh hơn, rẻ hơn và hiệu quả hơn Ngoài ra, có vài tham số có thể điều chỉnh

Trang 24

trong PSO, giúp tăng khả năng mở rộng bài toán, do đó PSO là một giải pháp lý tưởng

tối ưu hóa giải quyết vấn đề tối ưu hóa PSO rất phù hợp để giải quyết các vấn đề về phi tuyến, không lồi, liên tục, rời rạc, biến nguyên

Trong PSO, mỗi thành viên được gọi là một cá thể Bắt đầu với một bầy đàn đã được khởi tạo ngẫu nhiên và di chuyển theo các hướng ngẫu nhiên trong không gian tìm kiếm, mỗi cá thể có một vận tốc ban đầu và có thể liên lạc với nhau Mỗi cá thể đi qua không gian tìm kiếm và ghi nhớ những vị trí tốt nhất trước đó của chính nó và các

cá thể lân cận của nó Các cá thể trong đàn giao tiếp các vị trí tốt với nhau cũng như tự động điều chỉnh vị trí và vận tốc của chúng đến từ vị trí tốt nhất của nhóm cá thể lân

cận Cuối cùng, các cá thể di chuyển dần về vị trí ngày càng tốt hơn trong quá trình tìm

kiếm trên toàn cục, cho đến khi di chuyển đến gần với giá trị tốt nhất của một hàm thích nghi (fitness function) thỏa yêu cầu của việc tìm kiếm

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

Bầy đàn là một quần thể các sinh vật có tương tác với nhau Bầy đàn thông minh (Swarm Intelligence – SI) có thể là tự nhiên hoặc nhân tạo [17] Khái niệm này lần đầu được sử dụng trong hệ thống robot di động của Beni và Wang vào những năm 1980 [19] Sau đó, các nhà khoa học đã nghiên cứu, tìm hiểu sâu hơn về các hành vi xã hội

của các loài sinh vật như bầy chim, bầy cá, bầy ong đi tìm nguồn nước, thức ăn, di cư, đổi hướng tránh kẻ thù,… từ đó đưa ra được mô hình bầy đàn như là một giải pháp chiến lược quan trọng trong việc giải quyết các bài toán tối ưu ràng buộc và không có ràng buộc Có hai lĩnh vực nghiên cứu chính dựa trên bầy đàn thông minh: Giải thuật

tối ưu đàn kiến (Ant Colony Optimization – ACO) và Giải thuật tối ưu bầy đàn (Particle Swarm Optimization – PSO) Đối với PSO, các tác giả đã phát triển các phương pháp đơn giản nhưng hiệu quả trong vấn đề tối ưu hóa các hàm mục tiêu dạng phi tuyến liên tục và đã áp dụng thành công để giải nhiều bài toán cực trị hàm số và một số bài toán tối ưu đa mục tiêu khác

b Một số định nghĩa tối ưu bầy đàn

Mô hình bài toán tối ưu tổng quát trong PSO được nghiên cứu trong không gian n chiều Rn Dưới đây thể hiện một số định nghĩa sử dụng trong PSO [9,17,21]:

- Định nghĩa 1: Mỗi cá thể P i được mô hình như một cá thể của đàn chim Ở mỗi

thế hệ, các cá thể Pi có một vài vị trí x k trong không gian tìm kiếm R n và x k + 1 sẽ cho

biết vị trí của cá thể thứ k sau khi được cập nhật lại thế hệ i sau đó

Mỗi cá thể biểu diễn một lời giải của bài toán – được xem như một vị trí trong không gian tìm kiếm đó, tuy nhiên đây chưa phải là lời giải tối ưu Mỗi cá thể có thể được biểu diễn ở các dạng cấu trúc dữ liệu khác nhau như dạng cây, dạng chuỗi số hay dạng mã nhị phân,… tùy vào mô hình bài toán

- Định nghĩa 2: Một bầy đàn P = (P1 , P2 , , Pn ) là một tập các cá thể, hay là

một tập các lời giải của bài toán Các cá thể có thể liên lạc để thông tin về toàn bộ bầy

Trang 25

đàn hoặc thông tin về một phần của đàn, thường là thông tin về cá thể tốt nhất trong đàn, thông tin này được đánh giá qua giá trị của hàm mục tiêu

Hình 1.2 Các cá th ể trong không gian lời giải (trước và sau khi đạt mục tiêu)[17]

- Định nghĩa 3: Mỗi cá thể có một vận tốc riêng dùng để tính vị trí tiếp theo của

cá thể trong không gian lời giải của bài toán Mỗi cá thể sẽ di chuyển trong không gian

bài toán để tìm ra lời giải tối ưu Vận tốc của cá thể v i k = (u1, u2 , , un ) là một vector

làm thay đổi vị trí của cá thể P i ở thế hệ k Quan hệ vị trí – vận tốc có mối quan hệ như

sau:

𝑥𝑥𝑘𝑘 + 1𝑖𝑖 = 𝑥𝑥𝑘𝑘𝑖𝑖 + 𝑣𝑣𝑘𝑘 + 1𝑖𝑖Giá trị v i k + 1 được cập nhật theo kinh nghiệm bay tốt nhất của cá thể trong quá

khứ và kinh nghiệm bay tốt nhất của cá thể tốt nhất trong đàn Nó sẽ tiến hành điều

chỉnh hướng tới vị trí mới x i k+ 1.

Vận tốc của cá thể sẽ bị ảnh hưởng bởi chính cá thể và các cá thể lân cận thông qua các công thức sau đây:

𝑣𝑣𝑖𝑖𝑘𝑘+1 = 𝑤𝑤𝑣𝑣𝑖𝑖𝑘𝑘 + 𝑐𝑐1 𝑟𝑟𝑟𝑟𝑛𝑛𝑟𝑟1�𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑖𝑖 − 𝑥𝑥𝑖𝑖𝑘𝑘� + 𝑐𝑐2 𝑟𝑟𝑟𝑟𝑛𝑛𝑟𝑟2�𝑔𝑔𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑖𝑖− 𝑥𝑥𝑖𝑖𝑘𝑘�

Hình 1.3 V ận tốc và vị trí được cập nhật trên không gian tìm kiếm [17]

- Định nghĩa 4: Lân cận (neighbourhood) xác định các nhóm cá thể ở gần nhau,

có thể tương tác với nhau, xác định cấu trúc xã hội của bầy đàn Với cùng một lân cận,

Trang 26

các cá thể sẽ tương tác, giao tiếp và chia sẻ thông tin với nhau Trong PSO, các lân cận được xác định thông qua các nhãn Các lân cận có thể chồng lên nhau và một cá thể có thể thuộc nhiều lân cận Có 2 dạng lân cận trong PSO: Local (lân cận cục bộ hay lân cận cá nhân) và Global (lân cận toàn cục, hay một thực thể bầy đàn được xem là lân

cận) Cá thể trong lân cận trên sẽ lấy thông tin từ hai cá thể trong cùng lân cận có kết

nối trực tiếp tới nó Các cấu trúc liên kết theo dạng hình sao, dạng vòng, bánh xe là các cấu trúc lân cận thường được sử dụng

Hình 1.4 Các topology lân c ận hình sao, dạng vòng và bánh xe trong PSO [17]

- Định nghĩa 5: Hàm mục tiêu (objective function) hay hàm thích nghi (fitness

function) hay hàm đánh giá (evaluation function) f(x) là hàm thể hiện yêu cầu của bài toán cần đạt, dùng dùng để đánh giá các lời giải của bài toán Tùy vào bài toán khác nhau, hàm mục tiêu sẽ khác nhau Bằng cách đánh giá và so sánh giải pháp hiện tại với

giải pháp tốt nhất, các cá thể sẽ xác định bước đi tiếp theo Ba giải pháp (vị trí) tốt nhất là: tốt nhất cá nhân (pbest), tốt nhất toàn cục (gbest) và tốt nhất cục bộ (lbest)

- Định nghĩa 6: Giá trị tối ưu toàn cục x* là giá trị thỏa điều kiện:

f(x*) ≤f(x), ∀𝑥𝑥 ∈ 𝑀𝑀

Trong đó, S là không gian tìm kiếm và S = Rn

Hình 1.5 V ị trí và vận tốc của các cá thể được cập nhật trong toàn cục [17]

- Định nghĩa 7: Giá trị tối ưu cục bộ 𝑥𝑥∗𝐿𝐿 trong phạm vi L được xác định khi:

f(𝑥𝑥∗𝐿𝐿 ) ≤f(x), ∀𝑥𝑥 ∈ 𝐿𝐿 Trong đó, 𝐿𝐿 ⊆ 𝑅𝑅*

Trang 27

Hình 1.6 V ị trí và vận tốc của các cá thể được cập nhật trong cục bộ [17]

1.2.3 Thu ật toán PSO

 Phát bi ểu thuật toán [17]

Một bầy đàn ban đầu gồm n cá thể, mỗi cá thể là một lời giải của bài toán, nhưng

chưa đạt tối ưu Mỗi cá thể thứ i trong quần thể được biểu diễn bởi một vector x i m

chiều và một vector vận tốc v i (i = 1 n) Hàm m ục tiêu của bài toán là f: R mR đạt khi có một giá trị x* đạt cực tiểu hoặc cực đại trên không gian tìm kiếm

 Gi ải thuật

Bước 1: Khởi tạo quần thể, bao gồm khởi tạo vector vị trí x i và vector vận tốc v i

cho cá thể thứ i, với i = 1, , n (cho mỗi cá thể Pi trong quần thể P(n))

Bước 2: Khởi tạo các thông tin ban đầu về vị trí tốt nhất của các cá thể và cả bầy

đàn:

• Khởi tạo vị trí tốt nhất của từng cá thể chính là vị trí khởi tạo hiện tại:

pbesti = xi

• Khởi tạo vị trí tốt nhất của cả quần thể bằng vị trí nhỏ nhất trong tất cả các vị trí

của tất cả các cá thể được khởi tạo:

gbest = min (f(xi)), với i = 1, n

Bước 3: Lặp với điều kiện lặp xác định trước (sau một số lần lặp cho trước hoặc

sau một số lần lặp mà không thu được kết quả tốt hơn)

//với mỗi cá thể

for i=1 n

//cập nhật lại chuyển động ở thế hệ tiếp theo theo chuyển động tốt nhất hiện tại

của chính cá thể và theo chuyển động của cá thể tốt nhất trọng đàn

vik+1 = w.vik + c1.rand1.(pbesti – xik) + c2.rand2.(gbest – xik)

//cập nhật lại vị trí theo vị trí hiện tại và theo hướng chuyển động mới nhất

xik+1= xik + vik+1

//cập nhật vị trí tốt nhất của mỗi cá thể bằng việc so sánh với vị trí hiện tại

Trang 28

if f(xi) < f (pbesti) then pbesti = xi

//cập nhật ví trí tốt nhất của cả đàn bằng việc so sánh với cá thể tốt nhất hiện tại

if f(xi) < f (gbest) then gbest = xi

Bước 4: Kết thúc, trả về giá trị tốt nhất gbest

Trong đó:

• w là hằng số quán tính, cần giảm giá trị tuyến tính từ 1 xuống 0 theo một số lần

lặp xác định trước Giá trị w càng lớn cho phép các cá thể thăm dò càng rộng, w càng

nhỏ càng tăng cơ hội để đạt tối ưu cục bộ Do đó, hiệu suất tốt nhất có thể đạt được

bằng cách sử dụng một giá trị w lớn cho đầu vào (như 0.9), và giảm dần xuống cho đến khi đạt đến một giá trị nhỏ khác của w [5]

• c1 và c2 là hệ số gia tốc, là hằng số mô tả có bao nhiêu cá thể hướng về vị trí tốt, đặc trưng cho kinh nghiệm và tính xã hội, thường nhận giá trị khoảng từ 1.5 đến 2.5 [5]

• rand1 và rand2 là hai số ngẫu nhiên, lấy giá trị trong đoạn [0,1], được sinh ra tại

mỗi bước lặp

• pbesti là vị trí tốt nhất cho đến thời điểm hiện tại của cá thể thứ i trong quần thể

• gbest là vị trí tốt nhất của cả quần thể tại thời điểm hiện tại

Trang 29

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

Trang 30

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

Như đã đề cập ở phần trước, hệ thống lọc cộng tác khai thác thông tin về sở thích

của các người dùng đối với các mục tin tương tự trong quá khứ Sự thành công của hệ

thống phụ thuộc lớn nhất vào kỹ thuật lựa chọn tập hợp những người dùng tương đồng

với nhau Giả sử nếu hai người dùng u và u’ đánh giá cho n sản phẩm tương tự nhau, hoặc có hành vi tương tự nhau trên sản phẩm như nghe lặp lại một bài hát, mua một sản phẩm… thì họ sẽ có các đánh giá tương tự nhau đối với các sản phẩm khác

Trong hệ thống lọc cộng tác, tập hợp U = {u1, u2, , uN} biểu diễn cho tập người dùng và tập hợp các mục tin I = {i1, i2, , iM} Xếp hạng của người dùng cho các mục tin được lưu trữ trong ma trận xếp hạng R ở dạng tường minh Tuân thủ đúng quy trình, có ba bước cần thiết để xây dựng hệ thống gợi ý lọc cộng tác:

Thu th ập dữ liệu để tạo hồ sơ người dùng: Việc xây dựng mô hình người dùng

thông thường chỉ phụ thuộc vào xếp hạng tường minh của người dùng Tuy nhiên, trong các trường hợp người dùng chỉ đánh giá cho những mục tin được yêu thích quá

phổ biến thì không thể đánh giá các người dùng này tương tự nhau Lúc này, những

yếu tố khác như bối cảnh, thông tin về tuổi, giới tính, nghề nghiệp… được thu thập thêm để phân loại người dùng rõ ràng hơn

Thi ết lập tập láng giềng: Ở bước này, những láng giềng gần nhất là một nhóm

người dùng tương đồng với nhau Thông thường, có hai cách tiếp cận của lọc cộng tác theo mô hình K láng giềng: dựa trên người dùng và dựa trên sản phẩm Kích thước của

tập láng giềng có thể được thiết lập bằng cách chọn K người dùng hoặc K mục tin Các

độ đo tương tự thường được đề cập là Cosin, Pearson, …

D ự đoán và khuyến nghị: Khi tìm ra láng giềng K, có thể kết hợp dựa vào xếp

hạng của các láng giềng để tính giá trị dự doán cho các mục thông tin mà người dùng chưa có đánh giá Sau khi dự đoán các đánh giá, hệ thống sẽ xác định top-N mục tin tiêu biểu với giá trị dự đoán cao nhất và gợi ý cho người dùng Giá trị dự đoán 𝑟𝑟̂𝑚𝑚,𝑖𝑖 cho

mục tin i của người dùng u sẽ được tính:

Trang 31

𝑟𝑟̂𝑚𝑚,𝑖𝑖 = 𝑟𝑟̅𝑚𝑚+ ∑𝑚𝑚′ ∈𝐾𝐾 𝑢𝑢𝑝𝑝𝑖𝑖𝑠𝑠(𝑢𝑢, 𝑢𝑢′) �𝑟𝑟𝑚𝑚′ ,𝑖𝑖 − 𝑟𝑟̅𝑚𝑚′�

∑𝑚𝑚′ ∈𝐾𝐾𝑢𝑢|𝑝𝑝𝑖𝑖𝑠𝑠(𝑢𝑢, 𝑢𝑢′)|

Giải thuật User_KNN và Item_KNNcó thể được biểu diễn như sau:

1: procedure USERKNN-CF (𝒓𝒓�𝒖𝒖,r,D train)

6: for i=1 to K do 7: Ki ← k // Các item k gần nhất của i

8: end for

9: for u = 1 to N do

10: Tính 𝒓𝒓�𝒖𝒖,𝒊𝒊11: end for 12: end procedure

Hình 2.1 Gi ải thuật User_KNN và Item_KNN

Nhìn chung User_KNN và Item_KNN không yêu cầu nhiều về tính toán, có thể đưa trực tiếp dữ liệu mới vào bảng dữ liệu, do đó có thể đưa ra tư vấn nhanh chóng, chính xác cao cho một lượng lớn người dùng Hệ thống dễ dàng thu thập dữ liệu, có

thể đưa ra nhiều gợi ý bất ngờ phù hợp với người dùng, và đặc biệt hiệu quả cao trong các hệ trực tuyến – nơi dữ liệu mới luôn được cập nhật Tuy nhiên, tồn tại một số vấn

đề trong một hệ thống lọc cộng tác truyền thống: vấn đề dữ liệu thưa, nhiều người dùng mới, mục tin mới; các mục tin phổ biến không thể dùng cho đánh giá chính xác

về sở thích người dùng, tất cả người dùng và mục tin đều có độ quan trọng đồng đều

với nhau, do đó hiệu quả gợi ý chưa cao

2.2 Phương pháp lọc cộng tác sử dụng kỹ thuật phân cụm Spectral

Bản chất của phương pháp này là ứng dụng kỹ thuật phân cụm Spectral vào trong

lọc cộng tác vừa dựa trên user và item, trong đó các đánh giá, xếp hạng chưa biết được suy ra từ các xếp hạng tường minh của nhóm user hoặc item tương tự

Kỹ thuật phân cụm Spectral đặc trưng ở việc xử lý phân nhóm tương tự như phân chia đồ thị mà không cần sử dụng các giả định về hình thức của các cụm Kỹ thuật này cho phép sử dụng các giá trị đặc trưng của ma trận tương tự với dữ liệu lớn để thực

hiện giảm chiều, sau đó sẽ chia đồ thị thành các thành phần có kích thước nhỏ hơn, kết

nối dữ liệu đến một không gian ít chiều hơn sau khi được tách ra để có thể dễ dàng xử

lý tiếp Nhóm chỉ sử dụng các vector riêng của ma trận được lấy từ dữ liệu có sẵn, do

đó dễ dàng để áp dụng thực hiện

Trang 32

 K ỹ thuật phân cụm Spectral được mô tả như sau [6]:

Đầu vào: một tập hợp n điểm (có thể là n người hoặc n mục tin) kí hiệuX=

Trong đó, 𝑝𝑝𝑖𝑖𝑖𝑖 là độ tương đồng của đối tượng i, j; 𝑥𝑥���⃗, 𝑥𝑥𝚤𝚤 ���⃗ là các vector tương ứng 𝚥𝚥

với hàng thứ i, j trong ma trận R, đại diện cho đối tượng i, j;𝜎𝜎 là tham số điều chỉnh độ

lớn của tập láng giềng Giá trị 𝜎𝜎 nhỏ sẽ thu được cấu hình láng giềng tốt, tuy nhiên nếu

𝜎𝜎 quá nhỏ thì các điểm sẽ bị phân tách xa nhau Giá trị thích hợp nhất của 𝜎𝜎 được tính:

𝐿𝐿 = 𝐷𝐷−12(𝐷𝐷 − 𝑀𝑀)𝐷𝐷−12Tính k giá trị vector đầu tiên 𝑣𝑣1, 𝑣𝑣2, … , 𝑣𝑣𝑘𝑘 của bài toán tổng quát:

𝐿𝐿𝑣𝑣 = 𝜆𝜆𝐷𝐷𝑣𝑣Xây dựng ma trận với 𝑉𝑉 ∈ 𝑅𝑅𝑛𝑛𝑘𝑘 chứa các vector 𝑣𝑣1, 𝑣𝑣2, … , 𝑣𝑣𝑘𝑘 tương ứng với các

Trang 33

Tư tưởng mô hình hệ thống phân cụm lọc cộng tác:

Hình 2.2 Mô hình h ệ thống phân cụm lọc cộng tác

(1) T ính độ tương tự giữa các cặp người dùng (hoặc cặp mục tin):

Ma trận tương tự giữa các cặp người dùng (mục tin) được tính:

𝑝𝑝𝑖𝑖𝑖𝑖 = 𝑝𝑝𝑥𝑥𝑝𝑝 �−�𝑥𝑥���⃗−𝑥𝑥 𝚤𝚤 ����⃗�𝚥𝚥 2

2𝜎𝜎 2 � với i, j = 1, …, n

Tiếp tục các bước trong mô tả phân cụm theo Spectral ở phần 2.2

(2) Ti ếp đến áp dụng phân nhóm dựa trên người dùng:

Tính toán giá trị đánh giá chưa biết 𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈 của một mục tin i đối với người dùng u

bằng công thức:

𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈 = 𝑘𝑘𝑐𝑐� 𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑢𝑢, 𝑙𝑙) × 𝑟𝑟𝑅𝑅𝑖𝑖

𝑅𝑅

Đúng Sai

Trang 34

Trong đó: 𝑘𝑘𝑐𝑐 là giá trị chuẩn hóa, được tính: 𝑘𝑘𝑐𝑐 =∑ �𝑠𝑠𝑖𝑖𝑚𝑚1𝑈𝑈(𝑚𝑚,𝑅𝑅)�

𝑙𝑙 ; với 𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑢𝑢, 𝑙𝑙) là

độ tương tự giữa người dùng u và người dùng tương tự l, và l là chỉ số của những người dùng tương tự với người dùng u đã đánh giá cho mục tin i

(3) Ti ếp đến áp dụng phân nhóm dựa trên mục tin:

Tính giá trị đánh giá chưa biết 𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 của một mục tin i cho một người dùng u bằng công thức:

𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 = 𝑘𝑘𝑔𝑔� 𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑖𝑖, 𝑙𝑙) × 𝑟𝑟𝑚𝑚𝑅𝑅

𝑅𝑅Trong đó: 𝑘𝑘𝑔𝑔 =∑ �𝑠𝑠𝑖𝑖𝑚𝑚1𝐼𝐼(𝑖𝑖,𝑘𝑘)�

𝑙𝑙 ; với 𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑖𝑖, 𝑙𝑙) là độ tương tự giữa mục tin j và mục tin tương tự k, và k là chỉ mục của những mục tin tương tự với mục tin j mà đã được đánh giá bởi người dùng i

(4) D ự đoán các giá trị đánh giá chưa biết:

Kết quả dự đoán của người dùng ứng với sản phẩm i được tổng hợp thông qua𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈

và 𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 bằng công thức:

𝑟𝑟𝑚𝑚𝑖𝑖 =∝ 𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 + (1−∝)𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈Trong đó, ∝∈ [0,1]

Nhờ việc sử dụng kỹ thuật phân cụm Spectral lặp lại trong cả hai hướng dựa trên người dùng và dựa trên mục tin để đánh giá giá trị chưa biết, nên hệ thống phân cụm

lọc cộng tác đã thành công trong giải quyếtđược vấn đề dữ liệu thưa, người dùng mới Tuy nhiên các mục tin và người dùng vẫn mang giá trị quan trọng ngang bằng nhau, có

mức độ ảnh hưởng như nhau khi tính toán độ tương tự, do đó chưa phản ánh được mức

độ quan trọng của các đặc trưng khác nhau

2.3 Phương pháp lọc cộng tác sử dụng PSO

Ở phương pháp trước, các người dùng và các mục tin có mức quan trọng ngang

bằng nhau, điều này bất lợi trong trường hợp người dùng chỉ cho đánh giá về những

mục tin được yêu thích quá phổ biến, gây ra khó khăn khi gợi ý cho người dùng về

những mục tin mang tính cá nhân hóa cao hơn, chất lượng, phù hợp với sở thích của người dùng hơn Để khắc phục sự bất lợi chúng ta sử dụng thuật toán tối ưu bầy đàn để ước tính trọng số cho người dùng và mục tin Trọng số này được dùng để cải tiến công

thức phân cụm và mô hình dự đoán

Phương pháp đề xuất xác định một bộ trọng số tối ưu 𝑤𝑤𝑈𝑈 (đại diện cho độ quan

trọng của người dùng) và 𝑤𝑤𝐼𝐼 (đại diện cho độ quan trọng của mục tin)

Cho {𝑤𝑤1𝐼𝐼, 𝑤𝑤2𝐼𝐼, … , 𝑤𝑤𝑚𝑚𝐼𝐼 ; 𝑤𝑤1𝑈𝑈, 𝑤𝑤2𝑈𝑈, … , 𝑤𝑤𝑛𝑛𝑈𝑈} là tập phương án, thể hiện trọng số của các

cá thể trong thuật toán tối ưu bầy đàn Trong đó, 𝑤𝑤𝑖𝑖𝐼𝐼 với 𝑗𝑗 = 1 𝑠𝑠 và 𝑤𝑤𝑖𝑖𝑈𝑈 với 𝑖𝑖 = 1 𝑛𝑛,

chỉ nhận giá trị trong đoạn [0,1], làm đại diện cho trọng số của các mục tin và người dùng Dữ liệu ban đầu là một tập hợp các cá thể được khởi tạo ngẫu nhiên trong không gian tìm kiếm Cấu hình tham số của thuật toán tối ưu bầy đàn được cung cấp theo

Trang 35

điều kiện dữ liệu thực tế

Trong mô hình dự đoán các trọng số w chính là các cá thể của thuật toán tối ưu

bầy đàn Các trọng số được sử dụng để cập nhật độ tương tự theo phương pháp cosine:

 Mô hình d ự đoán được xây dựng như sau:

Đầu vào: Bộ trọng số 𝑤𝑤𝑈𝑈, 𝑤𝑤𝐼𝐼

Đầu ra: Giá trị mục tiêu của mỗi cá thể

(1) Tính độ tương tự giữa các cặp người dùng (hoặc cặp mục tin):

Khi xây dựng ma trận tương tự cho các người dùng, cả hai yếu tố: giá trị xếp

hạng và trọng số của mục tin đều được sử dụng để ước tính Tương tự, khi xây dựng

ma trận tương tự giữa các mục tin, cả hai yếu tố xếp hạng và trọng số của người dùng đều được sử dụng Công thức tính toán như sau:

𝑝𝑝𝑖𝑖𝑖𝑖 = 𝑝𝑝𝑥𝑥𝑝𝑝 �−�𝑤𝑤 𝑖𝑖2𝜎𝜎−𝑤𝑤��⃗𝑥𝑥⃗2 𝑗𝑗�2�

Tiếp tục các bước trong mô tả phân cụm theo Spectral ở phần 2.2

Ở bước này, bằng việc kết hợp sử dụng cả giá trị xếp hạng và trọng số của người dùng/mục tin nên các cụm người dùng và cụm mục tin thu được chính xác và đáng tin hơn

(2) Ti ếp đến áp dụng phân nhóm dựa trên người dùng:

Trong bước này, giá trị xếp hạng dự đoán 𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈 trong ma trận sở thích của người dùng – mục tin bằng trung bình trọng số của các giá trị xếp hạng 𝑟𝑟𝑚𝑚𝑖𝑖 của tất cả những

người dùng l trong cùng cụm của người dùng u:

𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈 = 𝑘𝑘𝑐𝑐� 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑢𝑢, 𝑙𝑙) × 𝑟𝑟𝑅𝑅𝑖𝑖

𝑅𝑅

Với 𝑘𝑘𝑐𝑐 =∑ 𝑤𝑤𝑠𝑠𝑖𝑖𝑚𝑚1𝑈𝑈(𝑚𝑚,𝑅𝑅)

𝑙𝑙 là giá trị chuẩn hóa và 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑢𝑢, 𝑙𝑙) là trọng số tương tự

giữa người dùng hiện tại u và người dùng tương tự l (trong cùng cụm với i)

(3) Ti ếp đến áp dụng phân nhóm dựa trên mục tin:

Giá trị xếp hạng dự đoán 𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 được kết hợp từ những xếp hạng của người dùng trước đã đánh giá cho các mục tin trong cùng cụm với mục tin i:

𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 = 𝑘𝑘𝑔𝑔� 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑖𝑖, 𝑘𝑘) × 𝑟𝑟𝑚𝑚𝑘𝑘

𝑘𝑘

Với 𝑘𝑘𝑐𝑐 =∑ 𝑤𝑤𝑠𝑠𝑖𝑖𝑚𝑚1 𝐼𝐼(𝑖𝑖,𝑘𝑘)

𝑘𝑘 là giá trị chuẩn hóa và 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑖𝑖, 𝑘𝑘) là trọng số tương tự

giữa mục tin hiện tại i và mục tin tương tự k (trong cùng cụm với i)

(4) D ự đoán các giá trị đánh giá chưa biết:

Giá trị xếp hạng dự đoán 𝑟𝑟𝑚𝑚𝑖𝑖 được tính:

𝑟𝑟𝑚𝑚𝑖𝑖 = ∝ 𝑟𝑟𝑚𝑚𝑖𝑖𝐼𝐼 + (1−∝)𝑟𝑟𝑚𝑚𝑖𝑖𝑈𝑈

Trang 36

(5) Ước lượng giá trị mục tiêu cho mỗi cá thể trong tối ưu bầy đàn:

Giá trị mục tiêu của mỗi cá thể trong thuật toán tối ưu bầy đàn là giá trị dự đoán chính xác thu được từ mô hình dự đoán sử dụng tập trọng số được mã hóa bởi cá thể này Giá trị này được tính theo công thức trung bình lỗi tuyệt đối (Mean Absolute Error – MAE):

MAE = 1

𝑚𝑚∑ |𝑟𝑟𝑚𝑚 𝑖𝑖′− 𝑟𝑟𝑖𝑖|𝑖𝑖=1

Với |𝑟𝑟𝑖𝑖′− 𝑟𝑟𝑖𝑖| là lỗi tuyệt đối giữa mỗi xếp hạng dự đoán 𝑟𝑟𝑖𝑖′ và xếp hạng gốc 𝑟𝑟𝑖𝑖, m

là số các xếp hạng trong một tập ước lượng

Giá trị mục tiêu biểu thị khoảng cách giữa vị trí hiện tại của cá thể và vị trí tối

ưu Trong mỗi lần lặp, khoảng cách sẽ được giảm xuống Theo đó, 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 Do đó, nếu giá trị mục tiêu bằng 0 cho mỗi cá thể, thì vị trí hiện tại của cá thể chính là vị trí tối ưu

Tối ưu trọng số và ngoại suy giá trị xếp hạng

Đây là phần quan trọng nhất trong thuật toán lọc cộng tác tối ưu trọng số, được

thực hiện lần lượt qua các bước sau:

Bước 1 Tính giá trị chưa biết rui trong ma trận người dùng – mục tin theo hai hướng: dựa trên người dùng và dựa trên mục tin:

𝑟𝑟𝑚𝑚𝑖𝑖 = 𝑘𝑘𝑐𝑐� 𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑢𝑢, 𝑟𝑟) × 𝑟𝑟𝑎𝑎𝑖𝑖 + 𝑘𝑘𝑔𝑔� 𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑖𝑖, 𝑝𝑝) × 𝑟𝑟𝑚𝑚𝑏𝑏

𝑏𝑏 𝑎𝑎

Bước 2 Cấu hình các tham số cho thuật toán tối ưu bầy đàn Bước này 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ể, tiến hành:

- Áp dụng mô hình dự đoán xây dựng ở trên để ước lượng các xếp hạng chưa biết

và tính giá trị mục tiêu cho cá thể này

- 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 ở 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ể tiến trình thuật

toán tối ưu bầy đàn ở 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 đánh giá R sử dụng vị trí tốt nhất của quần thể trong

mô hình dự đoán và sử dụng ma trận vừa thiết lập làm input mới cho bước tiếp theo

Bước 7 Nếu điều kiện dừng (đạt đến số bước lặp, hoặc đạt được lỗi dự đoán)

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 các trọng số tối ưu và ma trận đánh giá cuối cùng

Hệ thống lọc cộng tác tối ưu trọng số được xây dựng dựa trên hệ thống phân cụm

lọc cộng tác, do đó nó giải quyết tốt các vấn đề về người dùng mới, dữ liệu thưa Đồng

thời, bằng việc sử dụng bộ trọng số trong việc tính toán mức độ tương đồng giữa các

Trang 37

người dùng hoặc các mục tin đã giúp cho mô hình dự đoán trở nên chính xác hơn

Việc kết hợp này tạo ra một tập láng giếng tốt nhất có thể Mô hình dự đoán được lặp

đi lặp lại để ngoại suy ra giá trị chưa biết trong ma trận R, kết quả ngoại suy bước trước được sử dụng làm đầu vào của quá trình ngoại suy bước sau, do đó kết quả luôn được cải thiện tích cực cho đến khi nhận được ma trận tối ưu

Sơ đồ thực hiện trong phương pháp lọc cộng tác tối ưu trọng số:

Hình 2.3 Mô hình l ọc cộng tác tối ưu trọng số

Trang 38

Tuy nhiên, giống như hệ thống phân cụm lọc cộng tác truyền thống, thuật toán này không áp dụng được trong trường hợp ma trận giá trị dạng nhị phân Do đó, những bài toán gợi ý địa điểm du lịch, công việc, bài báo, hẹn hò… với dữ liệu thích/không thích, lựa chọn/không lựa chọn không thể giải quyết được

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

Trong ma trận nhị phân, không thể ước lượng trực tiếp giá trị chưa biết trong ma

trận Cho ma trận đánh giá R gồm m người dùng và n mục tin, mỗi người dùng là một vector hàng, mỗi mục tin là một vector cột của ma trận Giá trị đánh giá bằng 1 khi người dùng lựa chọn mục tin Thuật toán này đề xuất công thức để tính mức độ quan tâm của người dùng i đối với mục tin j, từ đó lựa chọn ra những cặp người dùng – mục tin có mức độ quan tâm lớn hơn một ngưỡng cho trước để ước lượng những đánh giá chưa biết trong ma trận

 Thu ật toán 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):

Thực hiện giống như Bước 1, phần 2.2

(2) Áp d ụng phân nhóm dựa trên người dùng:

Tính toán ước lượng mức độ quan tâm 𝑥𝑥𝑖𝑖𝑖𝑖𝑈𝑈 của người dùng i đối với mục tin bằng công thức:

𝑥𝑥𝑖𝑖𝑖𝑖𝑈𝑈 = 𝑁𝑁1

𝑈𝑈� 𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑖𝑖, 𝑙𝑙) 𝑅𝑅

Trong đó, l là chỉ số của các người dùng trong cùng cụm với người dùng i đã lựa

chọn mục tin j; 𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑖𝑖, 𝑙𝑙) là độ tương đồng giữa cặp người dùng i, l; 𝑁𝑁𝑚𝑚 là tổng số người dùng trong cùng cụm với người dùng i đã lựa chọn mục tin j

(3) Áp d ụng phân nhóm dựa trên mục tin:

Tính ước lượng mức độ quan tâm 𝑥𝑥𝑖𝑖𝑖𝑖𝐼𝐼 của người dùng i đối với mục tin j bằng công thức:

𝑥𝑥𝑖𝑖𝑖𝑖𝐼𝐼 = 𝑁𝑁1

𝐼𝐼� 𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑘𝑘, 𝑗𝑗) 𝑅𝑅

Trong đó, k là chỉ số của các mục tin trong cùng cụm với mục tin j đã được lựa

chọn bởi người dùng i; 𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑘𝑘, 𝑗𝑗) là độ tương đồng giữa cặp công việc k và j; 𝑁𝑁𝐼𝐼 là

tổng số mục tin cùng trong cụm với mục tin j đã được lựa chọn bởi người dùng i

(4) D ự đoán các giá trị đánh giá chưa biết:

Mức độ quan tâm của người dùng i đến mục tin j được kết hợp từ giá trị 𝑥𝑥𝑖𝑖𝑖𝑖𝑈𝑈 và

𝑥𝑥𝑖𝑖𝑖𝑖𝐼𝐼 xác định trong quá trình phân cụm dựa trên người dùng và phân cụm dựa trên mục tin như sau:

𝑥𝑥𝑖𝑖𝑖𝑖 = 𝑥𝑥𝑖𝑖𝑖𝑖𝑈𝑈+ 𝑥𝑥𝑖𝑖𝑖𝑖𝐼𝐼

(5) Ước lượng các giá trị chưa biết:

Trang 39

Việc sử dụng một ngưỡng giá trị xác định để ước lượng giá trị chưa biết đã giúp

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, áp dụng trong

ma trận nhị phân Tuy nhiên, mức độ quan trọng, ưu tiên của người dùng và mục tin trong hệ thống phân cụm lọc cộng tác cải tiến vẫn chưa được tính toán Ý tưởng kết

hợp sử dụng một ngưỡng giá trị cùng với việc xây dựng một bộ trọng số tối ưu bằng phương pháp tối ưu bầy đàn được đưa ra ở phần kế tiếp sẽ giải quyết được vấn đề tồn

tại trên

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 tối ưu bầy đàn giúp xác định bộ trọng

số tối ưu đại diện cho mức độ quan trọng của các người dùng và mục tin trong việc tính toán độ tương đồng Trong bộ trọng số này 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

{𝑤𝑤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, với 0 ≤ 𝑤𝑤 ≤ 1

Tương tự như hệ thống lọc cộng tác tối ưu trọng số, quần thể đượ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

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):

Kết hợp cả giá trị đánh giá và trọng số của người dùng (hoặc mục tin) để tính toán ma trận độ tương tự giữa các người dùng (hoặc giữa các mục tin) theo công thức:

Trang 40

𝑝𝑝𝑖𝑖𝑖𝑖 = 𝑝𝑝𝑥𝑥𝑝𝑝 �−�𝑤𝑤��⃗𝑥𝑥⃗𝑖𝑖− 𝑤𝑤��⃗𝑥𝑥⃗𝑖𝑖�

2

Trong đó: 𝑤𝑤𝑥𝑥�������⃗ = (𝑤𝑤𝚤𝚤 1× 𝑥𝑥𝑖𝑖1, 𝑤𝑤2× 𝑥𝑥𝑖𝑖2, … , 𝑤𝑤𝑛𝑛× 𝑥𝑥𝑖𝑖𝑛𝑛)

Tiếp tục các bước trong mô tả phân cụm theo Spectral ở phần 2.2

(2) Áp d ụng phân nhóm dựa trên người dùng:

Mức độ quan tâm của người dùng i đối với mục tin j𝑝𝑝𝑖𝑖𝑖𝑖𝑈𝑈 theo phân cụm dựa trên người dùng được ước lượng:

𝑝𝑝𝑖𝑖𝑖𝑖𝑈𝑈 =𝑁𝑁1

𝑈𝑈� 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑖𝑖, 𝑙𝑙)𝑅𝑅

Với l là chỉ sổ của các người dùng cùng cụm với người dùng i đã quan tâm đến

mục tin j; 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝑈𝑈(𝑖𝑖, 𝑙𝑙) là độ tương đồng giữa cặp người dùng i và l; 𝑁𝑁𝑈𝑈 là tổng số người dùng trong cùng cụm với người dùng i đã quan tâm đến mục tin j

(3) Áp d ụng phân nhóm dựa trên mục tin:

Mức độ quan tâm của người dùng i đối với mục tin j 𝑝𝑝𝑖𝑖𝑖𝑖𝐼𝐼 theo phân cụm dựa trên

mục tin được ước lượng:

𝑝𝑝𝑖𝑖𝑖𝑖𝐼𝐼 = 𝑁𝑁𝐼𝐼� 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑘𝑘, 𝑗𝑗)

𝑘𝑘

Với k là chỉ số của các mục tin cùng cụm với mục tin j đã được quan tâm bởi

người dùng i; 𝑤𝑤𝑝𝑝𝑖𝑖𝑠𝑠𝐼𝐼(𝑘𝑘, 𝑗𝑗) là độ tương đồng giữa cặp mục tin k và j; 𝑁𝑁𝐼𝐼 là tổng số mục tin trong cùng cụm với mục tin j đã đã được quan tâm bởi người dùng i

(4) D ự đoán các giá trị đánh giá chưa biết:

Mức độ quan tâm 𝑝𝑝𝑖𝑖𝑖𝑖 của người dùng i đối với mục tin j được tính kết hợp:

𝑝𝑝𝑖𝑖𝑖𝑖 = 𝑤𝑤𝐼𝐼𝐼𝐼 × 𝑝𝑝𝑖𝑖𝑖𝑖𝐼𝐼 + 𝑤𝑤𝑈𝑈𝐼𝐼 × 𝑝𝑝𝑖𝑖𝑖𝑖𝑈𝑈

Với 0 ≤ 𝑤𝑤𝐼𝐼𝐼𝐼, 𝑤𝑤𝑈𝑈𝐼𝐼 ≤ 1 thu được trong quá trình thực nghiệm khi áp dụng thuật toán tối ưu bầy đàn

(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:

(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:

Ngày đăng: 15/07/2021, 15:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đ. T. Nhân và T. N. M. Thư, "HỆ TH Ố NG G Ợ I Ý ÁP D Ụ NG CHO TRANG WEB T Ổ NG H Ợ P TIN T Ứ C T Ự ĐỘ NG," (in vi), T ạp chí Khoa học Trường Đại h ọc Cần Thơ, pp. 190-197, 2013 Sách, tạp chí
Tiêu đề: HỆ THỐNG GỢI Ý ÁP DỤNG CHO TRANG WEB TỔNG HỢP TIN TỨC TỰĐỘNG
[2] N. T. Nghe, Nghiên c ứu và ứng dụng công nghệ thông tin ở Đồng bằng sông Cửu Long. Nhà xu ấ t b ản Đạ i h ọ c C ần Thơ, 2016 Sách, tạp chí
Tiêu đề: Nghiên cứu và ứng dụng công nghệ thông tin ở Đồng bằng sông Cửu Long
Nhà XB: Nhà xuất bản Đại học Cần Thơ
[3] P.M. Chu ẩn, L. T. Hương, T. Đ. Khang, N. V. Hậ u, "H ệ th ố ng g ợ i ý s ử d ụ ng thu ậ t toán t ối ưu bầy đàn ", K ỷ yếu Hội thảo Quốc gia lần thứ VIII về nghiên cứu cơ bản và ứng dụng Công nghệ thông tin, 2015 Sách, tạp chí
Tiêu đề: Hệ thống gợi ý sử dụng thuật toán tối ưu bầy đàn
[4] T. V. Viêm, T. Y. Y ế n, và N. T. Nghe, "Xây d ự ng h ệ th ố ng g ợ i ý phim d ự a trên mô hình nhân t ố láng gi ề ng," T ạp chí Khoa học Trường Đại học Cần Thơ, pp.170-179, 2013 Sách, tạp chí
Tiêu đề: Xây dựng hệ thống gợi ý phim dựa trên mô hình nhân tố láng giềng
[5] T. N. M. Thư và P. X. Hiền, "Các phương pháp đánh giá hệ th ố ng g ợ i ý," (in vi), T ạp chí Khoa học Trường Đại học Cần Thơ, vol. 42, pp. 18-27, 2016.Tiếng Anh Sách, tạp chí
Tiêu đề: Các phương pháp đánh giá hệ thống gợi ý
[6] A. Abdelwahab, H. Sekiya, I. Matsuba, Y. Horiuchi, and S. Kuroiwa, "Feature Optimization Approach for Improving the Collaborative Filtering Performance Using Particle Swarm Optimization," (in en), Journal of Computational Information Systems p. 435-450, 2012 Sách, tạp chí
Tiêu đề: Feature Optimization Approach for Improving the Collaborative Filtering Performance Using Particle Swarm Optimization
[7] A. Abdelwahab, H. Sekiya, I. Matsuba, Y. Horiuchi, and S. Kuroiwa, "Collaborative filtering based on an iterative prediction method to alleviate the sparsity problem," in Proceedings of the 11th International Conference on Information Integration and Web-based Applications &amp; Services, 2009, pp. 375- 379: ACM Sách, tạp chí
Tiêu đề: Collaborative filtering based on an iterative prediction method to alleviate the sparsity problem
[8] B. Jeong, J. Lee, and H. Cho, "Improving memory-based collaborative filtering via similarity updating and prediction modulation," (in en), Information Sciences, vol. 180, no. 5, pp. 602-612, 2010 Sách, tạp chí
Tiêu đề: Improving memory-based collaborative filtering via similarity updating and prediction modulation
[9] F. Isinkaye, Y. Folajimi, and B. Ojokoh, "Recommendation systems: Principles, methods and evaluation," (in en), Egyptian Informatics Journal, vol. 16, no. 3, pp. 261-273, 2015 Sách, tạp chí
Tiêu đề: Recommendation systems: Principles, methods and evaluation
[10] G. I. Evers, An automatic regrouping mechanism to deal with stagnation in particle swarm optimization. The University of Texas-Pan American, 2009 Sách, tạp chí
Tiêu đề: An automatic regrouping mechanism to deal with stagnation in particle swarm optimization
[11] J. Kennedy, "Particle swarm optimization," in Encyclopedia of machine learning: Springer, 2011, pp. 760-766 Sách, tạp chí
Tiêu đề: Particle swarm optimization
[12] K. Yu, X. Xu, M. Ester, and H.-P. Kriegel, "Feature weighting and instance selection for collaborative filtering: An information-theoretic approach," (in en), Knowledge and Information Systems, vol. 5, no. 2, pp. 201-224, 2003 Sách, tạp chí
Tiêu đề: Feature weighting and instance selection for collaborative filtering: An information-theoretic approach
[13] G. Linden, B. Smith, and J. York, "Amazon. com recommendations: Item-to-item collaborative filtering," (in en), IEEE Internet computing, vol. 7, no. 1, pp. 76-80, 2003 Sách, tạp chí
Tiêu đề: Amazon. com recommendations: Item-to-item collaborative filtering
[14] H. J. Ahn, "A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem," (in en), Information Sciences, vol. 178, no. 1, pp. 37-51, 2008 Sách, tạp chí
Tiêu đề: A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem
[15] M. Wasid and V. Kant, "A particle swarm approach to collaborative filtering based recommender systems through fuzzy features," (in en), Procedia Computer Science, vol. 54, pp. 440-448, 2015 Sách, tạp chí
Tiêu đề: A particle swarm approach to collaborative filtering based recommender systems through fuzzy features
[16] R. Hassan, B. Cohanim, O. De Weck, and G. Venter, "A comparison of particle swarm optimization and the genetic algorithm," in 46th AIAA/ASME/ASCE/AHS/ASC structures, structural dynamics and materials conference, 2005, p. 1897 Sách, tạp chí
Tiêu đề: A comparison of particle swarm optimization and the genetic algorithm
[17] S. Ujjin and P. J. Bentley, "Particle swarm optimization recommender system," in Swarm Intelligence Symposium, 2003. SIS'03. Proceedings of the 2003 IEEE, 2003, pp. 124-131: IEEE Sách, tạp chí
Tiêu đề: Particle swarm optimization recommender system
[18] S. Talukder, "Mathematicle Modelling and Applications of Particle Swarm Optimization," ed, 2011 Sách, tạp chí
Tiêu đề: Mathematicle Modelling and Applications of Particle Swarm Optimization
[19] S.-H. Min and I. Han, "Optimizing collaborative filtering recommender systems," in International Atlantic Web Intelligence Conference, 2005, pp. 313-319:Springer Sách, tạp chí
Tiêu đề: Optimizing collaborative filtering recommender systems
[20] G. Beni and J. Wang, "Swarm intelligence in cellular robotic systems," in Robots and Biological Systems: Towards a New Bionics?: Springer, 1993, pp. 703-712 Sách, tạp chí
Tiêu đề: Swarm intelligence in cellular robotic systems

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w