Tải bản đầy đủ (.pdf) (61 trang)

Nghiên cứu cứu phương pháp học bán giám sát cho hệ tư vấn lai (LV thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.38 MB, 61 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-----------------------------------------------------------

Trần Ngọc Hưng
NGHIÊN CỨU PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT
CHO HỆ TƯ VẤN LAI

LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI - 2017


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-----------------------------------------------------------

Trần Ngọc Hưng

NGHIÊN CỨU PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT
CHO HỆ TƯ VẤN LAI
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC

HÀ NỘI - 2017


LỜI CAM ĐOAN
Tôi xin cam đoan, luận văn này là công trình nghiên cứu khoa học thực thụ của
cá nhân, được thực hiện dưới sự hướng dẫn khoa học của TS. Nguyễn Duy Phương.


Các số liệu, kết quả nghiên cứu và kết luận được trình bày trong luận văn là trung
thực và chưa được công bố ở bất kỳ hình thức nào.
Tôi xin chịu trách nhiệm về công trình nghiên cứu của mình.
Học viên

Trần Ngọc Hưng


LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cảm ơn TS. Nguyễn Duy Phương - Học viện Công
nghệ Bưu chính Viễn Thông, người đã trực tiếp hướng dẫn tôi thực hiện luận văn này.
Với sự hướng dẫn, cung cấp tài liệu, động viên của Thầy đã giúp tôi vượt qua nhiều khó
khăn về chuyên môn trong suốt quá trình thực hiện luận văn.
Tôi xin chân thành cảm ơn, Ban Giám đốc, Ban chủ nhiệm Khoa Sau Đại học và
Khoa Công nghệ Thông tin, cùng các thầy, cô đã giảng dạy và quản lý đào tạo trong suốt
hai năm theo học tại Học viện Công nghệ Bưu chính Viễn thông.
Tôi xin chân thành cảm ơn Hội đồng chấm đề cương đã góp ý cho đề cương luận
văn.
Cuối cùng, tôi xin cảm ơn gia đình, bạn bè và các đồng nghiệp tại nơi tôi đang công
tác đã động viên, tạo điều kiện cho tôi trong suốt thời gian học tập và nghiên cứu.
Hà Nội, ngày
tháng
Học viên

Trần Ngọc Hưng

năm 2017


i


MỤC LỤC
MỤC LỤC ....................................................................................................................................... i
DANH MỤC CÁC BẢNG ............................................................................................................. ii
DANH MỤC CÁC HÌNH............................................................................................................. iiii
MỞ ĐẦU ........................................................................................................................................ 1
CHƯƠNG 1:LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT ..................... 3
1.1. PHÁT BIỂU BÀI TOÁN LỌC CỘNG TÁC .......................................................................... 3
1.2. LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP HỌC KHÔNG GIÁM SÁT.............................. 4
1.2.1. Lọc cộng tác bằng phương pháp học không giám sát ....................................................... 5
1.2.2. Hạn chế của phương pháp học không giám sát ................................................................ 7
1.2.3. Phương pháp cải tiến ........................................................................................................ 8
1.3. PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT CHO LỌC CỘNG TÁC ...................................... 9
1.3.1. Học bán giám sát dựa vào người dùng ............................................................................. 9
1.3.2. Học bán giám sát dựa vào sản phẩm ............................................................................... 11
1.3.3. Kết hợp giữa hai kiểu giám sát ....................................................................................... 13
1.3.3.1. Phương pháp Cotraining-UserBased ........................................................................... 13
1.3.3.2. Phương pháp Cotraining-ItemBased ............................................................................ 17
1.4. KẾT LUẬN............................................................................................................................ 20
CHƯƠNG 2: PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT CHO LỌC KẾT HỢP......................... 21
2.1. PHÁT BIỂU BÀI TOÁN LỌC KẾT HỢP. ........................................................................... 21
2.2. HỢP NHẤT BIỂU DIỄN GIÁ TRỊ CÁC ĐẶC TRƯNG NỘI DUNG................................. 23
2.2.1. Hợp nhất hồ sơ người dùng của lọc nội dung vào ma trận đánh giá ............................ 24
2.2.2. Hợp nhất hồ sơ sản phẩm của lọc nội dung vào ma trận đánh giá…………….………......27
2.3.MÔ HÌNH HỌC BÁN GIÁM SÁT CHO LỌC KẾT HỢP. ................................................... 29
2.3.1. Bán giám sát tập đánh giá người dùng cùng tập đặc trưng sản phẩm. ......................... 30
2.3.2. Bán giám sát tập đánh giá sản phẩm cùng tập đặc trưng người dùng. ......................... 32
2.3.3.Thuật toán học bán giám sát cho lọc kết hợp. ............................................................... 34
2.4.KẾT LUẬN............................................................................................................................. 39
CHƯƠNG 3: THỬ NGHIỆM VÀĐÁNH GIÁ ............................................................................ 41

3.1. DỮ LIỆU THỬ NGHIỆM ..................................................................................................... 41
3.2. PHƯƠNG PHÁP THỬ NGHIỆM…….………………………………….………………....42


ii

3.3. SO SÁNH VÀ KẾT QUẢ...……………………………………………….………………...42
3.4. KẾT LUẬN..………………………………………………………………………………...59
KẾT LUẬN...…..………………………………………………………………………………...50
TÀI LIỆU THAM KHẢO...……………………………………………………………………...51


iii

DANH SÁCH BẢNG
Bảng 1.1. Ma trận đánh giá của lọc cộng tác ...................................................................... 4
Bảng 1.2. Ma trận đánh ước lượng theo người dùng ........................................................ 11
Bảng 1.3. Ma trận đánh ước lượng theo sản phẩm ........................................................... 13
Bảng 2.1. Ma trận đánh giá R ........................................................................................... 24
Bảng 2.2. Ma trận đặc trưng sản phẩmC ........................................................................... 24
Bảng 2.3. Ma trận đặc trưng người dùngT ........................................................................ 25
Bảng 2.4. Ma trận hồ sơ người dùngwis ............................................................................ 27
Bảng 2.5. Ma trận đánh giá mở rộng rix theo hồ sơ người dùng ....................................... 27
Bảng 2.6. Ma trận hồ sơ sản phẩm Vqx ............................................................................. 29
Bảng 2.7. Ma trận đánh giá mở rộng rixtheo hồ sơ sản phẩm. .......................................... 29
Bảng 3.1. Giá trị MAE trên tập ml-100k .......................................................................... 45
Bảng 3.2. Giá trị MAE trên tập ml-1M ............................................................................. 46
Bảng 3.3. Giá trị MAE trên tập ml-10M…………………………………………………46
Bảng 3.4. Giá trị MAE của các phương pháp ................................................................... 49



iv

DANH SÁCH HÌNH VẼ
Hình 1.1. Thuật toán Cotraining-UserBased ..................................................................... 15
Hình 1.2. Thuật toán Cotraining-ItemBased ..................................................................... 17
Hình 2.1. Thuật toán Semi-Learing................................................................................... 40


1

MỞ ĐẦU
Hiện nay, hệ thống tư vấn (recomender system) đã trở thành một trong những
công cụ hữu dụng và phổ biến nhất trong các hệ thống thương mại điện tử, tiêu biểu
là hệ tư vấn của các hãng Amazon, Yahoo, Google hay FaceBook. Hệ tư vấn được
xây dựng dựa trên hai kỹ thuật lọc thông tin chính: Hệ tư vấn dựa vào phương pháp
lọc theo nội dung (ContentBased Filtering Recommendation) và hệ tư vấn dựa vào
phương pháp lọc cộng tác (Collaborative Filtering Recommendation). Lọc theo nội
dung khai thác những khía cạnh liên quan đến các đặc trưng nội dung thông tin sản
phẩm người dùng đã từng sử dụng hay truy nhập trong quá khứ để tạo nên tư vấn.
Lọc theo nội dung cho lại kết khá tốt trong các dạng thông tin được biểu diễn bằng
các đặc trưng nội dung, nhưng gặp phải khó khăn trong các dạng thông tin đa phương
tiện (hình ảnh, âm thanh, dịch vụ). Trái lại, lọc cộng tác chỉ sử dụng dữ liệu đánh giá
giữa người dùng - sản phẩm để đưa ra dự đoán nên thực hiện tốt trên tất cả các dạng
thông tin nhưng gặp phải vấn đề người dùng mới, sản phẩm mới và dữ liệu thưa thớt.
Chính vì vậy, vấn đề kết hợp giữa phương pháp tư vấn theo nội dung và tư vấn cộng
tác nhằm tận dụng lợi thế mỗi phương pháp được cộng đồng quan tâm nghiên cứu
trong thời gian gần đây.
Trong luận văn này em sẽ trình bày mô hình kết hợp (tư vấn lai) giữa lọc cộng
tác và lọc nội dung. Mục đích của phương pháp lọc kết hợp nhằm xác định các giá trị

dự đoán chắc chắn để chuyển giao cho quá trình huấn luyện tiếp theo. Điều này sẽ
góp phần cải thiện chất lựợng tư vấn và khắc phục vấn đề thưa thớt dữ liệu của lọc
cộng tác. Nội dung của luận văn bao gồm 03 chương:
Chương 1: Lọc cộng tác bằng phương pháp học bán giám sát
Nội dung chính của chương này, em giới thiệu về kỹ thuật tư vấn cộng tác dựa
trên bộ nhớ và phương pháp đồng huấn luyện cho lọc cộng tác. Đây cũng là mô hình
cơ sở để phát triển mô hình đồng huấn luyện được trình bày trong chương 2 của luận
văn.


2

Chương 2: Phương pháp đồng huấn luyện cho lọc kết hợp
Chương này em tập trung trình bày về phương pháp kết hợp giữa lọc cộng tác
và lọc nội dung. Phương pháp được thực hiện bằng cách tích hợp các đặc trưng nội
dung sản phẩm và đặc trưng người dùng vào lọc cộng tác. Trên cơ sở các giá trị đặc
trưng nội dung đã được tích hợp, luận văn mở rộng phương pháp ước lượng mức độ
tương tự giữa các cặp người dùng không chỉ thực hiện trên đánh giá người dùng mà
con trên cả hồ sơ người dùng; mức độ tương tự giữa các cặp sản phẩm không chỉ thực
hiện trên đánh giá sản phẩm mà con trên cả hồ sơ sản phẩm. Bằng cách này, ta có thể
cải thiện đáng kể kết quả dự đoán cho các phương pháp tư vấn dựa vào người dùng
và tư vấn dựa vào sản phẩm. Dựa trên việc mở rộng độ đo tương tự giữa các cặp
người dùng và các cặp sản phẩm, luận văn thực hiện hai mô hình đồng huấn luyện
cho lọc kết hợp: đồng huấn luyện dựa vào người dùng và đồng huấn luyện dựa vào
sản phẩm [4].
Chương 3: Thử nghiệm và đánh giá
Chương này cài đặt thử nghiệm các thuật toán với tập dữ liệu MovieLen. Từ kết
quả thử nghiệm thu được em sẽ tiến hành đánh giá, so sánh các thuật toán khác nhau.
Cuối cùng là kết luận và hướng phát triển tiếp theo của đề tài.



3

Chương 1 - LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP HỌC
BÁN GIÁM SÁT
Hệ tư vấn được xây dựng dựa trên hai kỹ thuật lọc thông tin chính: lọc cộng tác
và lọc nội dung. Trong đó, lọc cộng tác được áp dụng rộng rãi hơn do tính đơn giản
và hiệu quả trong cài đặt. Lọc cộng tác được tiếp cận theo hai xu hướng chính: lọc
cộng tác dựa vào bộ nhớ và lọc cộng tác dựa vào mô hình. Trong chương này, đề tài
tập trung trình bày phương pháp đồng huấn luyện cho lọc cộng tác. Đây cũng là nền
tảng cơ sở quan trọng để mở rộng phương pháp cho lọc kết hợp.

1.1. Phát biểu bài toán lọc cộng tác
Lọc cộng tác (collaborative filtering) là phương pháp dự đoán quan điểm của
người dùng hiện thời đối với các sản phẩm phù hợp dựa trên thói quen sử dụng sản
phẩm của cộng đồng người dùng có cùng chung sở thích. Hiện nay, lọc cộng tác được
xem là phương pháp hiệu quả đã được áp dụng thành công cho nhiều hệ thống thương
mại điện tử được cộng đồng quan tâm nghiên cứu. Bài toán của lọc cộng tác được
phát biểu như sau:
Cho tập hợp hữu hạn U = {u1, u2,…, uN} là tập gồm N người dùng, P = {p1, p2,..,
pM} là tập gồm M sản phẩm. Mỗi sản phẩm pxP có thể là hàng hóa, phim, ảnh, tạp
chí, tài liệu, sách, báo, dịch vụ hoặc bất kỳ dạng thông tin nào mà người dùng cần
đến. Để thuận tiện trong trình bày, ta viết pxP ngắn gọn thành xP; và uiU là iU.
Mối quan hệ giữa tập người dùng U và tập sản phẩm P được biểu diễn thông qua
ma trận đánh giá R={ rix }, i = 1..N, x = 1..M. Mỗi giá trị rix thể hiện đánh giá của
người dùng iU cho một số sản phẩm xP. Giá trị rix có thể được thu thập trực tiếp
bằng cách hỏi ý kiến người dùng hoặc thu thập gián tiếp thông qua cơ chế phản hồi
của người dùng. Giá trị rix =  được hiểu người dùng i chưa đánh giá hoặc chưa bao
giờ biết đến sản phẩm x.
Tiếp đến ta ký hiệu, PiP là tập các sản phẩm được đánh giá bởi người dùng iU

và UxU là tập các người dùng đã đánh giá sản phẩm xP. Với một người dùng cần


4

được tư vấn aU (được gọi là người dùng hiện thời, người dùng cần được tư vấn,
hay người dùng tích cực), bài toán lọc cộng tác là dự đoán đánh giá của a đối với
những mặt hàng x (P\ Pa), trên cơ sở đó tư vấn cho người dùng a những sản phẩm
được đánh giá cao.
Bảng 1.1: Ma trận đánh giá của lọc cộng tác
Người dùng

Sản phẩm
p1

p2

p3

p4

p5

p6

p7

u1

4


2

5



3



3

u2

5



5

5

4





u3


4





4

3

4

3

u4



3

5

5



5




u5

?

5

?

?



4

4

Bảng 1.1 thể hiện một ví dụ với ma trận đánh giá R = (rij) trong hệ gồm 5 người
dùng U = {u1, u2, u3, u4, u5} và 7 sản phẩm P = {p1, p2, p3, p4, p5, p6, p7,}. Mỗi người
dùng đều đưa ra các đánh giá của mình về các sản phẩm theo thang bậc {, 1, 2, 3,
4, 5}. Giá trị rij= được hiểu là người dùng ui chưa đánh giá hoặc chưa bao giờ biết
đến sản phẩm pj. Các giá trị r5,1 =? là sản phẩm hệ thống cần dự đoán cho người dùng
u5.

1.2. Lọc cộng tác bằng phương pháp học không giám sát
Học máy cho lọc cộng tác được tiếp cận theo ba xu hướng chính: Học có giám
sát (supervised learning), học không giám sát (unsupervised learning) và học bán
giám sát (semi-supervised learning). Mỗi phương pháp học khai thác những khía cạnh
riêng của tập dữ liệu huấn luyện.
Học có giám sát là phương pháp học máy được thực hiện bằng cách xây dựng

một hàm (function) từ dữ liệu huấn luyện. Dữ liệu huấn luyện bao gồm các cặp gồm
đối tượng đầu vào (thường dạng vec-tơ) và đầu ra mong muốn. Đầu ra của một hàm
có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại
cho một đối tượng đầu vào (gọi là phân loại). Nhiệm vụ của phương pháp học có


5

giám sát là dự đoán giá trị của hàm cho một đối tượng bất kỳcó dữ liệu đầu vào hợp
lệ, sau khi đã xem xét một số ví dụ huấn luyện.
Học không có giám sát là phương pháp học máy nhằm tìm ra một mô hình phù
hợp với các quan sát. Sự khác biệt với học có giám sát ở chỗ là đầu ra đúng tương
ứng cho mỗi đầu vào là không biết trước. Trong học không có giám sát, một tập dữ
liệu đầu vào được thu thập. Học không có giám sát thường xem xét các đối tượng đầu
vào như là một tập các biến ngẫu nhiên. Sau đó, một mô hình mật độ kết hợp sẽ được
xây dựng cho tập dữ liệu đó. Học không có giám sát có thể được dùng kết hợp với
suy diễn Bayes (Bayesian inference) để cho ra xác suất có điều kiện (nghĩa là học có
giám sát) cho bất kì biến ngẫu nhiên nào khi biết trước các biến khác.
Học nửa giám sát là phương pháp học máy sử dụng cả dữ liệu đã gán nhãn và
chưa gán nhãn vào quá trình huấn luyện. Tập dữ liệu huấn luyện bao gồm một lượng
nhỏ dữ liệu có gán nhãn cùng với lượng lớn dữ liệu chưa gán nhãn. Học nửa giám sát
đứng giữa học không giám sát (không có bất kỳ dữ liệu có nhãn nào) và có giám sát
(toàn bộ dữ liệu đều được gán nhãn). Nhiều nhà nghiên cứu nhận thấy dữ liệu không
gán nhãn, khi được sử dụng kết hợp với một chút dữ liệu có gán nhãn, có thể cải thiện
đáng kể độ chính xác. Một ví dụ cho kỹ thuật học máy nửa giám sát là đồng huấn
luyện (co-training), trong đó một hay nhiều bộ học được huấn luyện cùng một tập ví
dụ nhưng mỗi bộ sử dụng một tập đặc trưng khác nhau.
Xem xét bài toán lọc cộng tác theo hướng tiếp cận của đồng huấn luyện, hai quá
trình quan sát theo người dùng (được gọi là UserBased) và quá trình quan sát theo
sản phẩm (được gọi là ItemBased) có thể được thực hiện bằng phương pháp học bán

giám sát. Phương pháp học bán giám sát cho phép ta chuyển giao tri thức từ quá trình
huấn luyện theo người dùng đến quá trình huấn luyện theo sản phẩm. Quá trình quan
sát theo người dùng sẽ xác định được một số nhãn phân loại chắc chắn chuyển đến
quá trình huấn luyện theo sản phẩm. Ngược lại, quá trình quan sát theo sản phẩm bổ
sung thêm các nhãn phân loại chắc chắn chuyển giao cho quá trình huấn luyện theo
người dùng. Việc bổ sung thêm vào các nhãn phân loại vào mỗi quá trình huấn luyện


6

sẽ nâng cao được kết quả dự đoán và hạn chế được vấn đề dữ liệu thưa của lọc cộng
tác.

1.2.1. Lọc cộng tác bằng phương pháp học không giám sát
Lọc cộng tác bằng phương pháp học không giám sát được tiếp cận theo hai
phương pháp chính: Phương pháp học dựa vào người dùng (UserBased [12]) và
phương pháp học dựa vào sản phẩm (ItemBased [1]). Mỗi phương pháp đều có những
ưu điểm riêng khai thác những khía cạnh liên quan đến người dùng hoặc sản phẩm.
Đặc điểm chung của cả hai phương pháp này là sử dụng toàn bộ tập dữ liệu đánh giá
để dự đoán quan điểm của người dùng cần được tư vấn về các sản phẩm mà họ chưa
hề biết đến.
Phương pháp UserBased được thực hiện bằng cách ước lượng mức độ tương tự
giữa các cặp người dùng dựa vào các độ đo tương tự để từ đó sinh ra dự đoán các sản
phẩm mới phù hợp với người dùng cần được tư vấn. Phương pháp ItemBased được
thực hiện bằng cách ước lượng mức độ tương tự giữa các cặp sản phẩm dựa vào các
độ đo tương tự để từ đó sinh ra dự đoán các sản phẩm mới phù hợp với người dùng
cần được tư vấn. Mỗi phương pháp đều được tiến hành theo ba bước như sau:
Bước 1. Tính toán mức độ tương tự giữa các cặp người dùng hoặc sản phẩm.
Tại bước này ta có thể sử dụng các độ đo tương quan hoặc các độ đo tương tự để
tính toán mức độ giống nhau giữa các cặp người dùng hoặc sản phẩm [1, 6, 12, 14].

Gọi uij là mức độ tương tự giữa người dùng iU và người dùng jU, pxy là mức độ
tương tự giữa sản phẩm xP và sản phẩm yP. Khi đó, độ tương quan Pearson giữa
người dùng iU và người dùng jU được xác định theo công thức (1.1), độ tương tự
giữa sản phẩm xP và sản phẩm jP được xác định theo công thức (1.2) [1, 12].

 r

ix

uij 

xPi  Pj

 r

ix

xPi  Pj

 ri



 ri r jx  r j

  r
2

xPi  Pj


jx


 rj



2

(1.1)


7

 r

ix

iU x U y

p xy 

 r

ix

 rx




 rx riy  ry



 r

2

iy

iU x U y


 ry



2

(1.2)

iU x U y

Trong đó,



ri 

1

Pi  Pj

rix
xPi  Pj

rj 

1
Pi  Pj

xPi  Pj

r

jx

(1.3)
(1.4)



(1.5)



(1.6)

rx 

1

Ux Uy

rix
iU x U y

ry 

1
Ux Uy

r jx
xU x U y

Bước 2. Xác định tập láng giềng cho người dùng cần tư vấn.
Tại bước này ta chỉ cần sắp xếp các giá trị uij hoặc pxy theo thứ tự giảm dần, trong
đó iU là người dùng cần được tư vấn các sản phẩm xP. Sau đó chọn tập K người
dùng đầu tiên làm tập láng giềng của người dùng i , hoặc chọn K sản phẩm đầu tiên
làm tập láng giềng của sản phẩm x [1, 12].
Bước 3. Sinh ra dự đoán cho người dùng cần tư vấn.
Phương pháp phổ biến nhất để sinh ra dự đoán quan điểm của người dùng iU
cho sản phẩm mới xP theo công thức (1.7), đối với sản phẩm theo công thức (1.8)
[1, 6, 12, 14].
rix  ri 

 r
jK i

jx




 r j uij

u

(1.7)
ij

jK i

p r

| p |
xy iy

rix

yK x

xy

yK x

(1.8)


8

Trong đó, Ki là tập láng giềng của người dùng hiện thời iU; Kx là tập láng giềng
của sản phẩm xP.


1.2.2. Hạn chế của phương pháp học không giám sát
Mặc dù đã được áp dụng thành công cho nhiều hệ thống thương mại điện tử, tuy
vậy các phương pháp User-Based và Item-Based vẫn tồn tại một số hạn chế dưới đây:
 Vấn đề dữ liệu thưa: Đối với các hệ thống lọc cộng tác, số lượng sản phẩm có
đánh giá khác rỗng nhỏ hơn rất nhiều lần số lượng sản phẩm có đánh giá rỗng. Điều
này ảnh hưởng trực tiếp đến việc tính toán mức độ giống nhau giữa các cặp người
dùng hoặc sản phẩm. Trong trường hợp hai người dùng i, jU có tập đánh giá chung
PiPj =, khi đó mức độ tương tự giữa hai người dùng này sẽ không thể xác định
được (Ví dụ người dùng u5 và u2 trong Bảng 1). Khi hai sản phẩm x, yP có tập người
dùng cùng đánh giá sản phẩm UxUy =, thì mức độ tương tự giữa hai sản phẩm
này cũng không thể xác định được (Ví dụ sản phẩm p7 và p3 trong Bảng 1). Đây là
hạn chế lớn nhất ngay khi thực hiện Bước 1 của thuật toán.
 Vấn đề dữ liệu thưa làm cho việc xác định tập láng giềng của thuật toán tại
Bước 2 trở nên kém tin cậy [2]. Khi thực hiện tính toán các giá trị uij và pxy , các độ
đo đều chỉ thực hiện trên các tập PiPj ≠ và UxUy ≠. Việc các giá trị đánh giá
không giao nhau không tham gia vào quá trình tính toán đã bỏ qua nhiều nhãn phân
loại biết trước. Điều này làm cho nhiều người dùng hoặc sản phẩm rất tương tự nhau
nhưng lại không được xác định (Ví dụ u1 và u3 trong Bảng 1). Ngược lại, nhiều cặp
người dùng kém tương tự nhau nhưng vẫn được xác định trong tập láng giềng. Tập
láng giềng được xác định không phù hợp sẽ ảnh hưởng trực tiếp đến chất lượng dự
đoán các phương pháp (Ví dụ u2 và u4 trong Bảng 1).
 Vấn đề người dùng mới và sản phẩm mới: Khi một người dùng mới chưa có
bất kỳ một đánh giá nào cho các sản phẩm, thì cả hai phương pháp User-Based và
Item-Based đều không thể đưa ra dự đoán các sản phẩm phù hợp đối với người dùng
này. Lọc cộng tác gọi vấn đề này là vấn đề người dùng mới và sản phẩm mới [14,6].


9


1.2.3. Phương pháp cải tiến
Lọc cộng tác có thể xem xét như một vấn đề học bán giám sát. Trong đó, quá
trình huấn luyện theo người dùng được thực hiện bằng cách giám sát một phần tập
láng giềng của phương pháp UserBased; quá trình huấn luyện theo sản phẩm được
thực hiện bằng cách giám sát một phần tập láng giềng của phương pháp ItemBased.
Mỗi quá trình học bán giám sát theo người dùng và sản phẩm dùng sẽ bổ sung được
các nhãn phân loại chắc chắn cho nhau theo mỗi bước của thuật toán. Để thực hiện
được ý tưởng này, với mỗi người dùng hoặc sản phẩm, những ví dụ huấn luyện biết
trước nhãn phân loại là các giá trị rij≠. Những ví dụ huấn luyện chưa biết trước nhãn
phân loại là các giá trị có rij=. Nhiệm vụ của học bán giám sát là xây dựng được
một thuật toán xác định được các nhãn phân loại chắc chắn vào tập nhãn rij=.
Quá trình giám sát theo người dùng iU có các nhãn phân loại biết trước (rix≠)
sẽ dự đoán được những sản phẩm mới yP có khả năng phù hợp cao với người dùng
này. Các nhãn phân loại chắc chắn (riy) sẽ chuyển giao đến quá trình huấn luyện theo
sản phẩm. Trọng tâm của quá trình này là làm thế nào để xác định được các nhãn
phân loại chắc chắn (riy).
Quá trình giám sát theo sản phẩm xP có tập các nhãn phân loại biết trước rix≠
cùng với các nhãn phân loại (riy) đã được dự đoán theo người dùng. Giám sát tập láng
giềng theo sản phẩm cho phép ta dự đoán được mức độ phù hợp cao của người dùng
iU với các sản phẩm zP bằng giá trị (riz). Tập các giá trị (riz) nhận được tương đối
chắc chắn lại được bổ sung vào tập các nhãn phân loại đã biết để tiếp tục quá trình
huấn luyện ở bước tiếp theo. Quá trình sẽ kết thúc khi ta không thể bổ sung được các
giá trị dự đoán chắc chắn.

1.3. Phương pháp học bán giám sát cho lọc cộng tác
Để giải quyết bài toán lọc cộng bằng phương pháp học bán giám sát ta cần xây
dựng hai kiểu quan sát trên tập dữ liệu huấn luyện: Học bán giám sát dựa vào người
dùng và học bán giám sát dựa vào sản phẩm. Tiếp đến, ta cần phải xây dựng được



10

thuật toán chuyển giao đồng thời giữa các kiểu quan sát để sinh ra dự đoán cho mỗi
người dùng.

1. 3.1. Học bán giám sát dựa vào người dùng
Như đã trình bày trong Mục 2, phương pháp UserBased tính toán mức độ tương
tự giữa người dùng iU với tất những người dùng khác còn lại trên tập dữ liệu huấn
luyện [8, 12]. Việc làm này sẽ dẫn đến hai nhược điểm chính dưới đây:
Thứ nhất, nếu hai người dùng i, j có |PiPj| nhỏ nhưng có rix = rjx với mọi
xPiPj thì hai người dùng này được xem là hoàn toàn giống nhau theo sở thích. Ví
dụ trong Bảng 1, người dùng u2 được xem là hoàn toàn tương tự với u3 vì cả u2, u3
đều có đánh giá chung cho p3, p4 giống nhau (r23 = r33 =5; r24 = r34 =5). Kết quả là u3
luôn là láng giềng của u2 trong khi thực hiện dự đoán các sản phẩm mới cho u2.
Thứ hai, nếu hai người dùng i, j có |PiPj|= khi đó hai người dùng này được
xem là hoàn toàn khác nhau theo sở thích. Mặc dầu vậy, khi quan sát theo sản phẩm
thì hai người dùng này lại có nhiều điểm giống nhau theo sở thích. Kết quả là các sản
phẩm x|PiPj|= sẽ không tham gia vào quá trình huấn luyện và dự đoán.
Để hạn chế những nhược điểm kể trên, việc xác định mức độ tương tự giữa các
cặp người dùng iU không dùng để xác định tập láng giềng Ki như trong [1, 12], mà
chỉ để dùng vào việc xác định các nhãn phân loại chắc chắn riy cho người dùng i. Để
thực hiện điều này ta có thể giám sát việc tính toán mức độ tương tự giữa người dùng
iU trên tập những người dùng SiU có tối thiểu  đánh giá chung cho các sản phẩm.
Đây chính là nội dung của phương pháp học bán giám sát trên tập láng giềng của
người dùng i.



Si  j U : Pi  Pj  




(1.9)

Ví dụ chọn  =3, khi đó với người dùng u1 của hệ đã cho trong Bảng 1 ta sẽ tìm
được S1 = {u2,u3} vì cả u2 và u3 đều có 3 đánh giá chung với u1. Tương tự như trên ta
xác định được S2 ={u1}, S3 = {u1,u2}, S4 = {}, S5 ={}. Khi đó, mức độ tương tự
giữa hai người dùng được xác định theo công thức (10).


11

0



uij  





 r

ix

xPi  Pj

 r


ix

 ri

xPi  Pj



 ri r jx  r j

  r
2

jx

if



j  Si

(1.10)

 rj



2

, otherwise


xPi  Pj

Trong công thức (1.10), giá trị uij = 0 khi khi jSi. Điều này có thể ngăn ngừa
được những cặp người dùng có |PiPj| nhỏ nhưng lại được đánh giá có tính tương tự
cao theo phương pháp UserBased. Các nhãn phân loại chắc chắn chỉ được dự đoán từ
những người dùng jSi theo công thức (11).
rix  ri 

 r
jK i



 r j uij

jx

u

(1.11)
ij

jK i

Trong đó,

K i   j  S i : u ij   

(1.12)


Ví dụ tập với người dùng đã cho trong Bảng 1.1, ta tìm được K1={u3}, K2={u1},
K3={u1}. Khi đó, các giá trị dự đoán chắc chắn sẽ được điền cho u1 là r14=4, r16=4.
Giá trị dự đoán chắc chắn sẽ được điền cho u2 là r22=2, r27=3. Giá trị dự đoán chắc
chắn sẽ được điền cho u3 là r32=2, r33=5.
Bảng 1.2: Ma trận đánh ước lượng theo người dùng
Sản phẩm

Người dùng
p1

p2

p3

p4

p5

p6

p7

u1

4

2

5


4

3

4

3

u2

5

2

5

5

4



3

u3

4

2


5

4

3

4

3

u4



3

5

5



5



u5

?


5

?

?



4

4


12

Rõ ràng, tập nhãn phân loại rix xác định theo (1.11) nhỏ hơn rất nhiều so với tập
rix xác định theo (1.7). Tuy vậy, điều này sẽ được cải thiện dần thông qua việc quan
sát các nhãn phân loại theo sản phẩm.

1.3.2. Học bán giám sát dựa vào sản phẩm
Tương tự như đối với sản phẩm, việc xác định mức độ mức độ tương tự giữa các
cặp sản phẩm xP không dùng để xác định tập láng giềng Ki như trong [1], mà chỉ
để dùng vào việc xác định quan điểm chắc chắn của người dùng iU đối với các sản
phẩm mới xP. Để thực hiện điều này ta có thể giám sát việc tính toán mức độ tương
tự giữa sản phẩm xP trên các cột sản phẩm Cy giao nhau tối thiểu  người dùng.
Đây chính là nội dung của phương pháp học bán giám sát trên tập láng giềng của
người dùng i.




Cx  y  P : U x  U y  



(1.13)

Ví dụ chọn  =3, khi đó với tập người dùng của hệ đã cho trong Bảng 1 ta sẽ tìm
được C1 = {}, C2 ={}, C3 = {}, C4 = {}, C5 ={}. Tuy vậy, nếu việc quan sát
theo sản phẩm được thực hiện sau quá trình quan sát theo người dùng ta sẽ xác định
được C1 = {p2, p3, p4, p5, p7}, C2 = {p1, p3, p4, p5, p7}, C3 = {p1, p2, p4, p5, p7}, C4 =
{p1, p2, p3, p5, p6, p7}, C5 = {p1, p2, p3, p4, p7}, C6 = {p2, p3, p4, p7}, C6 = { p1, p2, p3,
p4, p5, p6} như trong Bảng 1.2.
Điểm khác biệt quan trọng ở đây so với phương pháp ItemBased [1, 14] quá trình
huấn luyện được kế thừa các nhãn phân loại chắc chắn từ phương pháp UserBased.
Mức độ tương tự giữa hai sản phẩm được xác định theo công thức (1.14).

p xy

if y  C x
0

rix  rx riy  ry


iU x U y

, otherwise
2
2


rix  rx
rix  ry

iU x U y

 iU x U y













(1.14)



Trong công thức (14), giá trị pxy = 0 khi khi yCx . Điều này có thể ngăn ngừa
được những cặp sản phẩm có |UxUy| nhỏ nhưng lại được đánh giá có tính tương tự


13


cao theo phương pháp ItemBased. Các nhãn phân loại chắc chắn chỉ được dự đoán từ
những người dùng yCx theo công thức (1.15).

p r

| p |
xy iy

rix

yK x

(1.15)

xy

yK x

Trong đó,



K x  y  C x : p xy  max



(1.16)

Ví dụ tập với hệ xuất phát như trong Bảng 1.2, ta tìm được K1={p4}, K2={p7},
K3={p4}, K4={p1}, K5={p7}, K6={p4}, K7={p5}. Khi đó, các giá trị dự đoán chắc chắn

sẽ được điền cho p1 là r41=r44=5, cho p5 là r55=r57=4, cho p6 là r26=r24=5. Khi đó, bảng
giá trị đánh giá được thể hiện trong Bảng 1.3.
Hai cơ chế quan sát theo sản phẩm và quan sát theo người dùng sẽ bổ sung các
nhãn phân loại chắc chắn theo mỗi bước thực hiện của phương pháp học bán giám
sát sẽ điền được tối đa các giá trị rix= trên ma trận đánh giá. Muốn dự đoán thêm
các nhãn phân loại tốt theo người dùng ta quan sát theo sản phẩm. Muốn dự đoán
thêm các nhãn phân loại tốt theo sản phẩm ta quan sát theo người dùng. Đây là bước
chuyển giao tri thức quan trọng của đồng huấn luyện.
Bảng 1.3: Ma trận đánh ước lượng theo sản phẩm
Người dùng

Sản phẩm
p1

p2

p3

p4

p5

p6

p7

u1

4


2

5

4

3

4

3

u2

5

2

5

5

4

5

3

u3


4

2

5

4

3

4

3

u4

5

3

5

5



5




u5

?

5

?

?

4

4

4


14

1.3.3. Kết hợp giữa hai kiểu giám sát
Trong mục này, hai phương pháp học bán giám sát cho lọc cộng tác: Phương
giám sát tập láng giềng của người dùng và Phương pháp giám sát tập láng giềng của
sản phẩm được kết hợp với nhau theo cơ chế đồng huấn luyện. Phương pháp học bán
giám sát tập láng giềng của người dùng được ký hiệu là Cotraining-UserBased.
Phương pháp học bán giám sát tập láng giềng của sản phẩm được ký hiệu là
Cotraining-ItemBased. Điểm khác biệt cơ bản giữa hai phương pháp là quá trình nào
thực hiện trước, quá trình nào thực hiện sau trong cơ chế huấn luyện đồng thời.

1.3.3.1. Phương pháp Cotraining-UserBased
Mô tả thuật toán:

Phương pháp Cotraning-User được mô tả chi tiết trong Hình 1.1. Thuật toán thực
hiện thông qua các vòng lặp t. Tại Bước khởi tạo t=0, ma trận dự đoán

R ( 0 )  ( rij( 0 ) )

được lấy bằng chính ma trận đánh giá ban đầu R=(rij). Tại mỗi bước lặp, quá trình
huấn luyện theo người dùng theo được thực hiện tuần tự theo các bước: (2.1.a),
(2.1.b), (2.1.c).
Đầu vào:Khởi tạo ma trận đánh giá

R 0  (rij(0) )  (rij ) .

Đầu ra :Ma trận dự đoán R (t )  rij(t )  .
Các bước tiến hành:
1. Khởi tạo số bước lặp ban đầu: t0;
2. Bước lặp:
Repeat
2.1. Huấn luyện theo người dùng:
a) Tìm

S i(t ) , u ij(t ) theo

b) Tìm

K i(t )

c) Dự đoán

công thức (1.9), (1.10).


theo công thức (1.12).
rix(t )

theo công thức (1.11).

2.2. Huấn luyện theo sản phẩm:
a) Tìm

(t )
C x(t ) , p xy
theo

công thức (1.13), (1.14).


15

b) Tìm

K x(t )

c) Dự đoán

theo công thức (1.16).
rix(t )

theo công thức (1.15).

2.3. Tăng bước lặp: tt+1;
UntilConverges.

Hình 1.1: Thuật toán Cotraining-UserBased
Tại bước (2.1.a) ta cần xác định các tập

Si(t )

theo công thức (1.9) là tập người

dùng j có đánh giá chung với người dùng i tối thiểu  sản phẩm xP tại bước lặp thứ
t, và

uij(t )

j  Si(t )

theo công thức (1.10) là mức độ tương tự giữa người dùng i và người dùng

tại bước lặp thứ t. Tại bước (2.1.b), sử dụng

(2.1.a) ta tìm được

K i(t )

S i(t ) , u ij(t )

đã được xác định tại bước

là tập những người dùng j có mức độ tương tự cao nhất với

người dùng i tại bước lặp thứ t theo công thức (12). Tại bước (2.1.c), sử dụng
xác định tại bước (2.1.b) ta dự đoán được


rix(t )

K i(t )

đã

là quan điểm chắc chắn của người dùng

i cho các sản phẩm x tại bước lặp thứ t theo công thức (1.11).
Các giá trị

rix(t )

dự đoán theo người dùng tại bước lặp thứ t chuyển giao cho quá

trình huấn luyện theo sản phẩm tại bước 2.2. Tại bước (2.2.a) ta thực hiện xác định
các tập

C x(t )

theo công thức (1.13) là tập sản phẩm y có tối thiểu  người dùng cùng

đánh giá với sản phẩm x tại bước lặp thứ t, và
tương tự giữa người dùng i và người dùng
sử dụng

(t )
C x(t ) , p xy


(t )
p xy

j  Si(t )

theo công thức (1.14) là mức độ

tại bước lặp thứ t. Tại bước (2.2.b),

đã được xác định tại bước (2.2.a) ta tìm được

K x(t )

là tập những sản

phẩm y có mức độ tương tự cao nhất với sản phẩm x tại bước lặp thứ t theo công thức
(1.16). Tại bước (2.2.c), sử dụng
rix(t )

K x(t )

đã xác định tại bước (2.2.b) ta dự đoán được

là quan điểm chắc chắn của người dùng i cho các sản phẩm x tại bước lặp thứ t

theo công thức (1.15). Tại bước 2.3, bước lặp t được tăng lên 1 đơn vị và thực hiện
chuyển giao cho quá trình huấn luyện tiếp theo.
Tính hội tụ của thuật toán: Thuật toán Cotraining-UserBased sẽ hội tụ tại vòng
lặp thứ t có rix(t )  rix(t 1) với mọi i = 1 2,..,N; x= 1, 2,..,M.



16

Chứng minh: Thực vậy, giả sử tại bước lặp thứ t(t1), thuật toán Cotraining(t )
( t 1)
UserBased có rix  rix , khi đó theo (10) ta có:

 r

(t )
ix



xPi( t )  Pj( t )

u ij(t ) 

 r

(t )
ix

 ri( t )



( t 1)
ix


 r j(t )



( t 1)
 ri( t 1) r jx
 r j( t 1)

xPi( t 1)  Pj( t 1)
( t 1)
ix

(t )
jx



2

xPi( t )  Pj( t )

 r

 r

 r

2

xPi( t )  Pj( t )






 ri(t ) r jx( t )  r j(t )

 ri( t 1)

xPi( t 1)  Pj( t 1)



 r

2

( t 1)
jx



 r j( t 1)

xPi( t 1)  Pj( t 1)



2


 u ij( t 1)
(t )
( t 1)

S i  S i
uij(t )  uij(t 1)   (t )
( t 1)

K i  K i

Điều này chứng tỏ tại bước lặp thứ t, quá trình huấn luyện theo người dùng không
bổ sung thêm được bất kỳ người dùng nào vào Si(t ) và K i(t ) . Đây chính là nguyên nhân
quá trình huấn luyện theo người dùng không bổ sung được bất kỳ một nhãn phân loại
rix(t ) nào cho quá trình huấn luyện theo sản phẩm. Đối với quá trình huấn luyện theo

sản phẩm, theo (1.14) ta cũng có:

 r

(t )
ix



 rx(t ) riy(t )  ry(t )

iU x( t ) U y( t )

(t )
p xy



 r

(t )
ix

 rx(t )



iU x( t ) U y( t )

 r

( t 1)
ix

 r

( t 1)
ix

iU x( t 1) U y( t 1)
( t 1)
 p xy

(t )
iy


 ry(t )



2

iU x( t ) U y( t )



 rx(t 1) rix(t 1)  r y(t 1)

iU x( t 1) U y( t 1)



 r

2



 rx(t 1)



2

 r


( t 1)
iy

iU x( t 1) U y( t 1)



 r y(t 1)



2


17

(t )
p xy



( t 1)
p xy

(t )
( t 1)

C x  C x
  (t )
( t 1)


K x  K x

Điều này chứng tỏ tại bước lặp thứ t, quá trình huấn luyện theo sản phẩm cũng
không bổ sung thêm được bất kỳ sản phẩm nào vào C x(t ) và K x(t ) . Đây chính là điểm
hội tụ của thuật toán. Trường hợp tốt nhất có thể đạt được là tất cả các giá trị rix=
đều được điền giá. Định lý 1 dưới đây sẽ đưa ra điều kiện cần và đủ để các giá trị
đánh giá đều được điền giá trị dự đoán.

1.3.3.2. Phương pháp Cotraining-ItemBased
Phương pháp Cotraining-ItemBased được mô tả chi tiết trong Hình 2 được thực
hiện như sau:
Đầu vào:Ma trận đánh giá

R 0  (rij(0) )  (rij ) .

Đầu ra :Ma trận dự đoán R (t )  rij(t )  .
Các bước tiến hành:
1. Khởi tạo số bước lặp ban đầu: t1;
2. Bước lặp:
Repeat
2.1. Huấn luyện theo sản phẩm:
a) Tìm

(t )
C x(t ) , p xy
theo

b) Tìm


K x(t )

c) Dự đoán

công thức (1.13), (1.14).

theo công thức (1.16).
rix(t )

theo công thức (1.15).

2.2. Huấn luyện theo người dùng:
a) Tìm

S i(t ) , u ij(t ) theo

b) Tìm

K i(t )

c) Dự đoán

công thức (1.9), (1.10).

theo công thức (1.12).
rix(t )

theo công thức (1.11).

2.3. Tăng bước lặp: tt+1;

UntilConverges.
Hình 1.2: Thuật toán Cotraining-ItemBased


×