Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
754,39 KB
Nội dung
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
PHẠM THỊ HIÊN
LỌC CỘNGTÁCBẰNGPHƯƠNGPHÁPĐỒNGHUẤNLUYỆ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ươngphá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ọccộngtác (collaborative filtering)
vào giữa những năm 1990s. Lọccộngtác là phươngphá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ươngpháp mới, đó là, phương
pháp lọccộngtác dựa bằngphươngphápđồnghuấ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ấnluyện bộ dữ liệu đánh giá. Vì
kết hợp được 2 khung nhìn nên phươngpháp này có thể phát huy
những ưu điểm của lọccộngtác theo người dùng và lọccộngtá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ỌCCỘNGTÁ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ọccộng
tác, các phươngpháplọccộngtác và các hạn chế của những
phương pháplọccộngtác này.
Chương 2 – LỌCCỘNGTÁCBẰNGPHƯƠNG
PHÁP ĐỒNGHUẤNLUYỆN
Chương 2 sẽ trình bày một phươngpháp mới được đề
xuất - phươngpháplọccộngtácbằngphươngphápđồnghuấn
luyện. Xuất phát từ các nghiên cứu về phươngphápđồnghuấn
luyện để hiểu được những lợi ích có được từ phươngpháp này,
từ đó nghiên cứu quá trình thực hiện khi áp dụng phươngpháp
này trong lọccộ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ươngpháp trước.
Chương 1 – LỌCCỘNGTÁC
1.1 Vấn đề lọccộngtác
1.2.1 Mô tả bài toán lọccộngtác
Lọc cộngtá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ọccộngtá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
),( scu
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ọccộ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ươngpháplọccộngtác
Các kỹ thuật sử dụng cho tư vấn cộngtá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ươngpháplọccộngtá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ọccộngtá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ọccộngtác
truyền thống sẽ gặp phải một loạt các vấn đề về khả năng
5
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ọccộngtá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.
1.4 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ươngpháp có thể đáp ứng được yêu cầu này,
trong đó vấn đề lọccộngtác như một vấn đề đồnghuấ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ươngphá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ỌCCỘNGTÁCBẰNGPHƯƠNGPHÁP
ĐỒNG HUẤNLUYỆ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 đồnghuấ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 đồnghuấn luyện, em sẽ trình bày các
cách tiếp cận lọccộngtácbằngđồnghuấnluyện bao gồm: Lọc
cộng tácbằngphươngphápđồnghuấnluyện theo người dùng, lọc
cộng tácbằngphươngphápđồnghuấnluyện theo sản phẩm và
phương pháp kết hợp 2 phươngpháp trên trên.
2.1 Phươngphápđồnghuấnluyện (Co – Training)
2.1.1 Mô tả thuật toán đồnghuấnluyện
Thuật toán đồnghuấnluyện áp dụng khi tập dữ liệu có sự
phân chia đặc trưng tự nhiên. Quá trình đồnghuấnluyện được mô
tả hình thức như sau: Quá trình đồnghuấnluyệ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 C
1
, C
2
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
1
C
1
và cũng phù hợp với hàm
mục đích
2
C
2
. 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(x
1
)f(x
2
).
2.2 Quan sát vấn đề lọccộngtác theo người dùng
Như đã trình bày trong chương 1, phươngpháplọccộ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 S
i
U có tối thiểu đánh giá
chung cho các sản phẩm.
jii
PPUjS :
(2.4)
otherwise
rrrr
rrrr
Sjif
u
jiji
ji
PPx
jjx
PPx
iix
PPx
jjxiix
i
ij
,
0
22
(2.5)
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
S
i
theo công thức (2.4).
8
i
i
Kj
ij
ij
Kj
jjx
iix
u
urr
rr
(2.6)
max:
ijii
uSjK
(2.7)
2.3 Quan sát vấn đề lọccộngtác theo sản phẩm
Tương tự như đối với sản phẩm, phươngpháplọccộngtá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
sản phẩm C
y
giao nhau tối thiểu người dùng.
yxx
UUPyC :
(2.8)
otherwise
rrrr
rrrr
Cyif
p
yxyx
yx
UUi
yix
UUi
xix
UUi
yiyxix
x
xy
,
0
22
(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
C
x
theo công thức (2.8).
x
x
Ky
xy
Ky
iyxy
ix
p
rp
r
||
(2.10)
max:
xyxx
pCyK
(2.11)
9
2.4 Kết hợp giữa các kiểu quan sát
2.4.1 Lọccộngtácbằngphươngphápđồnghuấnluyện theo
người dùng
Phương pháplọccộngtácbằngđồnghuấnluyệ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
)(
)0()0(
ij
rR
được lấy bằng chính ma
trận đánh giá ban đầu R=(r
ij
). Quá trình huấnluyện được thực hiện
như trong bảng 2.3
Bảng 2.3 Thuật toán lọccộngtácbằngphươngphápđồnghuấn
luyện theo người dùng
Đầu vào: Khởi tạo ma trận đánh giá
)()(
)0(0
ijij
rrR
Đầu ra : Ma trận dự đoán
)()( t
ij
t
rR
.
Các bước tiến hành:
1. Khởi tạo số bước lặp ban đầu: t0;
2. Bước lặp:
Repeat
2.1. Huấnluyện theo người dùng:
a) Tìm
)()(
,
t
ij
t
i
uS
theo công thức (2.4), (2.5).
b) Tìm
)(t
i
K
theo công thức (2.7).
c) Dự đoán
)(t
ix
r theo công thức (2.6).
2.2. Huấnluyện theo sản phẩm:
a) Tìm
)()(
,
t
xy
t
x
pC
theo công thức (2.8), (2.9).
b) Tìm
)(t
x
K theo công thức (2.11).
c) Dự đoán
)(t
ix
r theo công thức (2.10).
2.3. Tăng bước lặp: tt+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
[...]... 0.318 Độ đo Lọccộngtác theo người dùng Lọccộngtác theo sản phẩm Lọccộngtácbằngphươngphápđồnghuấnluyện theo người dùng Lọccộngtácbằngphươngphápđồnghuấnluyện theo sản phẩm 21 3.4 So sánh và đánh giá Trong thử nghiệm ban đầu, các phươngpháplọccộngtác dựa theo người dùng, lọccộngtác dựa theo sản phẩm và phươngpháp mới lọccộngtácbằngphương pháo đồnghuấnluyện được so sánh qua... thử Hình 3.3 Cài đặt kiểm thử thuật toán lọccộngtác theo sản phẩm 19 3.2.4 Mô tả cài đặt thuật toán bằngphươngphápđồnghuấnluyện Việc thực hiện cài đặt thuật toán lọccộngtácbằngphươngphápđồnghuấnluyện sẽ thực hiện theo 2 cách tiếp cận là: lọccộngtácbằngphươngphápđồnghuấnluyện dựa theo người dùng và lọccộngtácbằngphươngphápđồnghuấnluyện dựa theo sản phẩm Điểm khác biệt cơ... thì cách tiếp cận bằngphươngphápđồnghuấnluyện theo người dùng làm việc tốt hơn so với phươngpháplọccộngtác theo người dùng và cách tiếp cận bằng phươngpháp đồng huấnluyện theo sản phẩm làm việc tốt hơn so với phươngpháplọccộngtác theo sản phẩm Theo kết quả kiểm thử, cách tiếp cận bằng phươngpháp đồng huấnluyện theo sản phẩm thực hiện chưa tốt bằng phươngpháp lọc cộngtác theo người dùng,...10 2.4.2 Lọccộngtác bằng phươngpháp đồng huấnluyện theo sản phẩm Gần giống với lọccộngtác bằng phươngpháp đồng huấnluyện theo sản phẩm, phươngpháp này chỉ có một điểm khác trong quá trình huấnluyện đó là thứ tự thực hiện huấn luyện, quá trình huấnluyện theo sản phẩm sẽ được thực hiện trước quá trình huấnluyện theo người dùng Phươngpháp này được mô tả hình thức trong... quá trình lọccộngtácbằngđồnghuấnluyệ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ấnluyệ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ọccộngtác dựa theo người dùng, lọccộngtác dựa theo sản phẩm và lọccộngtácbằngphươngphápđồnghuấnluyện Các kết... các phươngpháplọccộngtác dựa theo người dùng, lọccộngtác dựa theo sản phẩm và phươngpháp mới lọccộngtácbằngphươngphápđồnghuấnluyệ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ọccộngtác bằng. .. lọccộngtácbằngphươngphápđồnghuấnluyện dựa trên người dùng, thuật toán lọccộngtácbằngphươngphápđồnghuấnluyệ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ọccộngtác ở trên 3.2 Phươngphá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... nhau Căn cứ vào các kết quả của kiểm thử thì cách tiếp cận lọccộngtácbằngphươngphápđồnghuấnluyện làm việc tốt hơn các cách tiếp cận lọccộngtá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ươngpháplọccộngtácbằngđồnghuấnluyệ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... trình lọccộngtá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ấnluyệ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ươngpháplọccộngtácbằngphươngphápđồnghuấn luyện, ... toán lọccộngtá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ọccộngtác dựa trên sản phẩm thiết lập tham số giống thuật toán lọccộngtác dựa theo người dùng Thuật toán lọccộngtácbằngphương . 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.
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