SlideShare a Scribd company logo
1 of 24
Download to read offline
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

PHẠM THỊ HIÊN

LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP
ĐỒNG HUẤN LUYỆN
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15

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

PGS.TS TỪ MINH PHƯƠNG

HÀ NỘI - 2012
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ử. Ví dụ như Amazon.com,
chacha.vn, Yahoo! news, ebay.com,…v.v. Đã có rất nhiều nghiên
cứu về các phương pháp sử dụng trong hệ tư vấn lựa chọn. Và
một trong những bước phát triển mới trong lĩnh vực nghiên cứu
này là sự ra đời của kỹ thuật lọc cộng tác (collaborative filtering)
vào giữa những năm 1990s. Lọc cộng tác là phương pháp phổ
biến cho việc xây dựng các hệ thống tư vấn. Các thuật toán lọc
cộng tác hiện tại thường dựa trên thông tin mua bán hoặclịch sử
đánh giá của người dùng để đưa ra các dự đoán dựa trên độ tương
đồng về sở thích giữa người dùng với nhau. Mặc dù, những thuật
toán này đã được áp dụng trong một số hệ thống tư vấn lựa chọn
và đạt được một số thành tựu nhất định, nhưng chúng vẫn còn
nhiều hạn chế cần phải giải quyết như vấn đề người dùng mới, vấn
đề thưa thớt dữ liệu đánh giá, vấn đề cold-start… Trong nghiên
cứu này, em sẽ trình bày một phương pháp mới, đó là, phương
pháp lọc cộng tác dựa bằng phương pháp đồng huấn luyện.
Phương pháp mới này kết hợp cách tiếp cận theo người dùng và
cách tiếp cận theo sản phẩm để huấn luyện bộ dữ liệu đánh giá. Vì
kết hợp được 2 khung nhìn nên phương pháp này có thể phát huy
những ưu điểm của lọc cộng tác theo người dùng và lọc cộng tác
theo sản phẩm và có khả năng khắc phục được các hạn chế hiện
thời của các cách tiếp cận này thuần túy này. Nội dung của luận
văn được bố cục thành 3 chương như sau:
2



Chương 1 – LỌC CỘNG TÁC
Để thấy được động lực cho việc nghiên cứu một
phương pháp mới, chương 1 sẽ trình bày tổng quan về lọc cộng
tác, các phương pháp lọc cộng tác và các hạn chế của những
phương pháp lọc cộng tác này.


Chương 2 – LỌC CỘNG TÁC BẰNG PHƯƠNG
PHÁP ĐỒNG HUẤN LUYỆN
Chương 2 sẽ trình bày một phương pháp mới được đề
xuất - phương pháp lọc cộng tác bằng phương pháp đồng huấn
luyện. Xuất phát từ các nghiên cứu về phương pháp đồng huấn
luyện để hiểu được những lợi ích có được từ phương pháp này,
từ đó nghiên cứu quá trình thực hiện khi áp dụng phương pháp
này trong lọc cộng tác.


Chương 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ
Chương 3 sẽ được dành cho việc thực hiện kiểm thử
trên bộ dữ liệu thử nghiệm. Từ kết quả thử nghiện thu được sẽ
tiến hành đánh giá phương pháp, đồng thời so sánh với kết
quả thu được từ các phương pháp trước.

Chương 1 – LỌC CỘNG TÁC
1.1
1.2.1

Vấn đề lọc cộng tác
Mô tả bài toán lọc cộng tác

Lọc cộng tác là một trong các cách tiếp cận thành công để
xây dựng các hệ thống tư vấn lựa chọn. Khác với lọc theo nội
dung, lọc cộng tác sẽ dựa trên những đánh giá của nhóm người
dùng hợp “gu” với người dùng c để ước lượng giá trị có ích
3

u (c, s ) của sản phẩm s với người dùng c . Trong kịch bản điển

hình của lọc cộng tác, thì có một danh sách m người dùng
{ , , … , } và một danh sách n sản phẩm và { , , … , } mỗi
người dùng

có một tập các sản phẩm

mà người dùng đó đã

đánh giá hoặc các sở thích của họ đã được thu thập qua các hành
vi.
1.2

Các phương pháp lọc cộng tác

Các kỹ thuật sử dụng cho tư vấn cộng tác được phân thành
3 loại là lọc theo bộ nhớ và lọc theo mô hình và lọc kết hợp.
1.3


Hạn chế của các phương pháp lọc cộng tác
Vấn đề thưa thớt dữ liệu đánh giá: Trong thực tế, nhiều
hệ tư vấn lựa chọn thương mại thường đánh giá một tập
sản phẩm rất lớn. Và để thực hiện các tư vấn chính xác, hệ
thống đầu tiên phải học những sở thích của người dùng từ
những đánh giá mà người dùng đã thực hiện. Tuy nhiên,
trong bất kỳ hệ tư vấn nào, số các đánh giá đạt được
thường là rất nhỏ so với số các đánh giá cần được dự đoán.
Do đó, ma trận sản phẩm người dùng sử dụng cho lọc
cộng tác sẽ vô cùng thưa thớt và hiệu năng dự đoán cũng
như tư vấn của các hệ thống lọc cộng tác là một thách thức
lớn. Vấn đề thưa thớt dữ liệu xuất hiện trong một vài tình
huống, điển hình là các tình huống sau:
Vấn đề “cold – start”: Vấn đề này xảy ra khi một người
dùng mới hoặc một sản phẩm mới được nạp vào hệ thống;
4

do không có đủ thông tin nên sẽ rất khó khăn để xác định
những người dùng (hoặc sản phẩm) tương đồng với người
dùng mới (hoặc sản phẩm mới) này. Những sản phẩm mới
sẽ không được tư vấn cho người dùng cho đến khi có một
số đánh giá của người dùng cho sản phẩm mới này. Và
những người dùng mới thì gần như không thể nhận được
các tư vấn tốt do thiếu các đánh giá cho sản phẩm hoặc
thiếu thông tin về lịch sử mua bán.
Vấn đề giảm “Coverage”: “Coverage” được định nghĩa là
phần trăm sản phẩm mà thuật toán có thể đưa ra để tư vấn
cho người dùng. Vấn đề “Coverage” bị giảm xảy ra khi số
đánh giá của người dùng được xem là nhỏ hơn rất nhiều so
với số lượng sản phẩm có trong hệ thống, và hệ tư vấn có
thể không có khả năng để tạo ra các tư vấn.
Vấn đề “Neighbor transitivity”: Được xem là vấn đề với
cơ sở dữ liệu thưa thớt, một người dùng có thể không được
xác định là tương đồng với một nhóm người dùng nếu
chưa có bất kỳ đánh giá nào cho những sản phẩm giống
với nhóm người dùng đã đánh giá. Điều này sẽ làm giảm
tính hiệu quả của những hệ tư vấn mà chỉ dựa trên việc so
sánh giữa những người dùng để đưa ra các dự đoán.


Khả năng mở rộng: Khi số lượng người dùng và sản
phẩm tăng lên nhanh chóng, thì các thuật toán lọc cộng tác
truyền thống sẽ gặp phải một loạt các vấn đề về khả năng
5



1.4

mở rộng, với yêu cầu tính toán vượt xa so với mức có thể
đáp ứng được.
Tính đồng nghĩa: Tính đồng nghĩa ở đây muốn nói đến xu
hướng một số sản phẩm giống nhau hoặc tương tự nhau có
các tên khác nhau hoặc các bản ghi khác nhau. Hầu hết các
hệ thống tư vấn không thể phát hiện ra sự liên kết tiềm ẩn
này; do đó đã xem các sản phẩm này là khác nhau. Ví dụ,
2 sản phẩm khác nhau “Children movie” và “Children
Film”, thực chất chúng là một sản phẩm nhưng các hệ
thống lọc cộng tác dựa trên bộ nhớ không thấy được điều
này để tính toán độ tương tự cho chúng.
Mục tiêu nghiên cứu đề tài

Để hạn chế những nhược điểm nêu trên, thì yêu cầu phải
có một thuật toán học có thể tận dụng được lợi thế của dữ liệu
chưa có nhãn và có khả năng mở rộng tập dữ liệu có nhãn sử dụng
tập dữ liệu chưa có nhãn. Đây cũng là nội dung chính trong đề tài
nghiên cứu của em. Trong các chương tiếp theo của để tài, em sẽ
trình bày một phương pháp có thể đáp ứng được yêu cầu này,
trong đó vấn đề lọc cộng tác như một vấn đề đồng huấn luyện.
Phương pháp này được thực hiện dựa trên 2 khung nhìn riêng biệt:
khung nhìn theo sản phầm và khung nhìn theo người dùng. Bằng
cách này, phương pháp có thể tận dụng được những ưu điểm của
các cách tiếp cận theo người dùng và theo sản phẩm; bên cạnh đó
mỗi khung nhìn có thể khắc phục được nhược điểm của khung còn
lại.
6

Chương 2 – LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP
ĐỒNG HUẤN LUYỆN
Học nửa giám sát đã thu hút nhiều sự chú ý từ các nhà
nghiên cứu bởi một số lượng lớn các ví dụ không có nhãn có thể
làm tăng hiệu suất cho thuật toán học khi chỉ có một số ví dụ nhỏ
hơn là có nhãn. Blum và Mitchell [16] là những người đầu tiên
xem xét việc thiết định bài toán mà tập đặc trưng của mỗi ví dụ có
thể được chia thành 2 khung nhìn khác biệt. Xem xét bài toán lọc
cộng theo cách tiếp cận đồng huấn luyện, thì 2 khung nhìn được
xác định ở đây là khung nhìn theo người dùng và khung nhìn theo
sản phẩm. Tập các nhãn được xác định có thể là những giá trị rõ
ràng (các giá trị nằm trong đoạn [1,5]). Và cặp người dùng – sản
phẩm mà người dùng chưa đánh giá sản phẩm là những mẫu huấn
luyện cần được xác định nhãn. Trong phần tiếp theo của chương
sau khi mô tả thuật toán đồng huấn luyện, em sẽ trình bày các
cách tiếp cận lọc cộng tác bằng đồng huấn luyện bao gồm: Lọc
cộng tác bằng phương pháp đồng huấn luyện theo người dùng, lọc
cộng tác bằng phương pháp đồng huấn luyện theo sản phẩm và
phương pháp kết hợp 2 phương pháp trên trên.
2.1

Phương pháp đồng huấn luyện (Co – Training)

2.1.1 Mô tả thuật toán đồng huấn luyện
Thuật toán đồng huấn luyện áp dụng khi tập dữ liệu có sự
phân chia đặc trưng tự nhiên. Quá trình đồng huấn luyện được mô
tả hình thức như sau: Quá trình đồng huấn luyện được thực hiện
như sau [1]. Cho không gian mẫu

=

×

trong đó,

1,

2
7

tương ứng là 2 khung nhìn khác nhau của một mẫu. Mỗi mẫu x đã
cho là một cặp ( 1,

2).

Giả sử rằng mỗi khung nhìn là đầy đủ để

phân loại đúng. Cho D là một phân phối trên , và cho C1, C2 lần
lượt là các lớp khái niệm được định nghĩa tương ứng trên

1,

2.

Giả sử rằng tất cả các nhãn của các mẫu có xác suất khác 0 dưới
là phù hợp với hàm mục đích
mục đích

2C2.

1C1

và cũng phù hợp với hàm

Hay nói cách khác, nếu

biểu thị cho khái niệm

mục đích kết hợp trên toàn bộ mẫu, thì với bất kỳ mẫu

= ( 1,

2)

được quan sát với nhãn ℓ, chúng ta có f(x) 	 = 	f( ) 	 = 	f(x ) 		 =
	ℓ. Trong thực tế, thì điều này có nghĩa là

sẽ gán xác suất bằng

0 cho bất kỳ mẫu nào mà f(x1)f(x2).
2.2

Quan sát vấn đề lọc cộng tác theo người dùng

Như đã trình bày trong chương 1, phương pháp lọc cộng
tác theo người dùng 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
chung cho các sản phẩm.



S i  j  U : Pi  Pj  



0

rix  ri r jx  rj


xP  Pj
uij  
i
2

rix  ri
r jx  r j

xPi Pj
 xPi  Pj








 

đánh giá

(2.4)
if

j  Si



(2.5)



2

, otherwise

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 (2.4).
8

 r
rix  ri 



 r j u ij

jx

jK i



(2.6)

u ij

jK i



K i  j  S i : u ij  max

2.3



(2.7)

Quan sát vấn đề lọc cộng tác theo sản phẩm
Tương tự như đối với sản phẩm, phương pháp lọc cộng tác

theo sản phẩm mức độ tương tự giữa sản phẩm xP trên các cột
người dùng.

sản phẩm Cy giao nhau tối thiểu



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



(2.8)

if y  Cx
0

rix  rx riy  ry


i x Uy
U
pxy  
, otherwise
2
2

rix  rx
rix  ry

i x U y
U
 iU x Uy










 

(2.9)



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 (2.8).

p r
| p |
xy iy

rix 

y K x

(2.10)

xy

yK x



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



(2.11)
9

2.4

Kết hợp giữa các kiểu quan sát

2.4.1 Lọc cộng tác bằng phương pháp đồng huấn luyện theo
người dùng
Phương pháp lọc cộng tác bằng đồng huấn luyện theo
người dùng được 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). Quá trình huấn luyện được thực hiện
như trong bảng 2.3
Bảng 2.3 Thuật toán lọc cộng tác bằng phương pháp đồng huấn
luyện theo người dùng
Đầu vào: Khởi tạo ma trận đánh giá
Đầu ra : Ma trận dự đoán

(
R0 (rij0))  (rij)

 .

(
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 ) , uijt ) theo công thức (2.4), (2.5).

b) Tìm

K i(t ) theo công thức (2.7).
(t )

c) Dự đoán rix theo công thức (2.6).
2.2. Huấn luyện theo sản phẩm:
a) Tìm

(
C xt ) , p (t ) theo công thức (2.8), (2.9).
xy

b) Tìm

(t
Kx )

theo công thức (2.11).
(t )

c) Dự đoán rix theo công thức (2.10).
2.3. Tăng bước lặp: tt+1;
Until Converges: không có nhãn phân loại nào được bổ sung vào ma trận dự đoán
10

2.4.2 Lọc cộng tác bằng phương pháp đồng huấn luyện theo
sản phẩm
Gần giống với lọc cộng tác bằng phương pháp đồng huấn
luyện theo sản phẩm, phương pháp này chỉ có một điểm khác
trong quá trình huấn luyện đó là thứ tự thực hiện huấn luyện, quá
trình huấn luyện theo sản phẩm sẽ được thực hiện trước quá trình
huấn luyện theo người dùng. Phương pháp này được mô tả hình
thức trong bảng 2.4 như sau:
Bảng 2.4 Thuật toán lọc cộng tác bằng phương pháp đồng huấn
luyện theo sản phẩm.
Đầu vào: Ma trận đánh giá
Đầu ra : Ma trận dự đoán

(
R0 (rij0))  (rij) .

 .

(
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

(
C xt ) , p (t ) theo công thức (2.8), (2.9).
xy

b) Tìm

(t
Kx )

theo công thức (2.11).
(t )

c) Dự đoán rix theo công thức (2.10).
2.2. Huấn luyện theo người dùng:
a) Tìm

(
S i(t ) , uijt ) theo công thức (2.4), (2.5).

b) Tìm

K i(t ) theo công thức (2.6).
(t )

c) Dự đoán rix

theo công thức (2.7).

2.3. Tăng bước lặp: tt+1;
Until Converges : không có nhãn phân loại nào được bổ sung vào ma trận dự
đoán
11

2.5

Ví dụ minh họa

Ví dụ, xem xét bài toán lọc cộng tác 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
Bảng 2.5 Ma trận đánh giá của lọc cộng tác
Người
dùng

Sản phẩm

u1

4

u1 4

u1 4

u1 4

u2

4

u2 4

u2 4

u2 4

u3



u3  u3  u3 

u4



u4  u4  u4 

u5

?

u5 ?

p1

p1

p1

u5 ?

p1

u5 ?

Ví dụ tập với người dùng đã cho trong Bảng 2.5, thực hiện huấn
luyện theo người dùng ta tìm được K1={u2}, K2={u3}, K3={u2}.
Và các giá trị dự đoán chắc chắn sẽ được điền cho u1 là r13=5,
r14=5. Giá trị dự đoán chắc chắn sẽ được điền cho u2 là r26=2. Giá
trị dự đoán chắc chắn sẽ được điền cho u3 là r31=1, r35=4.
12

Bảng 2.6 Ma trận đánh ước lượng theo người dùng
Người
dùng

Sản phẩm
p1

p2

p3

p4

p5

p6

p7

u1

4

2

5

5

3



5

u2

4



5

5

4

2

5

u3

4



5

5

4

2

4

u4



3

5

5

2





u5

?

5



?

?

4

4

Với K1={p5}, K3={p7}, K7={p3,p4} thì các giá trị dự đoán chắc
chắn sẽ được điền cho p1 là r41 = 2, cho p5 là r53=4 cho p7 là r47=5.

Bảng 2.7 Ma trận đánh ước lượng theo sản phẩm
Sản phẩm

Người
dùng

p1

p2

p3

p4

p5

p6

p7

u1

4

2

5

5

3



5

u2

4



5

5

4

2

5

u3

4



5

5

4

2

4

u4

2

3

5

5

2



5

u5

?

5

4

?

?

4

4

Như vậy, quá trình lọc cộng tác bằng đồng huấn luyện với 1 bước
lặp đã bổ sung được các giá trị đánh giá còn thiếu vào tập dữ liệu
huấn luyện.
13

Chương 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ
Việc cài đặt 3 thuật toán đã được nêu ra ở các phần trước
sẽ được trình bày trong chương này; đó là thuật toán lọc cộng tác
dựa theo người dùng, lọc cộng tác dựa theo sản phẩm và lọc cộng
tác bằng phương pháp đồng huấn luyện. Các kết quả được xác
định và so sánh dựa trên 3 độ đo: độ nhạy, độ tính xác và Fmeasure.
3.1
3.1.1

Dữ liệu thử nghiệm
Mô tả tập dữ liệu kiểm thử

Với các thử nghiệm, chúng ta sử dụng tập dữ liệu
Movielens của nhóm nghiên cứu GroupLens. Tập dữ liệu
Movielens chứa các dữ liệu đánh giá rõ ràng cho các phim. Bao
gồm 100000 đánh giá được thực hiện bởi 943 users trên 1682
items .Các phim nhận giá trị đánh giá trong khoảng từ 1 đến 5. Dữ
liệu này đã được lọc, với những người dùng có ít hơn 20 đánh giá
hoặc không có thông tin đầy đủ sẽ được loại bỏ khỏi tập dữ liệu vì
thế mỗi người dùng đã đánh giá ít nhất là 20 phim.
3.1.2 Thiết lập các tham số kiểm thử
Vì chúng ta tập trung vào hiệu năng của các phương pháp
trong giai đoạn bắt đầu, khi chỉ có một số lượng nhỏ các đánh giá
có sẵn, nên các thuật toán sẽ thực hiện thử nghiệm theo 3 tập dữ
liệu nhỏ hơn A, B và C được tạo từ các bộ dữ liệu u1.base, u2.
base,u3.base và u1.test, u2.test, u3.test. Mô tả các tập dữ liệu được
trình bày trong bảng 3.2.
14

Bảng 3.2 Thiết lập các tham số kiểm thử
Dataset

Số người dùng

Số sản phẩm

Số các đánh giá đã
thực hiện

A

30

30

126

B

50

60

325

C

70

50

318

 Thuật toán lọc cộng tác dựa trên người dùng: kiểm tra sự
đúng đắn của cài đặt thuật toán sử dụng ba kích thước hàng
xóm K = 3. Và kiểm nghiệm với các tập 20 người dùng – 20
sản phẩm, 50 người dùng – 60 sản phẩm, 70 người dùng – 50
sản phẩm trên tập dữ liệu MovieLens
 Thuật toán lọc cộng tác dựa trên sản phẩm thiết lập tham số
giống thuật toán lọc cộng tác dựa theo người dùng
 Thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện
dựa trên người dùng, thuật toán lọc cộng tác bằng phương
pháp đồng huấn luyện dựa trên sản phẩm và thuật toán kết
hợp sẽ được thực hiện với những thiết định giống với 2 thuật
toán lọc cộng tác ở trên.
3.2

Phương pháp thử nghiệm

Trước tiên, toàn bộ dữ liệu thử nghiệm được chia thành hai
phần, một phần Utr được sử dụng làm dữ liệu huấn luyện, phần
còn lại Ute được sử dụng để kiểm tra. Tập Utr chứa 80% đánh giá
và tập Ute chứa 20% đánh giá. Dữ liệu huấn luyện được sử dụng
15

để xây dựng mô hình theo thuật toán mô tả ở trên. Với mỗi người
dùng i thuộc tập dữ liệu kiểm tra, các đánh giá (đã có) của người
dùng được chia làm hai phần Oi và Pi. Oi được coi là đã biết, trong
khi đó Pi là đánh giá cần dự đoán từ dữ liệu huấn luyện Oi.
3.2.1

Độ đo

Ba độ đo chính được sử dụng trong thử nghiệm thuật toán
là độ chính xác, độ nhạy và F – measure. Ba độ đo này được tính
theo các công thức sau:
Precision (tính chính xác) là phần trăm số sản phẩm được tư vấn
là chính xác[7]
Pr ecision 

| S1  S 2 |
| S1 |

(3.2)

Recall là phần trăm số sản phẩm chính xác được tư vấn [7]

Re call 

| S1  S 2 |
S2

(3.3)

F – measure là kết hợp của độ chính xác và recall và tường được
sử dụng vì nó dể để tối ưu do có sự mâu thuẫn giữa độ nhạy và
độ chính xác:

F  measure 

2  Pr ecision  Re call
Pr ecision  Re call

(3.4)
16

3.2.2 Mô tả cài đặt thuật toán lọc cộng tác dựa theo người
dùng
Để đưa ra dự đoán về một sản phẩm x, giả sử rằng vector
đầu vào chứa tất cả các sản phẩm trong tập dữ liệu khác x. Một vài
người dùng chưa đánh giá cho một số sản phẩm nào đó, vì vậy ma
trận khoảng cách có thể chỉ được tính thông qua các sản phẩm mà
người dùng tích cực i và mỗi người dùng j trong tập dữ liệu đã
cùng đánh giá.
Trong thử nghiệm này, khoảng cách sẽ được tính theo độ
tương quan Pearson:
0

 rix  ri r jx  r j


xPi  Pj
uij  
2

 rjx  rj
  rix  ri
xPi  Pj
 xPi  Pj










if

j  Si







2

, otherwise

Giao diện cài đặt chương trình kiểm thử
17

Hình 3.1 Thiết định kiểm thử

Hình 3.2 Cài đặt kiểm thử thuật toán lọc cộng tác theo người dùng
18

3.2.3 Mô tả cài đặt thuật toán lọc cộng tác dựa theo sản
phẩm
Tương tự, với thuật toán lọc cộng tác dựa theo sản phẩm,
dự đoán đánh giá của người dùng i cho về một sản phẩm x sẽ
được dựa trên những đánh giá của người dùng i cho các sản phẩm
y tương đồng với sản phẩm x. Độ tương quan Pearson tính theo

phương trình:
if y  Cx
0

rix  rx riy  ry


iUx U y
pxy  
, otherwise
2
2

rix  rx
rix  ry

iUx U y
 iU x U y








 





Giao diện cài đặt chương trình kiểm thử

Hình 3.3 Cài đặt kiểm thử thuật toán lọc cộng tác theo sản phẩm
19

3.2.4 Mô tả cài đặt thuật toán bằng phương pháp đồng huấn
luyện
Việc thực hiện cài đặt thuật toán lọc cộng tác bằng phương
pháp đồng huấn luyện sẽ thực hiện theo 2 cách tiếp cận là: lọc
cộng tác bằng phương pháp đồng huấn luyện dựa theo người dùng
và lọc cộng tác bằng phương pháp đồng huấn luyện dựa theo sản
phẩm. Điểm khác biệt cơ bản giữa 2 cách tiếp cận này đó chính là
thứ tự thực hiện quá trình huấn luyện theo người dùng và huấn
luyện theo sản phẩm. Cụ thể, thuật toán sẽ được thực hiện theo thủ
tục đã được trình bày chi tiết trong bảng 2.3 và bảng 2.4. Giao
diện cài đặt chương trình kiểm thử:

Hình 3.4 Cài đặt kiểm thử thuật toán lọc cộng tác bằng phương
pháp đồng huấn luyện
20

3.3

Kết quả thử nghiệm

Các kết quả kiểm thử của cài đặt các thuật toán được tổng
hợp trong bảng 3.3 dưới đây.
Bảng 3.3 Bảng kết quả kiểm thử các thuật toán lọc cộng tác
Tập dữ liệu
Phương pháp
A

B

C

Độ nhạy

0.953

0.928

0.987

Độ chính xác

0.844

0.856

0.86

F - measure

0.895

0.89

0.919

Độ nhạy

0.153

0.157

0.097

Độ chính xác

0.255

0.241

0.205

F - measure

0.191

0.19

0.123

Độ nhạy

0.988

0.942

0.978

Độ chính xác

0.857

0.856

0.86

F - measure

0.918

0.897

0.919

Độ nhạy

0.388

0.277

0.342

Độ chính xác

0.337

0.256

0.298

F - measure

0.361

0.266

0.318

Độ đo

Lọc cộng tác theo
người dùng

Lọc cộng tác theo
sản phẩm

Lọc cộng tác bằng
phương pháp đồng
huấn luyện theo
người dùng

Lọc cộng tác bằng
phương pháp đồng
huấn luyện theo sản
phẩm
21

3.4

So sánh và đánh giá

Trong thử nghiệm ban đầu, các phương pháp lọc cộng tác
dựa theo người dùng, lọc cộng tác dựa theo sản phẩm và phương
pháp mới lọc cộng tác bằng phương pháo đồng huấn luyện được
so sánh qua các kết quả thử nghiệm. Các kiểm thử được thực hiện
ở 3 thuật toán với các tập dữ liệu có độ lớn khác nhau. Căn cứ vào
các kết quả của kiểm thử thì cách tiếp cận bằng phương pháp đồng
huấn luyện theo người dùng làm việc tốt hơn so với phương pháp
lọc cộng tác theo người dùng và cách tiếp cận bằng phương pháp
đồng huấn luyện theo sản phẩm làm việc tốt hơn so với phương
pháp lọc cộng tác theo sản phẩm. Theo kết quả kiểm thử, cách tiếp
cận bằng phương pháp đồng huấn luyện theo sản phẩm thực hiện
chưa tốt bằng phương pháp lọc cộng tác theo người dùng, điều
này có thể lý giải là do: thứ nhất, số lượng đánh giá chắc chắn mà
quá trình lọc cộng tác theo sản phẩm bổ sung thêm được là ít do
ảnh hưởng của tính thưa thớt dữ liệu đánh giá của tập dữ liệu kiểm
thử. Thứ 2, việc xác định điểm dừng trong cài đặt thuật toán dựa
vào số lượng đánh giá chắc chắn được bổ sung vào trong ma trận
huấn luyện. Trường hợp không có thêm đánh giá nào được bổ
sung thì thuật toán sẽ dừng.
22

KẾT LUẬN
Phương pháp lọc cộng tác bằng phương pháp đồng huấn
luyện, đã được trình bày trong báo cáo này, là một cách tiếp cận
mới; nó kết hợp 2 cách quan sát: quan sát theo người dùng và
quan sát theo sản phẩm để huấn luyện bộ dữ liệu đánh giá. Trong
đó, quá trình quan sát theo người dùng sẽ bổ sung được các nhãn
phân loại chắc chắn cho quá trình tính toán mức độ tương tự giữa
các cặp sản phẩm. Ngược lại, quá trình quan sát theo sản phẩm
cũng sẽ bổ sung được các nhãn phân loại chắc chắn cho quá trình
tính toán mức độ tương tự giữa các cặp người dùng. Bằng cách
này, phương pháp đảm bảo rằng, trong trường hợp dữ liệu đầu vào
thưa thớt đánh giá thì hệ thống vẫn có thể đưa ra được các tư vấn
có ích.
Trong thử nghiệm ban đầu, các phương pháp lọc cộng tác
dựa theo người dùng, lọc cộng tác dựa theo sản phẩm và phương
pháp mới lọc cộng tác bằng phương pháp đồng huấn luyện được
so sánh qua các kết quả thử nghiệm dựa trên 3 độ đo cơ bản là độ
nhạy, độ chính xác và F – measure. Các kiểm thử được thực hiện
ở 3 thuật toán với các tập dữ liệu có độ lớn khác nhau. Căn cứ vào
các kết quả của kiểm thử thì cách tiếp cận lọc cộng tác bằng
phương pháp đồng huấn luyện làm việc tốt hơn các cách tiếp cận
lọc cộng tác thuần túy. Đặc biệt, trong các trường hợp thưa thớt
đánh giá.
Tuy nhiên, qua kết quả kiểm thử cho thấy rằng trong một
số trường hợp phương pháp lọc cộng tác bằng đồng huấn luyện
23

cũng không đem lại lợi ích cho tư vấn. Vì vậy, một số hướng
nghiên cứu xa hơn cần được thực hiện, đó là, thứ nhất việc thực
hiện trên 2 khung nhìn người dùng và sản phẩm, trong một số
trường hợp nó có thể làm giảm hiệu năng của thuật toán. Thứ 2,
vấn đề xác định quá trình theo người dùng hay quá trình theo sản
phẩm thực hiện trước với từng hệ thống cụ thể để đem lại lợi ích
cao nhất từ việc sử dụng dữ liệu chưa có đánh giá với hiệu năng
tốt nhất. Thứ 3, sự cân bằng giữa dữ liệu có nhãn và chưa có nhãn
để phương pháp đạt kết quả tốt nhất.

More Related Content

Similar to Ttlv pham thi hien

quản trị chất lương 6-digiworldhanoi.vn
quản trị chất lương 6-digiworldhanoi.vnquản trị chất lương 6-digiworldhanoi.vn
quản trị chất lương 6-digiworldhanoi.vnDigiword Ha Noi
 
Quản trị chất lương 6 digiworldhanoi.vn
Quản trị chất lương 6  digiworldhanoi.vnQuản trị chất lương 6  digiworldhanoi.vn
Quản trị chất lương 6 digiworldhanoi.vnDigiword Ha Noi
 
Dinh thithuhien doan1
Dinh thithuhien doan1Dinh thithuhien doan1
Dinh thithuhien doan1Alice_Stone
 
Chude01 nhom5
Chude01 nhom5Chude01 nhom5
Chude01 nhom5Sunkute
 
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfCÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfMan_Ebook
 
Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)
Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)
Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)MasterCode.vn
 
5.6.qtc luong ok
5.6.qtc luong ok5.6.qtc luong ok
5.6.qtc luong okBestCarings
 
Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3
Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3
Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3Le Nguyen Truong Giang
 
Đề tài báo cáo thực tập kênh phân phối của công ty
Đề tài báo cáo thực tập kênh phân phối của công tyĐề tài báo cáo thực tập kênh phân phối của công ty
Đề tài báo cáo thực tập kênh phân phối của công tyLuận Văn 1800
 
Đề tài báo cáo thực tập kênh phân phối của công ty (2)
Đề tài báo cáo thực tập kênh phân phối của công ty (2)Đề tài báo cáo thực tập kênh phân phối của công ty (2)
Đề tài báo cáo thực tập kênh phân phối của công ty (2)Luận Văn 1800
 
Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...
Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...
Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...luanvantrust
 

Similar to Ttlv pham thi hien (20)

quản trị chất lương 6-digiworldhanoi.vn
quản trị chất lương 6-digiworldhanoi.vnquản trị chất lương 6-digiworldhanoi.vn
quản trị chất lương 6-digiworldhanoi.vn
 
Quản trị chất lương 6 digiworldhanoi.vn
Quản trị chất lương 6  digiworldhanoi.vnQuản trị chất lương 6  digiworldhanoi.vn
Quản trị chất lương 6 digiworldhanoi.vn
 
Dinh thithuhien doan1
Dinh thithuhien doan1Dinh thithuhien doan1
Dinh thithuhien doan1
 
Xây Dựng Và Đánh Giá Hệ Thống Tìm Kiếm Thông Tin.doc
Xây Dựng Và Đánh Giá Hệ Thống Tìm Kiếm Thông Tin.docXây Dựng Và Đánh Giá Hệ Thống Tìm Kiếm Thông Tin.doc
Xây Dựng Và Đánh Giá Hệ Thống Tìm Kiếm Thông Tin.doc
 
Đề tài: Chương trình quản lý bán hàng theo chuỗi cung cấp, HAY
Đề tài: Chương trình quản lý bán hàng theo chuỗi cung cấp, HAYĐề tài: Chương trình quản lý bán hàng theo chuỗi cung cấp, HAY
Đề tài: Chương trình quản lý bán hàng theo chuỗi cung cấp, HAY
 
Chude01 nhom5
Chude01 nhom5Chude01 nhom5
Chude01 nhom5
 
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfCÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
 
Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)
Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)
Hệ thống thông tin quản lý - Bài 6 Phát triển hệ thống thông tin (phần 1)
 
Luận văn: Xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp, 9đ
Luận văn: Xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp, 9đLuận văn: Xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp, 9đ
Luận văn: Xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp, 9đ
 
5.6.quan tri chat luong
5.6.quan tri chat luong5.6.quan tri chat luong
5.6.quan tri chat luong
 
Đề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà Vinh
Đề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà VinhĐề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà Vinh
Đề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà Vinh
 
Luận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảo
Luận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảoLuận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảo
Luận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảo
 
5.6.qtc luong ok
5.6.qtc luong ok5.6.qtc luong ok
5.6.qtc luong ok
 
Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3
Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3
Chương 3: PHÁT TRIỂN MẪU KHÁI NIỆM_Phần 3
 
Đề tài báo cáo thực tập kênh phân phối của công ty download free
Đề tài báo cáo thực tập kênh phân phối của công ty download freeĐề tài báo cáo thực tập kênh phân phối của công ty download free
Đề tài báo cáo thực tập kênh phân phối của công ty download free
 
Đề tài báo cáo thực tập kênh phân phối của công ty
Đề tài báo cáo thực tập kênh phân phối của công tyĐề tài báo cáo thực tập kênh phân phối của công ty
Đề tài báo cáo thực tập kênh phân phối của công ty
 
Đề tài báo cáo thực tập kênh phân phối của công ty (2)
Đề tài báo cáo thực tập kênh phân phối của công ty (2)Đề tài báo cáo thực tập kênh phân phối của công ty (2)
Đề tài báo cáo thực tập kênh phân phối của công ty (2)
 
Đề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đ
Đề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đĐề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đ
Đề tài: Quản lý thu tiền sử dụng Internet, HAY, 9đ
 
Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...
Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...
Quản trị kênh phân phối đối với sản phẩm gạch men của công ty cổ phần gạch me...
 
Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...
Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...
Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...
 

Ttlv pham thi hien

  • 1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- PHẠM THỊ HIÊN LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP ĐỒNG HUẤN LUYỆN Chuyên ngành: Truyền dữ liệu và mạng máy tính Mã số: 60.48.15 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS TỪ MINH PHƯƠNG HÀ NỘI - 2012
  • 2. 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ử. Ví dụ như Amazon.com, chacha.vn, Yahoo! news, ebay.com,…v.v. Đã có rất nhiều nghiên cứu về các phương pháp sử dụng trong hệ tư vấn lựa chọn. Và một trong những bước phát triển mới trong lĩnh vực nghiên cứu này là sự ra đời của kỹ thuật lọc cộng tác (collaborative filtering) vào giữa những năm 1990s. Lọc cộng tác là phương pháp phổ biến cho việc xây dựng các hệ thống tư vấn. Các thuật toán lọc cộng tác hiện tại thường dựa trên thông tin mua bán hoặclịch sử đánh giá của người dùng để đưa ra các dự đoán dựa trên độ tương đồng về sở thích giữa người dùng với nhau. Mặc dù, những thuật toán này đã được áp dụng trong một số hệ thống tư vấn lựa chọn và đạt được một số thành tựu nhất định, nhưng chúng vẫn còn nhiều hạn chế cần phải giải quyết như vấn đề người dùng mới, vấn đề thưa thớt dữ liệu đánh giá, vấn đề cold-start… Trong nghiên cứu này, em sẽ trình bày một phương pháp mới, đó là, phương pháp lọc cộng tác dựa bằng phương pháp đồng huấn luyện. Phương pháp mới này kết hợp cách tiếp cận theo người dùng và cách tiếp cận theo sản phẩm để huấn luyện bộ dữ liệu đánh giá. Vì kết hợp được 2 khung nhìn nên phương pháp này có thể phát huy những ưu điểm của lọc cộng tác theo người dùng và lọc cộng tác theo sản phẩm và có khả năng khắc phục được các hạn chế hiện thời của các cách tiếp cận này thuần túy này. Nội dung của luận văn được bố cục thành 3 chương như sau:
  • 3. 2  Chương 1 – LỌC CỘNG TÁC Để thấy được động lực cho việc nghiên cứu một phương pháp mới, chương 1 sẽ trình bày tổng quan về lọc cộng tác, các phương pháp lọc cộng tác và các hạn chế của những phương pháp lọc cộng tác này.  Chương 2 – LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP ĐỒNG HUẤN LUYỆN Chương 2 sẽ trình bày một phương pháp mới được đề xuất - phương pháp lọc cộng tác bằng phương pháp đồng huấn luyện. Xuất phát từ các nghiên cứu về phương pháp đồng huấn luyện để hiểu được những lợi ích có được từ phương pháp này, từ đó nghiên cứu quá trình thực hiện khi áp dụng phương pháp này trong lọc cộng tác.  Chương 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ Chương 3 sẽ được dành cho việc thực hiện kiểm thử trên bộ dữ liệu thử nghiệm. Từ kết quả thử nghiện thu được sẽ tiến hành đánh giá phương pháp, đồng thời so sánh với kết quả thu được từ các phương pháp trước. Chương 1 – LỌC CỘNG TÁC 1.1 1.2.1 Vấn đề lọc cộng tác Mô tả bài toán lọc cộng tác Lọc cộng tác là một trong các cách tiếp cận thành công để xây dựng các hệ thống tư vấn lựa chọn. Khác với lọc theo nội dung, lọc cộng tác sẽ dựa trên những đánh giá của nhóm người dùng hợp “gu” với người dùng c để ước lượng giá trị có ích
  • 4. 3 u (c, s ) của sản phẩm s với người dùng c . Trong kịch bản điển hình của lọc cộng tác, thì có một danh sách m người dùng { , , … , } và một danh sách n sản phẩm và { , , … , } mỗi người dùng có một tập các sản phẩm mà người dùng đó đã đánh giá hoặc các sở thích của họ đã được thu thập qua các hành vi. 1.2 Các phương pháp lọc cộng tác Các kỹ thuật sử dụng cho tư vấn cộng tác được phân thành 3 loại là lọc theo bộ nhớ và lọc theo mô hình và lọc kết hợp. 1.3  Hạn chế của các phương pháp lọc cộng tác Vấn đề thưa thớt dữ liệu đánh giá: Trong thực tế, nhiều hệ tư vấn lựa chọn thương mại thường đánh giá một tập sản phẩm rất lớn. Và để thực hiện các tư vấn chính xác, hệ thống đầu tiên phải học những sở thích của người dùng từ những đánh giá mà người dùng đã thực hiện. Tuy nhiên, trong bất kỳ hệ tư vấn nào, số các đánh giá đạt được thường là rất nhỏ so với số các đánh giá cần được dự đoán. Do đó, ma trận sản phẩm người dùng sử dụng cho lọc cộng tác sẽ vô cùng thưa thớt và hiệu năng dự đoán cũng như tư vấn của các hệ thống lọc cộng tác là một thách thức lớn. Vấn đề thưa thớt dữ liệu xuất hiện trong một vài tình huống, điển hình là các tình huống sau: Vấn đề “cold – start”: Vấn đề này xảy ra khi một người dùng mới hoặc một sản phẩm mới được nạp vào hệ thống;
  • 5. 4 do không có đủ thông tin nên sẽ rất khó khăn để xác định những người dùng (hoặc sản phẩm) tương đồng với người dùng mới (hoặc sản phẩm mới) này. Những sản phẩm mới sẽ không được tư vấn cho người dùng cho đến khi có một số đánh giá của người dùng cho sản phẩm mới này. Và những người dùng mới thì gần như không thể nhận được các tư vấn tốt do thiếu các đánh giá cho sản phẩm hoặc thiếu thông tin về lịch sử mua bán. Vấn đề giảm “Coverage”: “Coverage” được định nghĩa là phần trăm sản phẩm mà thuật toán có thể đưa ra để tư vấn cho người dùng. Vấn đề “Coverage” bị giảm xảy ra khi số đánh giá của người dùng được xem là nhỏ hơn rất nhiều so với số lượng sản phẩm có trong hệ thống, và hệ tư vấn có thể không có khả năng để tạo ra các tư vấn. Vấn đề “Neighbor transitivity”: Được xem là vấn đề với cơ sở dữ liệu thưa thớt, một người dùng có thể không được xác định là tương đồng với một nhóm người dùng nếu chưa có bất kỳ đánh giá nào cho những sản phẩm giống với nhóm người dùng đã đánh giá. Điều này sẽ làm giảm tính hiệu quả của những hệ tư vấn mà chỉ dựa trên việc so sánh giữa những người dùng để đưa ra các dự đoán.  Khả năng mở rộng: Khi số lượng người dùng và sản phẩm tăng lên nhanh chóng, thì các thuật toán lọc cộng tác truyền thống sẽ gặp phải một loạt các vấn đề về khả năng
  • 6. 5  1.4 mở rộng, với yêu cầu tính toán vượt xa so với mức có thể đáp ứng được. Tính đồng nghĩa: Tính đồng nghĩa ở đây muốn nói đến xu hướng một số sản phẩm giống nhau hoặc tương tự nhau có các tên khác nhau hoặc các bản ghi khác nhau. Hầu hết các hệ thống tư vấn không thể phát hiện ra sự liên kết tiềm ẩn này; do đó đã xem các sản phẩm này là khác nhau. Ví dụ, 2 sản phẩm khác nhau “Children movie” và “Children Film”, thực chất chúng là một sản phẩm nhưng các hệ thống lọc cộng tác dựa trên bộ nhớ không thấy được điều này để tính toán độ tương tự cho chúng. Mục tiêu nghiên cứu đề tài Để hạn chế những nhược điểm nêu trên, thì yêu cầu phải có một thuật toán học có thể tận dụng được lợi thế của dữ liệu chưa có nhãn và có khả năng mở rộng tập dữ liệu có nhãn sử dụng tập dữ liệu chưa có nhãn. Đây cũng là nội dung chính trong đề tài nghiên cứu của em. Trong các chương tiếp theo của để tài, em sẽ trình bày một phương pháp có thể đáp ứng được yêu cầu này, trong đó vấn đề lọc cộng tác như một vấn đề đồng huấn luyện. Phương pháp này được thực hiện dựa trên 2 khung nhìn riêng biệt: khung nhìn theo sản phầm và khung nhìn theo người dùng. Bằng cách này, phương pháp có thể tận dụng được những ưu điểm của các cách tiếp cận theo người dùng và theo sản phẩm; bên cạnh đó mỗi khung nhìn có thể khắc phục được nhược điểm của khung còn lại.
  • 7. 6 Chương 2 – LỌC CỘNG TÁC BẰNG PHƯƠNG PHÁP ĐỒNG HUẤN LUYỆN Học nửa giám sát đã thu hút nhiều sự chú ý từ các nhà nghiên cứu bởi một số lượng lớn các ví dụ không có nhãn có thể làm tăng hiệu suất cho thuật toán học khi chỉ có một số ví dụ nhỏ hơn là có nhãn. Blum và Mitchell [16] là những người đầu tiên xem xét việc thiết định bài toán mà tập đặc trưng của mỗi ví dụ có thể được chia thành 2 khung nhìn khác biệt. Xem xét bài toán lọc cộng theo cách tiếp cận đồng huấn luyện, thì 2 khung nhìn được xác định ở đây là khung nhìn theo người dùng và khung nhìn theo sản phẩm. Tập các nhãn được xác định có thể là những giá trị rõ ràng (các giá trị nằm trong đoạn [1,5]). Và cặp người dùng – sản phẩm mà người dùng chưa đánh giá sản phẩm là những mẫu huấn luyện cần được xác định nhãn. Trong phần tiếp theo của chương sau khi mô tả thuật toán đồng huấn luyện, em sẽ trình bày các cách tiếp cận lọc cộng tác bằng đồng huấn luyện bao gồm: Lọc cộng tác bằng phương pháp đồng huấn luyện theo người dùng, lọc cộng tác bằng phương pháp đồng huấn luyện theo sản phẩm và phương pháp kết hợp 2 phương pháp trên trên. 2.1 Phương pháp đồng huấn luyện (Co – Training) 2.1.1 Mô tả thuật toán đồng huấn luyện Thuật toán đồng huấn luyện áp dụng khi tập dữ liệu có sự phân chia đặc trưng tự nhiên. Quá trình đồng huấn luyện được mô tả hình thức như sau: Quá trình đồng huấn luyện được thực hiện như sau [1]. Cho không gian mẫu = × trong đó, 1, 2
  • 8. 7 tương ứng là 2 khung nhìn khác nhau của một mẫu. Mỗi mẫu x đã cho là một cặp ( 1, 2). Giả sử rằng mỗi khung nhìn là đầy đủ để phân loại đúng. Cho D là một phân phối trên , và cho C1, C2 lần lượt là các lớp khái niệm được định nghĩa tương ứng trên 1, 2. Giả sử rằng tất cả các nhãn của các mẫu có xác suất khác 0 dưới là phù hợp với hàm mục đích mục đích 2C2. 1C1 và cũng phù hợp với hàm Hay nói cách khác, nếu biểu thị cho khái niệm mục đích kết hợp trên toàn bộ mẫu, thì với bất kỳ mẫu = ( 1, 2) được quan sát với nhãn ℓ, chúng ta có f(x) = f( ) = f(x ) = ℓ. Trong thực tế, thì điều này có nghĩa là sẽ gán xác suất bằng 0 cho bất kỳ mẫu nào mà f(x1)f(x2). 2.2 Quan sát vấn đề lọc cộng tác theo người dùng Như đã trình bày trong chương 1, phương pháp lọc cộng tác theo người dùng 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 chung cho các sản phẩm.  S i  j  U : Pi  Pj    0  rix  ri r jx  rj   xP  Pj uij   i 2  rix  ri r jx  r j  xPi Pj  xPi  Pj       đánh giá (2.4) if j  Si  (2.5)  2 , otherwise 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 (2.4).
  • 9. 8  r rix  ri    r j u ij jx jK i  (2.6) u ij jK i  K i  j  S i : u ij  max 2.3  (2.7) Quan sát vấn đề lọc cộng tác theo sản phẩm Tương tự như đối với sản phẩm, phương pháp lọc cộng tác theo sản phẩm mức độ tương tự giữa sản phẩm xP trên các cột người dùng. sản phẩm Cy giao nhau tối thiểu  Cx  y  P : U x U y    (2.8) if y  Cx 0  rix  rx riy  ry   i x Uy U pxy   , otherwise 2 2  rix  rx rix  ry  i x U y U  iU x Uy        (2.9)  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 (2.8). p r | p | xy iy rix  y K x (2.10) xy yK x  K x  y  C x : p xy  max  (2.11)
  • 10. 9 2.4 Kết hợp giữa các kiểu quan sát 2.4.1 Lọc cộng tác bằng phương pháp đồng huấn luyện theo người dùng Phương pháp lọc cộng tác bằng đồng huấn luyện theo người dùng được 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). Quá trình huấn luyện được thực hiện như trong bảng 2.3 Bảng 2.3 Thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện theo người dùng Đầu vào: Khởi tạo ma trận đánh giá Đầu ra : Ma trận dự đoán ( R0 (rij0))  (rij)  . ( 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 ) , uijt ) theo công thức (2.4), (2.5). b) Tìm K i(t ) theo công thức (2.7). (t ) c) Dự đoán rix theo công thức (2.6). 2.2. Huấn luyện theo sản phẩm: a) Tìm ( C xt ) , p (t ) theo công thức (2.8), (2.9). xy b) Tìm (t Kx ) theo công thức (2.11). (t ) c) Dự đoán rix theo công thức (2.10). 2.3. Tăng bước lặp: tt+1; Until Converges: không có nhãn phân loại nào được bổ sung vào ma trận dự đoán
  • 11. 10 2.4.2 Lọc cộng tác bằng phương pháp đồng huấn luyện theo sản phẩm Gần giống với lọc cộng tác bằng phương pháp đồng huấn luyện theo sản phẩm, phương pháp này chỉ có một điểm khác trong quá trình huấn luyện đó là thứ tự thực hiện huấn luyện, quá trình huấn luyện theo sản phẩm sẽ được thực hiện trước quá trình huấn luyện theo người dùng. Phương pháp này được mô tả hình thức trong bảng 2.4 như sau: Bảng 2.4 Thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện theo sản phẩm. Đầu vào: Ma trận đánh giá Đầu ra : Ma trận dự đoán ( R0 (rij0))  (rij) .  . ( 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 ( C xt ) , p (t ) theo công thức (2.8), (2.9). xy b) Tìm (t Kx ) theo công thức (2.11). (t ) c) Dự đoán rix theo công thức (2.10). 2.2. Huấn luyện theo người dùng: a) Tìm ( S i(t ) , uijt ) theo công thức (2.4), (2.5). b) Tìm K i(t ) theo công thức (2.6). (t ) c) Dự đoán rix theo công thức (2.7). 2.3. Tăng bước lặp: tt+1; Until Converges : không có nhãn phân loại nào được bổ sung vào ma trận dự đoán
  • 12. 11 2.5 Ví dụ minh họa Ví dụ, xem xét bài toán lọc cộng tác 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 Bảng 2.5 Ma trận đánh giá của lọc cộng tác Người dùng Sản phẩm u1 4 u1 4 u1 4 u1 4 u2 4 u2 4 u2 4 u2 4 u3  u3  u3  u3  u4  u4  u4  u4  u5 ? u5 ? p1 p1 p1 u5 ? p1 u5 ? Ví dụ tập với người dùng đã cho trong Bảng 2.5, thực hiện huấn luyện theo người dùng ta tìm được K1={u2}, K2={u3}, K3={u2}. Và các giá trị dự đoán chắc chắn sẽ được điền cho u1 là r13=5, r14=5. Giá trị dự đoán chắc chắn sẽ được điền cho u2 là r26=2. Giá trị dự đoán chắc chắn sẽ được điền cho u3 là r31=1, r35=4.
  • 13. 12 Bảng 2.6 Ma trận đánh ước lượng theo người dùng Người dùng Sản phẩm p1 p2 p3 p4 p5 p6 p7 u1 4 2 5 5 3  5 u2 4  5 5 4 2 5 u3 4  5 5 4 2 4 u4  3 5 5 2   u5 ? 5  ? ? 4 4 Với K1={p5}, K3={p7}, K7={p3,p4} thì các giá trị dự đoán chắc chắn sẽ được điền cho p1 là r41 = 2, cho p5 là r53=4 cho p7 là r47=5. Bảng 2.7 Ma trận đánh ước lượng theo sản phẩm Sản phẩm Người dùng p1 p2 p3 p4 p5 p6 p7 u1 4 2 5 5 3  5 u2 4  5 5 4 2 5 u3 4  5 5 4 2 4 u4 2 3 5 5 2  5 u5 ? 5 4 ? ? 4 4 Như vậy, quá trình lọc cộng tác bằng đồng huấn luyện với 1 bước lặp đã bổ sung được các giá trị đánh giá còn thiếu vào tập dữ liệu huấn luyện.
  • 14. 13 Chương 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ Việc cài đặt 3 thuật toán đã được nêu ra ở các phần trước sẽ được trình bày trong chương này; đó là thuật toán lọc cộng tác dựa theo người dùng, lọc cộng tác dựa theo sản phẩm và lọc cộng tác bằng phương pháp đồng huấn luyện. Các kết quả được xác định và so sánh dựa trên 3 độ đo: độ nhạy, độ tính xác và Fmeasure. 3.1 3.1.1 Dữ liệu thử nghiệm Mô tả tập dữ liệu kiểm thử Với các thử nghiệm, chúng ta sử dụng tập dữ liệu Movielens của nhóm nghiên cứu GroupLens. Tập dữ liệu Movielens chứa các dữ liệu đánh giá rõ ràng cho các phim. Bao gồm 100000 đánh giá được thực hiện bởi 943 users trên 1682 items .Các phim nhận giá trị đánh giá trong khoảng từ 1 đến 5. Dữ liệu này đã được lọc, với những người dùng có ít hơn 20 đánh giá hoặc không có thông tin đầy đủ sẽ được loại bỏ khỏi tập dữ liệu vì thế mỗi người dùng đã đánh giá ít nhất là 20 phim. 3.1.2 Thiết lập các tham số kiểm thử Vì chúng ta tập trung vào hiệu năng của các phương pháp trong giai đoạn bắt đầu, khi chỉ có một số lượng nhỏ các đánh giá có sẵn, nên các thuật toán sẽ thực hiện thử nghiệm theo 3 tập dữ liệu nhỏ hơn A, B và C được tạo từ các bộ dữ liệu u1.base, u2. base,u3.base và u1.test, u2.test, u3.test. Mô tả các tập dữ liệu được trình bày trong bảng 3.2.
  • 15. 14 Bảng 3.2 Thiết lập các tham số kiểm thử Dataset Số người dùng Số sản phẩm Số các đánh giá đã thực hiện A 30 30 126 B 50 60 325 C 70 50 318  Thuật toán lọc cộng tác dựa trên người dùng: kiểm tra sự đúng đắn của cài đặt thuật toán sử dụng ba kích thước hàng xóm K = 3. Và kiểm nghiệm với các tập 20 người dùng – 20 sản phẩm, 50 người dùng – 60 sản phẩm, 70 người dùng – 50 sản phẩm trên tập dữ liệu MovieLens  Thuật toán lọc cộng tác dựa trên sản phẩm thiết lập tham số giống thuật toán lọc cộng tác dựa theo người dùng  Thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện dựa trên người dùng, thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện dựa trên sản phẩm và thuật toán kết hợp sẽ được thực hiện với những thiết định giống với 2 thuật toán lọc cộng tác ở trên. 3.2 Phương pháp thử nghiệm Trước tiên, toàn bộ dữ liệu thử nghiệm được chia thành hai phần, một phần Utr được sử dụng làm dữ liệu huấn luyện, phần còn lại Ute được sử dụng để kiểm tra. Tập Utr chứa 80% đánh giá và tập Ute chứa 20% đánh giá. Dữ liệu huấn luyện được sử dụng
  • 16. 15 để xây dựng mô hình theo thuật toán mô tả ở trên. Với mỗi người dùng i thuộc tập dữ liệu kiểm tra, các đánh giá (đã có) của người dùng được chia làm hai phần Oi và Pi. Oi được coi là đã biết, trong khi đó Pi là đánh giá cần dự đoán từ dữ liệu huấn luyện Oi. 3.2.1 Độ đo Ba độ đo chính được sử dụng trong thử nghiệm thuật toán là độ chính xác, độ nhạy và F – measure. Ba độ đo này được tính theo các công thức sau: Precision (tính chính xác) là phần trăm số sản phẩm được tư vấn là chính xác[7] Pr ecision  | S1  S 2 | | S1 | (3.2) Recall là phần trăm số sản phẩm chính xác được tư vấn [7] Re call  | S1  S 2 | S2 (3.3) F – measure là kết hợp của độ chính xác và recall và tường được sử dụng vì nó dể để tối ưu do có sự mâu thuẫn giữa độ nhạy và độ chính xác: F  measure  2  Pr ecision  Re call Pr ecision  Re call (3.4)
  • 17. 16 3.2.2 Mô tả cài đặt thuật toán lọc cộng tác dựa theo người dùng Để đưa ra dự đoán về một sản phẩm x, giả sử rằng vector đầu vào chứa tất cả các sản phẩm trong tập dữ liệu khác x. Một vài người dùng chưa đánh giá cho một số sản phẩm nào đó, vì vậy ma trận khoảng cách có thể chỉ được tính thông qua các sản phẩm mà người dùng tích cực i và mỗi người dùng j trong tập dữ liệu đã cùng đánh giá. Trong thử nghiệm này, khoảng cách sẽ được tính theo độ tương quan Pearson: 0   rix  ri r jx  r j   xPi  Pj uij   2   rjx  rj   rix  ri xPi  Pj  xPi  Pj      if j  Si    2 , otherwise Giao diện cài đặt chương trình kiểm thử
  • 18. 17 Hình 3.1 Thiết định kiểm thử Hình 3.2 Cài đặt kiểm thử thuật toán lọc cộng tác theo người dùng
  • 19. 18 3.2.3 Mô tả cài đặt thuật toán lọc cộng tác dựa theo sản phẩm Tương tự, với thuật toán lọc cộng tác dựa theo sản phẩm, dự đoán đánh giá của người dùng i cho về một sản phẩm x sẽ được dựa trên những đánh giá của người dùng i cho các sản phẩm y tương đồng với sản phẩm x. Độ tương quan Pearson tính theo phương trình: if y  Cx 0  rix  rx riy  ry   iUx U y pxy   , otherwise 2 2  rix  rx rix  ry  iUx U y  iU x U y         Giao diện cài đặt chương trình kiểm thử Hình 3.3 Cài đặt kiểm thử thuật toán lọc cộng tác theo sản phẩm
  • 20. 19 3.2.4 Mô tả cài đặt thuật toán bằng phương pháp đồng huấn luyện Việc thực hiện cài đặt thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện sẽ thực hiện theo 2 cách tiếp cận là: lọc cộng tác bằng phương pháp đồng huấn luyện dựa theo người dùng và lọc cộng tác bằng phương pháp đồng huấn luyện dựa theo sản phẩm. Điểm khác biệt cơ bản giữa 2 cách tiếp cận này đó chính là thứ tự thực hiện quá trình huấn luyện theo người dùng và huấn luyện theo sản phẩm. Cụ thể, thuật toán sẽ được thực hiện theo thủ tục đã được trình bày chi tiết trong bảng 2.3 và bảng 2.4. Giao diện cài đặt chương trình kiểm thử: Hình 3.4 Cài đặt kiểm thử thuật toán lọc cộng tác bằng phương pháp đồng huấn luyện
  • 21. 20 3.3 Kết quả thử nghiệm Các kết quả kiểm thử của cài đặt các thuật toán được tổng hợp trong bảng 3.3 dưới đây. Bảng 3.3 Bảng kết quả kiểm thử các thuật toán lọc cộng tác Tập dữ liệu Phương pháp A B C Độ nhạy 0.953 0.928 0.987 Độ chính xác 0.844 0.856 0.86 F - measure 0.895 0.89 0.919 Độ nhạy 0.153 0.157 0.097 Độ chính xác 0.255 0.241 0.205 F - measure 0.191 0.19 0.123 Độ nhạy 0.988 0.942 0.978 Độ chính xác 0.857 0.856 0.86 F - measure 0.918 0.897 0.919 Độ nhạy 0.388 0.277 0.342 Độ chính xác 0.337 0.256 0.298 F - measure 0.361 0.266 0.318 Độ đo Lọc cộng tác theo người dùng Lọc cộng tác theo sản phẩm Lọc cộng tác bằng phương pháp đồng huấn luyện theo người dùng Lọc cộng tác bằng phương pháp đồng huấn luyện theo sản phẩm
  • 22. 21 3.4 So sánh và đánh giá Trong thử nghiệm ban đầu, các phương pháp lọc cộng tác dựa theo người dùng, lọc cộng tác dựa theo sản phẩm và phương pháp mới lọc cộng tác bằng phương pháo đồng huấn luyện được so sánh qua các kết quả thử nghiệm. Các kiểm thử được thực hiện ở 3 thuật toán với các tập dữ liệu có độ lớn khác nhau. Căn cứ vào các kết quả của kiểm thử thì cách tiếp cận bằng phương pháp đồng huấn luyện theo người dùng làm việc tốt hơn so với phương pháp lọc cộng tác theo người dùng và cách tiếp cận bằng phương pháp đồng huấn luyện theo sản phẩm làm việc tốt hơn so với phương pháp lọc cộng tác theo sản phẩm. Theo kết quả kiểm thử, cách tiếp cận bằng phương pháp đồng huấn luyện theo sản phẩm thực hiện chưa tốt bằng phương pháp lọc cộng tác theo người dùng, điều này có thể lý giải là do: thứ nhất, số lượng đánh giá chắc chắn mà quá trình lọc cộng tác theo sản phẩm bổ sung thêm được là ít do ảnh hưởng của tính thưa thớt dữ liệu đánh giá của tập dữ liệu kiểm thử. Thứ 2, việc xác định điểm dừng trong cài đặt thuật toán dựa vào số lượng đánh giá chắc chắn được bổ sung vào trong ma trận huấn luyện. Trường hợp không có thêm đánh giá nào được bổ sung thì thuật toán sẽ dừng.
  • 23. 22 KẾT LUẬN Phương pháp lọc cộng tác bằng phương pháp đồng huấn luyện, đã được trình bày trong báo cáo này, là một cách tiếp cận mới; nó kết hợp 2 cách quan sát: quan sát theo người dùng và quan sát theo sản phẩm để huấn luyện bộ dữ liệu đánh giá. Trong đó, quá trình quan sát theo người dùng sẽ bổ sung được các nhãn phân loại chắc chắn cho quá trình tính toán mức độ tương tự giữa các cặp sản phẩm. Ngược lại, quá trình quan sát theo sản phẩm cũng sẽ bổ sung được các nhãn phân loại chắc chắn cho quá trình tính toán mức độ tương tự giữa các cặp người dùng. Bằng cách này, phương pháp đảm bảo rằng, trong trường hợp dữ liệu đầu vào thưa thớt đánh giá thì hệ thống vẫn có thể đưa ra được các tư vấn có ích. Trong thử nghiệm ban đầu, các phương pháp lọc cộng tác dựa theo người dùng, lọc cộng tác dựa theo sản phẩm và phương pháp mới lọc cộng tác bằng phương pháp đồng huấn luyện được so sánh qua các kết quả thử nghiệm dựa trên 3 độ đo cơ bản là độ nhạy, độ chính xác và F – measure. Các kiểm thử được thực hiện ở 3 thuật toán với các tập dữ liệu có độ lớn khác nhau. Căn cứ vào các kết quả của kiểm thử thì cách tiếp cận lọc cộng tác bằng phương pháp đồng huấn luyện làm việc tốt hơn các cách tiếp cận lọc cộng tác thuần túy. Đặc biệt, trong các trường hợp thưa thớt đánh giá. Tuy nhiên, qua kết quả kiểm thử cho thấy rằng trong một số trường hợp phương pháp lọc cộng tác bằng đồng huấn luyện
  • 24. 23 cũng không đem lại lợi ích cho tư vấn. Vì vậy, một số hướng nghiên cứu xa hơn cần được thực hiện, đó là, thứ nhất việc thực hiện trên 2 khung nhìn người dùng và sản phẩm, trong một số trường hợp nó có thể làm giảm hiệu năng của thuật toán. Thứ 2, vấn đề xác định quá trình theo người dùng hay quá trình theo sản phẩm thực hiện trước với từng hệ thống cụ thể để đem lại lợi ích cao nhất từ việc sử dụng dữ liệu chưa có đánh giá với hiệu năng tốt nhất. Thứ 3, sự cân bằng giữa dữ liệu có nhãn và chưa có nhãn để phương pháp đạt kết quả tốt nhất.