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

Nghiên cứu phương pháp tư vấn kết hợp dựa vào Hadoop Map Reduce (tt)

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 (443.54 KB, 18 trang )

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

Trần Thị Giang

NGHIÊN CỨU PHƯƠNG PHÁP TƯ VẤN KẾT HỢP
DỰA VÀO HADOOP - MAPREDUCE

Chuyên ngành: Hệ thống thông tin
Mã số:8.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2018


`
Luận văn được hoàn thành tại:
HỌC VIÊN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS. Nguyễn Duy Phương

Phản biện 1: ......................................................................................

Phản biện 2: ......................................................................................

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: ……..giờ…….ngày ……..tháng……..năm …….

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông




1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong thời đại phát triển của ngành công nghệ máy tính, số
lượng người sử dụng máy tính và các tài nguyên trực tuyến để xử lý
công việc, giải trí... ngày càng tăng nhanh. Theo ước tính đến 2014,
đã có 37% dân số Việt Nam sử dụng Internet (Theo công nghệ thông
tin và Truyền thông Việt Nam), số lượng người gia nhập cộng đồng
mạng trên thế giới cuối năm 2014 là khoảng 2.7 tỷ người. Hệ quả tất
yếu sự gia tăng lượng người sử dụng là khối lượng dữ liệu số đang
phát triển với tốc độ chóng mặt. Theo thống kê của IDC tổng dung
lượng dữ liệu số được lưu trữ năm 2006 khoảng 0.18 zettabytes thì
con số này năm 2012 đã là 2.7 zettabytes.
Hiện nay, số lượng trang web có mặt trên Internet đã lên tới
hàng tỷ trang. Điều này đã đặt ra cho các nhà phát triển Search
Engine một số thách thức lớn.
- Thứ nhất, đó là sự giới hạn về khả năng lưu trữ của ổ cứng. Giả sử
mỗi trang web có kích thước trung bình 10KB, thì 1 tỷ trang web, ta
cần 10Terabyte (TB) để lưu trữ. Với toàn bộ khối lượng web trên
Internet, khối lượng lưu trữ cần tới hàng petabyte (PB), vượt quá khả
năng lưu trữ của một đĩa cứng thông thường.
- Thứ hai, cho dù vượt qua được giới hạn về dung lượng, thì việc truy
xuất một khối lượng dữ liệu đồ sộ như vậy một cách tuần tự (vì trên
một đĩa đơn) sẽ rất mất thời gian vì giới hạn về tốc độ đọc đĩa.
Do vậy, bắt buộc chúng ta phải lưu trữ dữ liệu lên trên nhiều
đĩa cứng thay vì chỉ một. Điều này giúp cải thiện tốc độ truy xuất dữ
liệu vì ta có thể tiến hành đọc/ghi một cách song song lên các đĩa,

mang lại lợi thế về khả năng lưu trữ và tốc độ truy xuất dữ liệu. Tuy
nhiên, việc duy trì một hệ thống phân tán với nhiều đĩa cứng đã dẫn


2
đến một số vấn đề cần được giải quyết. Đầu tiên, là vấn đề hỏng hóc
phần cứng. Do dữ liệu được lưu trên nhiều phần cứng khác nhau, nên
khả năng một (hay nhiều) phần cứng xảy ra hỏng hóc cũng tăng lên
đáng kể. Một cách giải quyết vấn đề này mà ta có thể thấy ngay, đó là
lưu trữ trùng lặp các mẫu dữ liệu lên nhiều đĩa cứng khác nhau. Vấn
đề thứ hai là việc phân tích dữ liệu đôi khi cần truy đọc dữ liệu từ
nhiều đĩa cứng khác nhau. Tức là dữ liệu được đọc từ một đĩa có thể
cần được kết hợp với dữ liệu từ bất kỳ đĩa nào khác trên hệ thống.
Các hệ thống phân tán thường cho phép kết hợp dữ liệu từ nhiều
nguồn khác nhau, tuy nhiên làm được điều này một cách chính xác là
không dễ chút nào.
Để giải quyết vấn đề này, rất nhiều công nghệ đã ra đời nhắm thực
hiện tính toán và mở rộng việc xử lý dữ liệu theo mô hình song song
và khả năng chịu lỗi cao trên một số lượng lớn máy tính. Các máy
tính thực hiện tính toán độc lập với nhau và không ảnh hưởng bởi
việc xảy ra lỗi ở máy khác, giúp tăng hiệu năng tính toán so với việc
chỉ dùng một máy, ngoài ra sử dụng mô hình tính toán song song còn
giúp giảm giá thành.
Một trong các công nghệ được sử dụng phổ biến để tối ưu hóa việc
tính toán song song là Hadoop – MapReduce. MapReduce chia việc
xử lý thành nhiều khối công việc nhỏ, phân tán khắp các nút tính toán
(tiêu biểu là các server thông thường), sau đó tổng hợp để thu được
kết quả. Đề tài: “Nghiên cứu phương pháp tư vấn kết hợp dựa vào
Hadoop - MapReduce” được thực hiện trong khuôn khổ luận văn
thạc sĩ ngành CNTT nhằm nghiên cứu các framework của Mahout

vào việc xây dựng ứng dụng trong hệ tư vấn.

2. Tổng quan về vấn đề nghiên cứu


3
Hiện nay, Hadoop được sử dụng rộng rãi trong các ứng dụng
big data trong công nghiệp, ví dụ như lọc thư rác, tìm kiếm mạng,
phân tích luồng click. Ngoài ra, các nghiên cứu học thuật đáng kể
hiện nay cũng dựa trên Hapdoop.
Trong giai đoạn bùng nổ thông tin trên Internet hiện nay,
kích thước dữ liệu tăng lên nhanh chóng làm cho việc tính toán trên
một máy tính theo mô hình truyền thống rất kém hiệu quả và rất
chậm. Ngoài ra, tốc độ nâng cấp phần cứng là rất chậm so với tốc độ
tăng trưởng dữ liệu làm cho việc nâng cấp phần cứng tốn kém hơn.
Đây chính là vấn đề khi xây dựng hệ tư vấn áp dụng cho các tập dữ
liệu lớn. Để giải quyết vấn đề này, có thể thực hiện lưu trữ dữ liệu
trên nhiều máy khác nhau sử dụng Hapdoop và thực hiện mô hình
tính toán song song với MapReduce. Việc áp dụng Hadoop và
MapReduce sẽ mang lại nhiều lợi ích như: tăng tính hiệu năng của
việc tính toán khi tận dụng được tài nguyên phần cứng để thực hiện
tính toán song song, tăng khả năng chịu lỗi khi việc tính toán không
phụ thuộc vào việc xảy ra lỗi trên một máy tính.
Hệ tư vấn là hệ thống có khả năng cung cấp thông tin phù
hợp và gỡ bỏ thông tin không phù hợp cho mỗi người dùng các dịch
vụ Internet trực tuyến. Hệ tư vấn được xây dựng dựa vào ba phương
pháp lọc thông tin cơ bản: lọc cộng tác, lọc nội dung và lọc kết hợp.
Cũng giống như các vấn đề khác trong học máy, xử lý ngôn ngữ tự
nhiên, xử lý ảnh, hệ tư vấn cũng đối diện với vấn đề dữ liệu lớn.
Chính vì vậy, trọng tâm của đề tài là xử lý vấn đề dữ liệu lớn của hệ

tư vấn dựa vào nền tảng của Hadoop MapReduce.
Hiện tại, thư viện Mahout của MapReduce đã cung cấp một
số Engine chuẩn cho hệ tư vấn đã được đề xuất trong [3]. Tuy vậy,
các engine cho hệ tư vấn kết hợp vẫn còn đang trong quá trình thử


4
nghiệm. Trong đề tài này em mong muốn xây dựng được một Engine
cho hệ tư vấn kết hợp làm kết quả nghiên cứu.

3. Mục đích nghiên cứu
-

Nghiên cứu công nghệ Hadoop MapReduce ứng dụng trong xử lý
dữ liệu lớn.
Nghiên cứu các phương pháp tư vấn đã được xây dựng trong
Mahout.
Mở rộng các kỹ thuật xây dựng trong Mahout cho hệ tư vấn kết
hợp

4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu: Công nghệ Hapdoop MapReduce
và hệ tư vấn kết hợp.
4.2. Phạm vi nghiên cứu:
Công nghệ Hapdoop MapReduce, thư viện Mahout và các
phương pháp kết hợp đã được đề xuất trong [4].

5. Phương pháp nghiên cứu
-


-

Phương pháp nghiên cứu lý thuyết: Nghiên cứu các phương pháp
xây dựng hệ tư vấn: phương pháp tư vấn cộng tác, tư vấn nội
dung đã được cung cấp trong thư viện Mahout của MapReduce.
Nghiên cứu và xây dựng phương pháp tư vấn kết hợp bằng
MapReduce.
Phương pháp thực nghiệm: thử nghiệm trên các tập dữ liệu có
kích thước khác nhau đã được cộng đồng sử dụng. Ngoài ra, xây
dựng bộ dữ liệu có sử dụng tài nguyên của trong mạng xã hội.
Môi trường thực nghiệm được thực hiện tại Trung tâm tính toán
hiệu năng cao của Đại học Khoa học tự nhiên.

6. Bố cục luận văn


5
Luận văn có bố cục gồm: Phần mở đầu, 3 chương chính,
phần kết luận, tài liệu tham khảo. Được bố trí theo thứ tự:
-

Mở đầu.
Chương 1: Tổng quan về Hadoop và Mahout
Chương 2: Phương pháp tư vấn dựa vào MapReduce

-

Chương 3: Thực nghiệm và kết quả.

-


Kết luận.
Tài liệu tham khảo


6

Chương 1. TỔNG QUAN VỀ HAPDOOP - MAHOUT
1.1. Giới thiệu về Hadoop
Theo Apache Hadoop định nghĩa: “Apache Hadoop là một
framework dùng để chạy những ứng dụng trên một cluster lớn được
xây dựng trên những phần cứng thông thường. Hadoop hiện thực mô
hình Map/Reduce, đây là mô hình mà ứng dụng sẽ chia nhỏ ra thành
nhiều phân đoạn khách nhau, và các phần này sẽ được chạy song
song trên nhiều node khác nhau. Thêm vào đó, Hadoop cung cấp một
hệ thống file phân tán (HDFS) cho phép lưu trữ dữ liệu lên trên nhiều
node. Cả Map/Reduce và HDFS đều được thiết kế sao cho
framework sẽ tự động quản lý được các lỗi, các hư hỏng về phần
cứng của các node” [9].
Wikipedia định nghĩa: “Hadoop là một framework nguồn mở
viết bằng Java cho phép phát triển các ứng dụng phân tán có cường
độ dữ liệu lớn một cách miễn phí. Nó cho phép các ứng dụng có thể
làm việc với hàng ngàn node khác nhau và hàng petabyte dữ liệu.
Hadoop được phát triển dựa trên ý tưởng từ các công bố của Google
về mô hình MapReduce và hệ thống file phân tán Google File System
(GFS)” [9].

1.2. Mahout
1.2.1. Tổng quan về Apache Mahout
Apache Mahout là một dự án mã nguồn mở mới của Apache

Software Foundation (ASF-Quỹ phần mềm Apache) với mục tiêu
chính là tạo các thuật toán học máy có khả năng mở rộng, các thuật
toán này là miễn phí sử dụng theo giấy phép Apache. Dự án này đang
bước vào năm thứ hai của mình, với bản phát hành công khai trong


7
phạm vi của nó. Mahout bao gồm các việc thực hiện để phân cụm,
phân loại, CF và lập trình tiến hóa. Hơn nữa, nó khéo léo sử dụng thư
viện Apache Hadoop để cho phép Mahout mở rộng hiệu quả trong
đám mây này.

1.2.2. Các kỹ thuật học máy trong Mahout
a) Mahout cho hoc máy
b) Mahout cho phân cụm
c) Mahout cho phân loại

1.3. Giới thiệu về MapReduce
1.3.1. Giới thiệu mô hình tính toán MapReduce
Google đã phát triển thành công mô hình MapReduce, là mô
hình dùng cho xử lý tính toán song song và phân tán trên hệ thống
phân tán. Nói một cách đơn giản hơn, mô hình này sẽ phân rã từ
nghiệp vụ chính (do người dùng muốn thể hiện) thành các công việc
con để chia từng công việc con này về các máy tính trong hệ thống
thực hiện xử lý một cách song song, sau đó thu thập lại các kết quả.
Với mô hình này, các doanh nghiệp đã cải thiện được đáng kể về hiệu
suất xử lý tính toán trên dữ liệu lớn, chi phí đầu tư rẻ và độ an toàn
cao.

1.3.2. Các thành phần trong MapReduce

Trong mô hình MapReduce của Hadoop, Hadoop định nghĩa
MapReduce Job (job) là một đơn vị nghiệp vụ mà người dùng muốn
thực hiện, kèm theo đó là dữ liệu input. Ví dụ: tính số lần xuất hiện
của từng từ trong một tài liệu. Để quản lý và thực thi MapReduce
Job, Hadoop đưa ra 2 khái niệm JobTracker và TaskTracker.
- JobTracker: là một máy vật lý cài đặt Hadoop MapReduce (như
là master của hệ thống), với vai trò tiếp nhận các yêu cầu thực thi


8

-

các MapReduce job, phân chia job này thành các task và phân
công cho các TaskTracker thực hiện, quản lý tình trạng thực hiện
các task của TaskTracker và phân công lại nếu cần. JobTracker
cũng quản lý danh sách các node TaskTracker và tình trạng của
từng node thông qua hearbeat. Điều đặc biệt, Hadoop chỉ định hệ
thống chỉ có tối đa một JobTracker
TaskTracker: là một máy vật lý cài đặt Hadoop MapReduce (là
các worker của hệ thống), với vai trò tiếp nhận task được
JobTracker phân công và thực hiện nó. Và hệ thống được phép
có nhiều TaskTracker.

1.3.3. Cơ chế hoạt động của MapReduce
Đầu tiên chương trình client sẽ yêu cầu thực hiện job và kèm
theo là dữ liệu input tới JobTracker. JobTracker sau khi tiếp nhận job
này, nó sẽ thông báo ngược về chương trình client tình trạng tiếp
nhận job. Khi chương trình client nhận được thông báo nếu tình trạng
tiếp nhận hợp lệ thì nó sẽ tiến hành phân rã input này thành các split

(khi dùng HDFS thì kích thước một split thường bằng với kích thước
của một đơn vị Block trên HDFS) và các split này sẽ được ghi xuống
HDFS. Sau đó chương trình client sẽ gửi thông báo đã sẵn sàng để
JobTracker biết rằng việc chuẩn bị dữ liệu đã thành công và hãy tiến
hành thực hiện job.


Thực thi Maptask



Thực thi Reducetask


9

1.3.4. Phát triển ứng dụng theo mô hình MapReduce –
Hapdoop
Quá trình phát triển được phân rõ ra theo công việc nào do
người dùng thực hiện can thiệp và công việc nào bên trong
framework tự làm.
Đối với người dùng, họ chỉ can thiệp vào việc phát triển ứng dụng
qua các giai đoạn sau:
- Thiết lập thông số cấu hình của hệ thống cũng như của
MapReduce Job.
- Tiếp theo, truyền vào kiểu format cho cách thức đọc file (như
file text, file kếthợp, hoặc file Database), tiếp theo là kiểu
format của dữ liệu input, điều này thật sự có ý nghĩa với việc
sử dụng hàm map, vì với từng kiểu format này mà từ đó với
các split sẽ cho ra tập các record với giá trị key và value khác

nhau.

Kết luận chương 1:
Trong chương 1, học viên trình bày tổng quan về framework
Hadoop, Mahout. Đặc biệt, học viên chú trọng tới mô hình tính toán
MapReduce nhằm phát triển ứng dụng theo mô hình đó.


10

Chương 2. PHƯƠNG PHÁP TƯ VẤN DỰA
VÀO MAPREDUCE
2.1. Giới thiệu vấn đề
Hệ tư vấn (Recommender Systems) là công cụ cung cấp
thông tin cho mỗi người dùng bằng cách phân tích thông tin về nội
dung hàng hóa hay lịch sử dụng hàng hóa trong quá khứ để khám phá
ra tập thông tin tối thiểu và phù hợp nhất đối với mỗi người dùng.
Ứng dụng tiêu biểu nhất của hệ tư vấn được kể đến là giảm tải thông
tin cho người dùng Internet, gợi ý kết quả tìm kiếm, gợi ý truy cập
dịch vụ, cấm truy cập vào các trang Web đen. Đặc biệt, hệ tư vấn
đóng vai trò quan trọng nhằm nâng cao hiệu quả cho các hệ thống
thương mại điện tử. Sự xuất hiện của hệ tư vấn trong các trang
thương mại điện tử lớn như Amazon, Yahoo, Google hay FaceBook
là bức tranh đầy đủ nhất phản ánh ý nghĩa thời sự của bài toán tư vấn.
Tùy vào phương pháp lọc tin, các hệ tư vấn được phân làm 3
loại: Tư vấn dựa vào phương pháp lọc theo nội dung (Content-Based
Filtering Recommendation), Tư vấn dựa vào lọc cộng tác
(Collaborative Filtering Recommendation), Tư vấn kết hợp (Hybrid
Filtering Recommendation). Trong luận văn này em tập trung nghiên
cứu về phương pháp tư vấn kết hợp dựa vào Hadoop - MapReduce.


2.2. Phương pháp tư vấn kết hợp dựa vào người dùng bằng
MapReduce.
2.2.1. Kết hợp hồ sơ người dùng vào ma trận đánh giá
Để xây dựng hồ sơ người dùng sử dụng các đặc trưng sản
phẩm ta cần thực hiện hai nhiệm vụ: xác định được tập các sản phẩm
người dùng đã từng truy cập hay sử dụng trong quá khứ và ước lượng
trọng số mỗi đặc trưng nội dung sản phẩm trong hồ sơ người dùng


11

2.2.2. Thuật toán tư vấn kết hợp dựa vào ngưới dùng
Do tính chất thưa thớt của ma trận đánh giá nên việc xác định
mức độ tương tự giữa các cặp người dùng gặp nhiều hạn chế. Để
khắc phục nhược điểm này, phương pháp tư vấn kết hợp trên ma trận
đánh giá mở rộng R được xác định theo công thức được đề xuất.
Trong đó, việc ước lượng mức độ tương tự giữa các cặp người dùng
không chỉ thực trên ma trận đánh giá mà được mở rộng cho toàn bộ
ma trận đánh giá mở rộng. Trong phương pháp kết hợp với ma trận
đặc trưng sản phẩm em trình bày cách kết hợp với ma trận đánh giá
đặc trưng sản phẩm của sản phẩm để đưa ra dự đoán cho người dùng.
 Tìm k hàng xóm dựa vào toàn bộ ma trận mở rộng sử dụng
hằng số α.
Phương pháp này sử dụng hằng số α ∈(0, 1) trong khi tính độ tương
quan cho việc tìm k hàng xóm . Độ tương quan trong phương pháp
này được tính dựa trên toàn bộ ma trận đánh giá mở rộng..

2.2.3. Áp dụng MapReduce cho hệ tư vấn dựa vào người
dùng

Trong mục này, các bước xây dựng hệ tư vấn bằng phương
pháp lọc cộng tác dựa vào người dùng áp dụng MapReduce sẽ được
trình bày cụ thể. Mô hình tính toán truyền thống được sắp xếp lại để
tận dụng khả năng tính toán song song của MapReduce và khả năng
xử lý phân tán của Hadoop

2.3. Phương pháp tư vấn kết hợp dựa vào sản phẩm bằng
MapReduce
2.3.1. Kết hợp hồ sơ sản phẩm vào ma trận đánh giá
Để xây dựng được liên hệ giữa sản phẩm và đặc trưng người
dùng ta cần thực hiện hai nhiệm vụ: xác định được tập người dùng đã


12
từng sử dụng sản phẩm quá khứ và ước lượng trọng số mỗi đặc trưng
nội dung người dùng trong hồ sơ sản phẩm.

2.3.2. Phương pháp Item–Base dựa vào ma trận đánh giá mở
rộng.
Trong phương pháp này tương quan giữa các sản phẩm tính
bằng cách kết hợp tương quan giữa các sản phẩm dựa trên ma trận
đánh giá ban đầu với tương quan giữa các sản phẩm dựa trên ma trận
đánh giá của đặc trưng người dùng.Phương pháp thực hiện qua 3
bước.
- Bước 1: Tính toán độ tương tự giữa các cặp sản phẩm theo
tương quan Pearson.
- Bước 2: Xác định tập láng giềng cho sản phẩm cần tư vấn
- Bước 3: Tính toán dự đoán cho người dùng với sản phẩm.

2.3.3. Áp dụng MapReduce cho phương pháp Item-Base.

Trong phần này trình bày các bước xây dựng hệ tư vấn bằng
phương pháp lọc kết hợp dựa vào sản phẩm áp dụng MapReduce. Mô
hình tính toán truyền thống sẽ được sắp xếp lại để có thể tận dụng
được khả năng tính toán song song của MapReduce.

Kết luận chương 2:
Trong chương 2 của luận văn, học viên đã trình bày một cách
chi tiết các phương pháp tư vấn kết hợp dựa vào người dùng và sản
phẩm bằng MapReduce.


13

Chương 3. THỰC NGHIỆM VÀ KẾT QUẢ
3.1. Dữ liệu thực nghiệm
Luận văn sử dụng tập dữ liệu MovieLens [13]. Đây là tập dữ
liệu được thu thập bởi Dự án nghiên cứu GroupLens của Đại học
Minnesota. Tập dữ liệu MovieLens có ba lựa chọn với kích thước
khác nhau lần lượt là: MovieLens 100k, MovieLens 1M và
MovieLens 10M. Luận văn sử dụng tập dữ liệu MovieLens 1M.

3.2. Phương pháp thực nghiệm
-

Cách phân chia tập dữ liệu huấn luyện và kiểm nghiệm

Tập dữ liệu được chia thành tập dữ liệu huấn luyện và tập dữ liệu
kiểm nghiệm với kích thước lần lượt là 80% và 20%. Việc phân chia
tập dữ liệu được thực hiện bởi lớp ProcessInput.
Tập dữ liệu huấn luyện và tập kiểm nghiệm được chia một cách ngẫu

nhiên, dữ liệu mỗi lần chia là khác nhau, do đó có thể thực hiện chia
nhiều lần và thực hiện chạy trên các tập khác nhau đó để kết quả
được chính xác nhất.

3.3. Kết quả thực nghiệm
3.3.1. Áp dụng Interaction cut
Trong tập dữ liệu MovieLens, mỗi người dùng đánh giá tối
thiểu 20 sản phẩm, số sản phẩm tối đa của mỗi người dùng là không
giới hạn. Tuy nhiên, số người dùng đánh giá nhiều hơn p sản phẩm sẽ
giảm dần khi p tăng lên, nghĩa là tỉ lệ người dùng đánh giá số lượng
lớn sản phẩm là rất nhỏ.Điều này làm tăng thời gian chạy nhưng lại
không ảnh hưởng đáng kể đến độ chính xác của dự đoán (cụ thể là


14
MAE và RMSE). Do đó Luận văn áp dụng khái niệm Interaction cut,
nghĩa là giới hạn số lượng đánh giá tối đa của mỗi người dùng bằng
cách lấy ngẫu nhiên một số đánh giá nhất định từ tập đánh giá của
người dùng.

3.3.2. Thử nghiệm giá trị trung bình sai số tuyệt đối MAE
-

Thử nghiệm 1: Giá trị MAE của 2 phương pháp khi thay đổi
kích thước tập hàng xóm và giữ nguyên interaction cut là 200.
Thử nghiệm 2: Giá trị MAE của 2 phương pháp khi thay đổi
kích thước tập hàng xóm và giữ nguyên interaction cut là 400.
Thử nghiệm 3: Giá trị MAE của 2 phương pháp khi thay đổi
kích thước tập hàng xóm và giữ nguyên interaction cut là 800.


3.3.3. Thử nghiệm giá trị trung bình bình phương sai số
MAE
-

Thử nghiệm 1: Giá trị RMSE của 2 phương pháp khi thay đổi
kích thước tập hàng xóm và giữ nguyên interaction cut là 200.
Thử nghiệm 2: Giá trị RMSE của 2 phương pháp khi thay đổi
kích thước tập hàng xóm và giữ nguyên interaction cut là 400.
Thử nghiệm 3: Giá trị RMSE của 2 phương pháp khi thay đổi
kích thước tập hàng xóm và giữ nguyên interaction cut là 800.

3.3.4. Thử nghiệm thời gian chạy thử
- Thử nghiệm 1: Thời gian chạy với phương pháp sử dụng
MapReduce (k=100, interaction cut là 800) và phương pháp sử dụng
thư viện MyMedialite[15] (tính theo giây).

3.2.5.. Độ đo kiểm nghiệm
Luận văn sử dụng hai độ đo sau đây để kiểm nghiệm độ
chính xác của phương pháp thực nghiệm:
- Trung bình sai số tuyệt đối (MAE)


15

-

Trung bình bình phương sai số (RMSE)

3.4. Đánh giá và so sánh
3.4.1. Đánh giá hai phương pháp Item-Base và user-Base

Về thời gian chạy: Phương pháp item-based có thời gian
chạy ngắn hơn phương pháp user-based. Nguyên nhân của sự chênh
lệch này là do tập dữ liệu MovieLens 1M có số lượng người dùng lớn
hơn khá nhiều so với số lượng sản phẩm (6040 người dùng so với
3952 sản phẩm).
Về độ chính xác: Các giá trị MAE và RMSE của phương
pháp user-based đều lớn hơn phương pháp item-based. Các giá trị
MAE và RMSE của phương pháp user-based hội tụ nhanh hơn
phương pháp item-based khi tăng giá trị interaction cut.

3.4.2. Đánh giá phương pháp tư vấn sửa dụng MapReduce và
MyMedialite
Theo số liệu trong mục trên (hình 3.8), thời gian chạy khi sử
dụng thư viện MyMedialite lớn hơn khá nhiều khi sử dụng
MapReduce. Trong điều kiện chỉ thực hiện trên một máy, không tận
dụng được hết khả năng tính toán song song của Hadoop –
MapReduce, kết quả này là khá tốt.Như vậy, áp dụng Hadoop –
MapReduce cho hệ tư vấn góp phần giải quyết được vấn đề mở rộng
khi xây dựng hệ tư vấn cho dữ liệu lớn.

3.4.3. Đánh giá phương pháp chọn tập hàng xóm.
Về độ chính xác: Theo số liệu ở mục trên (bảng 3.10, 3.11),
các giá trị MAE và RMSE giảm khá mạnh khi áp dụng phương pháp
chọn tập hàng xóm mới so với phương pháp cũ, đặc biệt là với
phương pháp user-based.


16
Về thời gian chạy: Theo số liệu ở bảng 3.7 và 3.10, thời gian
chạy khi áp dụng phương pháp chọn tập hàng xóm mới giảm khá

nhiều so với phương pháp cũ.
Như vậy, phương pháp chọn tập hàng xóm mới đem lại kết quả khá
tốt so với phương pháp cũ, cả về thời gian chạy và độ chính xác.
Kết luận chương 3:
Trong chương 3, luận văn trình bày quá trình thực nghiệm và
đánh giá kết quả khi xây dựng hệ tư vấn kết hợp trên Hadoop –
MapReduce. Quá trình thực nghiệm cho kết quả khá tốt. Các kết quả
thực nghiệm đã cho thấy tính khả nghi của việc mở rộng hệ tư vấn
kết hợp Hadoop – MapReduce và khẳng định tính đúng đắn của
những vấn đề lý thuyết được trình bày ở chương 2.
KẾT LUẬN
Luận văn đã trình bày phương pháp áp dụng MapReduce để
mở rộng hệ tư vấn kết hợp với phương pháp lọc kết hợp. Với phương
pháp lọc kết hợp, luận văn tập trung nghiên cứu hai kỹ thuật cơ bản
là kỹ thuật lọc dựa vào sản phẩm và lọc dựa vào người dùng. Đặc
biệt, luận văn cải tiến phương pháp chọn tập hàng xóm so với
phương pháp truyền thống, việc cải tiến này được áp dụng riêng rẽ
cho hai kỹ thuật lọc kết hợp vào người dùng và dựa vào sản phẩm.



×