1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng ứng dụng cảnh cáo người dùng bằng cách lọc cộng tác

49 308 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 2,23 MB

Nội dung

Tương tác cá nhân là hoạt động sự việc diễn ra trên toàn thế giới, thậm chí có từ hàng trăm năm trước cho đến ngày nay. Những năm 1990, tương tác cá nhân ít nhiều cũng đã có mặt. Theo thường lệ, khi đi vào một cửa hàng sách quen thuộc, chủ hàng sẽ chào đón như: “Có báo mới ngày hôm nay đấy”, chủ hàng biết rằng khách hàng của mình muốn điều gì khi đến đây. Hoặc chủ hàng có thể giới thiệu cho một vài quyển sách mà khách hàng của mình có thể quan tâm dựa trên những sở thích của khách. Hoặc khi đi vào quán nước quen, người phục vụ sẽ hỏi: “Như thường lệ chứ?” Khoảng 30 năm về trước, khi bạn muốn mua chiếc tivi ở cửa hàng điện máy thì có vài sự lựa chọn phổ biến cho bạn: Panasonic và Samsung hay LG. Những năm sau đó, bạn có nhiều sự lựa chọn phong phú hơn, bạn chọn hãng Samsung thì trong đó còn nhiều lựa chọn như: LED hay LCD, bao nhiêu inch?… Hàng ngày có hàng trăm bài hát được thu âm, hàng trăm đầu sách được xuất bản trên thế giới, trong khi đó các cửa hàng chỉ có giới hạn các đầu sách hoặc các bài hát, các bộ phim… Từ đó, các dịch vụ trực tuyến được ra đời và đáp ứng nhu cầu ngày càng cao của người dùng. Cho đến ngày nay, sự tương tác cá nhân vẫn luôn tồn tại, thậm chí bạn có hàng triệu sự lựa chọn. Mỗi giây các phương tiện truyền thông được thêm vào mạng. Mỗi phút 100 tập tin mới có sẵn trên usenet. 2424 giờ video được tải lên YouTube. Mỗi giờ 180 cuốn sách mới được xuất bản. Mỗi ngày càng có thêm nhiều lựa chọn các sản phẩm để mua trong thế giới thực.

1 Mở đầu CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ 1.1 Khái niệm chung: 1.1.1 Lọc thông tin (Information Filtering _IF) 1.1.2 Hệ thống khuyến nghị (Recommender System) 10 1.1.3 Giới thiệu toán hệ thống khuyến nghị: 11 1.2 Các kỹ thuật lọc cho hệ thống khuyến nghị [4] 11 1.2.1 Kỹ thuật lọc dựa theo nội dung: 12 1.2.2 Kỹ thuật lọc cộng tác (Collaborative Filtering) 12 2.3, Kỹ thuật Hybrid 13 1.3 Các phương pháp lọc cộng tác 13 1.3.1, Lọc cộng tác dựa vào nhớ 14 1.3.2, Lọc cộng tác dựa vào mô hình (Model-Based Collaborative Filtering) 14 CHƯƠNG 2: KỸ THUẬT LỌC CỘNG TÁC 16 2.1 Giới thiệu toán lọc cộng tác 16 2.2 Các phương pháp tính độ tương tự người dùng 16 2.2.1 Khoảng cách Manhattan 16 2.2.2 Khoảng cách Euclidean 18 2.2.3 Hệ số tương quan Pearson 20 2.2.4 Hệ số tương tự Cosine 22 2.3 Phương pháp cải tiến K-hàng xóm gần (k-nearest neighbor) 24 2.3.1 Thuật toán KNN dựa người dùng 25 2.3.2 Thuật toán KNN dựa sản phẩm: 27 2.4 Mô hình nhân tố ẩn 29 2.4.1 Phương pháp tiếp cận vùng lân cận (the neighborhood approach) 29 2.4.2 Mô hình nhân tố ẩn (latent factor models) [3] 30 2.4.2.1 Cơ sở lý thuyết 30 2.4.2.2 Bài toán: 31 2.4.3 Phương pháp ma trận thừa số (Matrix Factorization Methods) [6] 32 2.4.4 Thuật toán gradient descent ngẫu nhiên 35 2.4.4.1 Thuật toán Gradient descent (GD) 35 2.4.4.2 Thuật toán gradient descent ngẫu nhiên 37 2.4.4.3 Thuật toán SGD dùng cho phân tích ma trận (ma trận thừa số) 41 2.4.4.4 So sánh thuật toán GD SGD 43 2.5 Tiêu chuẩn đánh giá 44 2.5.1 Mean absolute error (MAE) 44 2.5.2 Root mean square error (RMSE) 44 CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ VỚI DỮ LIỆU PHIM ẢNH 46 3.1 Dữ liệu thực nghiệm 46 3.1.1 Tập liệu thực nghiệm 46 3.1.2 Thông tin chi tiết định dạng liệu Movielens [15] 47 3.2 Phương pháp thực nghiệm 49 3.2.1 Môi trường thực nghiệm 49 3.2.2 Phương pháp tiến hành thực nghiệm 49 3.3 So sánh đánh giá kết thực nghiệm 50 3.3.1 Kết thực nghiệm 50 3.3.2 So sánh đánh giá 52 3.3.2.1 Các phương pháp sở 52 3.3.2.2 Thuật toán SGD 52 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 Mở đầu Tương tác cá nhân hoạt động/ việc diễn toàn giới, chí có từ hàng trăm năm trước ngày Những năm 1990, tương tác cá nhân nhiều có mặt Theo thường lệ, vào cửa hàng sách quen thuộc, chủ hàng chào đón như: “Có báo ngày hôm đấy!”, chủ hàng biết khách hàng muốn điều đến Hoặc chủ hàng giới thiệu cho vài sách mà khách hàng quan tâm dựa sở thích khách Hoặc vào quán nước quen, người phục vụ hỏi: “Như thường lệ chứ?” Khoảng 30 năm trước, bạn muốn mua tivi cửa hàng điện máy có vài lựa chọn phổ biến cho bạn: Panasonic Samsung hay LG Những năm sau đó, bạn có nhiều lựa chọn phong phú hơn, bạn chọn hãng Samsung nhiều lựa chọn như: LED hay LCD, inch?… Hàng ngày có hàng trăm hát thu âm, hàng trăm đầu sách xuất giới, cửa hàng có giới hạn đầu sách hát, phim… Từ đó, dịch vụ trực tuyến đời đáp ứng nhu cầu ngày cao người dùng Cho đến ngày nay, tương tác cá nhân tồn tại, chí bạn có hàng triệu lựa chọn Mỗi giây phương tiện truyền thông thêm vào mạng Mỗi phút 100 tập tin có sẵn usenet 24/24 video tải lên YouTube Mỗi 180 sách xuất Mỗi ngày có thêm nhiều lựa chọn sản phẩm để mua giới thực Bạn muốn mua số nhạc? iTunes có khoảng 11 triệu hát để lựa chọn họ bán 16 tỷ hát vào tháng 10 năm 2011 Nếu bạn muốn nhiều lựa chọn đến Spotify với 15 triệu hát Bạn muốn mua sách, Amazon cung cấp triệu sách để bạn lựa chọn Trong sống ngày nay, với phát triển không ngừng công nghệ thông tin, nguồn thông tin phong phú làm cho bạn đủ thời gian để xem xét lựa chọn tất sách, phim, tạp chí hay hát… bạn nên xem phim gì, đọc sách phù hợp với sở thích, nhu cầu thân Vấn đề cấp thiết đặt cần hệ thống hỗ trợ người dùng chọn lựa sản phẩm phù hợp với nhu cầu người dùng, từ hệ thống khuyến nghị nghiên cứu phát triển không ngừng nhằm đạt hiệu việc tương tác với người dùng Hệ thống khuyến nghị (Recommender Systems - RS) giải pháp hiệu giải vấn đề Chính luận văn này, xin trình bày hệ thống khuyến nghị Trong phạm vi luận văn, tập trung nghiên cứu kỹ thuật lọc cộng tác phân tích phương pháp để tìm người nhóm người gần với người dùng cần khuyến nghị Để giảm thiểu sai số dự đoán trình bày nghiên cứu phương pháp ma trận thừa số cụ thể thuật toán gradient descent ngẫu nhiên Nội dung luận văn chia làm chương: Chương 1: Giới thiệu tổng quan hệ thống khuyến nghị Chương 2: Kỹ thuật lọc cộng tác Chương 3: Thực nghiệm đánh giá với liệu phim ảnh Trong chương 1, tìm hiểu chung hệ thống khuyến nghị, kỹ thuật lọc thông tin hệ thống khuyến nghị: lọc dựa vào nội dung, lọc cộng tác kỹ thuật kết hợp Hybrid, phương pháp lọc cộng tác như: Lọc dựa vào nhớ lọc dựa vào mô hình Trong chương 2, trình bày chi tiết kỹ thuật lọc cộng tác, phương pháp tính độ tương tự người dùng, phương pháp ma trận thừa số, thuật toán gradient descent ngẫu nhiên tiêu chuẩn đánh giá dự đoán Chương 3, tiến hành thực nghiệm liệu Movielens với 100.000 đánh giá, sau dựa vào kết thực nghiệm để đánh giá, phân tích so sánh tính hiệu phương pháp thuật toán nêu chương CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ 1.1 Khái niệm chung: 1.1.1 Lọc thông tin (Information Filtering _IF) Hình 1.1: Mô hình hệ thống lọc thông tin Giảm tải thông tin mục tiêu lọc thông tin (Information Filtering _IF) công nhận ưu tiên việc phát triển hệ thống thông tin dựa web Cung cấp tài liệu có liên quan dựa sở thích khách hàng Công nghệ khuyến nghị trình bày mô hình tìm kiếm nơi mà mặt hàng có liên quan tìm người sử dụng thay người sử dụng tìm kiếm chúng Xu hướng công nghệ thông tin mạng xã hội thiết bị di động thực nghiên cứu cá nhân ưu tiên hàng đầu Nghiên cứu khách hàng tiếp thị có truyền thống lâu đời Với tiến công nghệ thông tin, phát triển ngày tinh vi mang lại hiệu cho hệ thống trực tuyến Lọc cộng tác, hệ thống khuyến nghị, hệ thống trợ giúp cá nhân, lọc xã hội, hệ thống khai thác liệu xã hội, hệ thống thích nghi người dùng gọi chung hệ thống lọc thông tin (IF ) Ngày nay, hệ thống lọc thông tin khắp nơi, ngành công nghiệp dịch vụ, từ tiếp thị cho sức khỏe, du lịch, giáo dục, giải trí, Vậy, hệ thống lọc thông tin hệ thống loại bỏ thông tin dư thừa không mong muốn từ luồng thông tin sử dụng tự động máy vi tính Mục tiêu quản lý tình trạng tải thông tin tăng tỷ lệ ngữ nghĩa tín hiệu nhiễu Để thực hồ sơ so sánh với số đặc tính tham khảo 1.1.2 Hệ thống khuyến nghị (Recommender System) Hệ thống khuyến nghị (Recommender System) [7] loại hình cụ thể kỹ thuật lọc thông tin (như phim ảnh, âm nhạc, trang web, tin tức) mà người dùng quan tâm Nó quan trọng cho thành công thương mại điện tử ngành công nghiệp CNTT nay, trở nên phổ cập ứng dụng khác (ví dụ dự án Netflix, Google tin tức, Amazon) Là hệ thống khuyến nghị chuyên nghiệp xây dựng dựa hồ sơ khứ người dùng, hệ thống so sánh hồ sơ người dùng với số đặc điểm tài liệu tham khảo, tìm cách để dự đoán “đánh giá” mà người dùng cung cấp cho mục mà người dùng chưa đánh giá Trong hầu hết trường hợp, hệ thống khuyến nghị tương ứng với vấn đề khai thác liệu quy mô lớn Là hệ thống có khả tự động phân tích, phân loại, lựa chọn cung cấp cho người dùng thông tin, hàng hóa hay dịch vụ mà họ quan tâm Hình 1.2: Một ví dụ mô hình khuyến nghị sản phẩm 1.1.3 Giới thiệu toán hệ thống khuyến nghị: Cho U tập tất người dùng; P tập tất sản phẩm(sách, hát, phim…) tư vấn Tập P lớn, từ hàng trăm ngàn đến hàng triệu sản phẩm Tập U số trường hợp lên tới hàng triệu người dùng Hàm r(u,p) đánh giá mức độ phù hợp (xếp hạng) sản phẩm p với người dùng u, r: UxP R Với người dùng u ∈ U cần tìm sản phẩm p’ ∈ P cho hàm r(u,p’) đạt giá trị lớn nhất: ∀u ∈U,p’=arg maxp∈ P r(u,p) Trong hệ thống khuyến nghị, đánh giá thể hình thức thông thường như: thích không thích (hình bàn tay với ngón trỏ: youtube.com), số (thường từ 1- sao)… 1.2 Các kỹ thuật lọc cho hệ thống khuyến nghị [4] Trong việc lựa chọn sản phẩm dịch vụ (gọi chung Item), người dùng thường gặp phải khó khăn là:  Lượng Item: Mỗi ngày, có hàng triệu thông tin đăng tải lên internet ngày, người dùng nên không nên sử dụng Item nào?  Thông tin Item: lượng Item vô lớn, nên User tìm hiểu tất Item nội dung, chức Item có phù hợp với nhu cầu user không? Gợi ý đặt để giải vấn đề khó khăn là:  Khai thác khía cạnh cạnh liên quan đến nội dung thông tin sản phẩm người dùng sử dụng hay truy nhập khứ để khuyến nghị Đây kỹ thuật lọc dựa theo nội dung (Content-Based Filtering)  Lựa chọn dựa ý kiến hay lời khuyên người dùng khác Item Hệ thống khuyến nghị áp dụng thuật toán tận dụng gợi ý cung cấp cộng đồng người dùng tương tự sau cung cấp cho người dùng hoạt động (người tìm kiếm đề xuất) Phương pháp gọi lọc cộng tác (Collaborative Filtering _CF) So với lọc theo nội dung, lọc cộng tác có số ưu điểm đơn giản cài đặt lọc loại thông tin hay hàng hoá mà không cần phải biểu diễn dạng văn 1.2.1 Kỹ thuật lọc dựa theo nội dung: Với kỹ thuật khuyến nghị dựa nội dung[10], mức độ phù hợp r(u,p) sản phẩm phẩm p với người dùng u đánh giá dựa mức độ phù hợp r(u,p j), pj P tương tự p Ví dụ, để gợi ý phim cho người dùng u, hệ thống tư vấn tìm đặc điểm phim u đánh giá cao (như diễn viên, đạo diễn…); sau phim tương đồng với sở thích c giới thiệu Hướng tiếp cận dựa nội dung bắt nguồn từ nghiên cứu thu thập thông tin (IR - information retrieval) lọc thông tin (IF - information filtering) Do đó, nhiều hệ thống dựa nội dung tập trung vào tư vấn đối tượng chứa liệu text văn bản, tin tức, website… Những tiến so với hướng tiếp cận cũ IR việc sử dụng hồ sơ người dùng (chứa thông tin sở thích, nhu cầu…) Hồ sơ xây dựng dựa thông tin người dùng cung cấp trực tiếp (khi trả lời khảo sát) gián tiếp (do khai phá thông tin từ giao dịch người dùng) Hình 1.3: Mô hình kỹ thuật lọc dựa theo nội dung 1.2.2 Kỹ thuật lọc cộng tác (Collaborative Filtering) Kỹ thuật lọc cộng tác (Collaborative Filtering) dựa nguyên tắc hoạt động khuyến nghị dựa ảnh hưởng nhiều người khác nhau, cộng tác nhiều người trở thành khuyến nghị Khác so với kỹ thuật lọc cộng tác dựa nội dụng, hệ thống cộng tác dự đoán mức độ phù hợp r(u,p) sản phẩm p với người dùng u dựa mức độ phù hợp r(ui, p) người dùng ui p, ui người có sở thích với u Ví dụ, để gợi ý phim cho người dùng u, hệ thống cộng tác tìm người dùng khác có sở thích phim ảnh với u Sau đó, phim họ đánh giá cao dùng để tư vấn cho u Chi tiết cụ thể kỹ thuật trình bày chương 2.3, Kỹ thuật Hybrid Kỹ thuật Hybrid[9] phương pháp kết hợp hai kỹ thuật Một số ứng dụng kết hợp hai kỹ thuật lọc cho hệ thống khuyến nghị dựa theo nội dung lọc cộng tác Mỗi kỹ thuật có ưu điểm nhược điểm riêng, kết hợp khắc phục hạn chế kỹ thuật Nó cải thiện hiệu suất dự đoán, quan trọng hơn, từ vượt qua vấn đề lọc thông tin thưa thớt thông tin Tuy nhiên, kết hợp hai kỹ thuật để thực gia tăng phức tạp giá thành cao Thông thường hầu hết hệ thống khuyến nghị thương mại Hybrid, ví dụ: hệ thống khuyến nghị tin tức Google Thông thường có cách để kết hợp sau:  Cài đặt hai phương pháp riêng rẽ kết hợp dự đoán chúng với nhau: Có hai kịch cho trường hợp là: + Cách 1: Kết hợp kết hai phương pháp thành kết chung + Cách 2: Tại thời điểm chọn phương pháp cho kết tốt (ví dụ: Hệ thống Dailylearner)  Tích hợp đặc trưng phương pháp dựa nội dung vào hệ thống cộng tác  Tích hợp đặc trưng phương pháp cộng tác vào hệ thống dựa nội dung  Xây dựng mô hình hợp nhất, bao gồm đặc trưng hai phương pháp 1.3 Các phương pháp lọc cộng tác Với số lượng lớn sản phẩm có internet thông thường người dùng đánh giá hữu hạn m sản phẩm (với m sản phẩm đánh giá nhỏ nhiều so với tập M sản phẩm) Khó khăn đặt dự đoán đánh giá người dùng cho tập M sản phẩm điều khó khăn, tập M sản phẩm luôn thay đổi theo thời gian ngày tăng lên Ngoài để dự đoán đánh giá N người dùng với M sản phẩm gây tốc độ xử lý chậm => nhiều thời gian, lãng phí tài nguyên… Một 10 giải pháp đặt để giải vấn đề là: kỹ thuật lọc cộng tác (Collaborative Filtering) Lọc cộng tác cho hệ thống khuyến nghị tiếp cận theo hai phương pháp chính: Lọc cộng tác dựa vào nhớ (Memory-Based Collaborative Filtering) lọc cộng tác dựa vào mô hình (Model-Based Collaborative Filtering) Điểm khác biệt quan trọng hai phương pháp tiếp cận là: Lọc dựa vào nhớ tiến hành xây dựng đồng thời mô hình huấn luyện mô hình dự đoán Ngược lại, lọc dựa vào mô hình xây dựng mô hình huấn luyện mô hình dự đoán độc lập So với lọc cộng tác dựa vào mô hình, lọc cộng tác dựa vào nhớ áp dụng rộng rãi tính hiệu quả, đơn giản có độ xác cao 1.3.1, Lọc cộng tác dựa vào nhớ Phương pháp lọc cộng tác dựa vào nhớ [11] thường sử dụng toàn liệu có người dùng để dự đoán đánh giá người sản phẩm Là phương pháp có khả đưa trực tiếp liệu vào bảng liệu nên đạt nhiều thành công áp dụng vào ứng dụng thực tế Đặc biệt, kỹ thuật phát huy tính hiệu cao hệ thống trực tuyến (là nơi có liệu cập nhật) thường đưa dự đoán xác Lọc cộng tác dựa vào nhớ (Memory-Based Collaborative Filtering) thực theo hai phương pháp chính: Lọc dựa vào người dùng (User-Based Collaborative Filtering) lọc dựa vào sản phẩm (Item-Based Collaborative Filtering) Hiệu phương pháp lọc dựa vào nhớ phụ thuộc vào độ đo tương tự cặp người dùng sản phẩm Phương pháp lọc cộng tác dựa vào nhớ, trình bày cụ thể chương 1.3.2, Lọc cộng tác dựa vào mô hình (Model-Based Collaborative Filtering) Phương pháp tiếp cận dựa mô hình [17] không sử dụng tất liệu có để đưa dự đoán, thay vào chúng nắm bắt thông tin bước giống thỏa thuận mô hình sở thích người dùng Các mô hình phát triển cách sử dụng phương thức khai thác liệu, thuật toán học máy để tìm mô hình dựa liệu huấn luyện Chúng sử dụng để đưa dự đoán cho liệu thực tế Có nhiều thuật toán CF dựa mô hình như: mạng Bayes , mô hình phân nhóm , mô hình ngữ nghĩa tiềm ẩn 35 Bước 2: khởi tạo giá trị ban đầu θ0 Bước 3: 36 Với mũi tên đỏ biểu thị định hướng L0  mũi tên xanh biểu thị định hướng ˆ L 0  Lý thuyết xấp xỉ ngẫu nhiên chứng tỏ với số điều kiện buộc nhiễu xấp xỉ gradient triệt tiêu SGD hội tụ đến tập điểm bất động thỏa mãn L= 0, tất nhiên điểm bất động cực tiểu, cực đại, điểm yên ngựa thường chúng hội tụ điểm cực tiểu tính có nhiễu toán Tuy nhiên SGD tìm điểm cực tiểu mà không toàn cục nên có 37 nhiều phương pháp dùng để cao khả tìm điểm chạy thuật toán SGD nhiều lần lần xuất phát điểm lấy ngẫu nhiên 2.4.4.3 Thuật toán SGD dùng cho phân tích ma trận (ma trận thừa số) Để áp dụng thuật toán SGD cho toán phân tích ma trận, ta xác định tập θ = (W,H), ta phân tích hàm sai số sau: L()   Lij(Wi*,H* j ) (i,j)z Trong đó: tập liệu huấn luyện Z Hàm sai số Lij sai số giá trị phần tử r ij∈R với tích vector thành phần wi hj Wi* vector hàng thứ i ma trận W H*j vector cột thứ j ma trận H Như tổng sai số là:  L()  Lij(Wi*,H* j ) (i,j)z Ta ước lượng xấp xỉ gradient sau: với N=|Z| điểm huấn luyện z chọn ngẫu nhiên từ tập liệu huấn luyện, ta có: Lˆ(,z)  NLizjz (Wi*,H* j ) Các giai đoạn thực thuật toán SGD: Đầu tiên chọn ngẫu nhiên mẫu liệu huấn luyện z∈Z (Z tập liệu huấn luyện ) Sau chọn mẫu liệu huấn luyện để tiến hành thực nghiệm với thuật toán SGD ta tính gradient xấp xỉ Lˆ0,z giá trị có nhiễu L0,z, từ ta cập nhật tham số ɛn Lˆ0, z để tính giá trị θ1: 38 1 0 0Lˆ0, z  Để tìm tối thiểu hàm sai số L thực lặp lại n lần bước trên, qua n lần cập nhật giá trị θn+1 là: n1 n nLˆn, z Thuật toán SGD thay truy cập toàn tập liệu huấn luyện truy cập liệu ngẫu nhiên (nghĩa chọn mẫu liệu huấn luyện ngẫu nhiên) để thực thuật toán Và giá trị trọng số θ cập nhật từ mẫu liệu huấn luyện thay toàn bộ liệu huấn luyện Điều đó, giúp giảm thiểu thời gian thực cách đáng kể Ngoài thuật toán SGD chọn mẫu huấn luyện thay sử dụng toàn tập liệu huấn luyện nên sử dụng hiệu trường hợp tập liệu huấn luyện lớn Sự hội tụ thuật toán Stochastic gradient descent phân tích cách sử dụng lý thuyết tối ưu hóa Convex (lồi) xấp xỉ ngẫu nhiên Khi giá trị θ giảm với tỷ lệ thích hợp, tùy thuộc vào giả định, ngẫu nhiên gradient descent hội tụ gần chắn đến mức tối thiểu địa phương Hình ảnh sau cho thấy tính hiệu thuật toán SGD so với số thuật toán khác ALS LBFGS thử nghiệm tập liệu Netflix: Hình 2.9: Đồ thị biểu thị thuật toán SGD thử nghiệm tập liệu Netflix 39 Thuật toán Stochastic gradient descent (SGD) thuật toán phổ biến cho nghiên cứu loạt mô hình học máy: máy vector hỗ trợ, hồi quy logistic mô hình đồ họa Thuật toán SGD sử dụng rộng rãi, kết hợp với thuật toán lan truyền ngược SGD thuật toán nghiên cứu tiêu chuẩn mạng nơron nhân tạo 2.4.4.4 So sánh thuật toán GD SGD GD SGD Mẫu huấn luyện Truy cập đến toàn bô liệu huấn luyện Chỉ sử dụng một đầy đủ số mẫu huấn luyện lựa chọn ngẫu nhiên liệu huấn luyện Trọng số Cập nhật qua huấn luyện đầy đủ Thời gian Đối vơi tập liệu huấn luyện lớn Giảm thời gian đáng kể nhiều thời gian lần lặp lại cập trọng số cập nhật nhật giá trị trọng số phải chạy qua tập từ mẫu huấn luyện liệu huấn huyện đầy đủ Hội tụ Hội tụ chậm Xấp xỉ gần Xác định truy cập toàn tập liệu Tối ưu ngẫu nhiên theo huấn luyện số lần lặp lại mẫu huấn luyện khác Cập nhật từ mẫu Nhanh nhiều Bảng 2.6: So sánh GD SGD Nhận xét: Qua trình nghiên cứu nhận xét ưu điểm nhược điêm thuật toán SGD sau: Đối với ưu điểm phân tích trên: SGD đạt hiệu sử dụng với tập liệu huấn luyện lớn, với liệu thưa thớt, thuật toán SGD dễ dàng để thực hiện, đạt hiệu cao vấn đề tối thiểu hàm sai số đưa khuyến nghị hữu ích phù hợp với quan điểm người sử dụng Bên cạnh ưu điểm SGD có nhược điểm SGD đòi hỏi số siêu tham số tham số quy số lần lặp lại thuật toán SGD khó khăn dùng cách trực tiếp cho toán phân tích ma trận có kích thước lớn lớn số liệu dùng cho môi trường Web Mặc dù, thuật toán SGD giảm thiểu thời gian thực đáng kể chưa đạt mức tối ưu hóa thời gian thực 2.5 Tiêu chuẩn đánh giá 40 2.5.1 Mean absolute error (MAE) Trong lý thuyết thống kê, sai số tuyệt đối trung bình (MAE) [4] đại lượng dùng để đo lường giá trị dự đoán với kết thực tế MAE đo lường xác cho biến liên tục MAE tuyến tính nghĩa tất giá trị khác biệt có trọng số bình đẳng giá trị trung bình Tính toán MAE tương đối đơn giản, tổng hợp giá trị tuyệt đối lỗi để có “tổng lỗi”, sau chia cho tổng số lỗi n Như vậy, sai số tuyệt đối trung bình định nghĩa công thức sau: 1n MAE  ni1 rij rˆij Trong đó: rij đánh giá thực tế người dùng u i cho sản phẩm pj rˆij đánh giá hệ thống dự đoán người dùng ui cho sản phẩm pj, n số lần dự đoán 2.5.2 Root mean square error (RMSE) Khi dự đoán đánh giá người dùng u i item pj việc xảy sai số so với thực tế đánh giá user ui item pj không tránh khỏi Root Mean Square Error (RMSE) [2] biện pháp thường sử dụng trường hợp khác biệt giá trị dự đoán mô hình giá trị thực quan sát từ môi trường mô hình hóa Những khác biệt gọi phần dư, RMSE nhằm mục đích để tổng hợp tất phần dư thành thước đo khả dự đoán hệ thống khuyến nghị cho người dùng Các RMSE mô hình dự đoán định nghĩa bậc hai trung bình bình phương lỗi:  u , m Stest (rum  rˆum ) Stest RMSE  41 Trong đó: (u,m)Stest người dùng u đánh giá sản phẩm m thuộc tập liệu kiểm tra Stest=n số lần tiến hành kiểm tra rum đánh giá thực tế người dùng u với sản phẩm m rˆum đánh giá dự đoán người dùng u với sản phẩm m hệ thống khuyến nghị dự đoán Ta thấy giá trị RMSE nhỏ mức độ hiệu hệ thống khuyến nghị cụ thể thuật toán sử dụng cao Do tầm quan trọng hệ thống khuyến nghị việc cải thiện chất lượng dịch vụ, với mục tiêu nhằm giảm thiểu sai số bình phương trung bình Netflix bắt đầu thi với giải thưởng lớn để thu hút nhà nghiên cứu toàn giới để làm việc vấn đề Hiện nay, nhiều nhà nghiên cứu, bao gồm nhiều chuyên gia tập trung vào vấn đề có tiến lớn MAE RMSE sử dụng để chuẩn đoán thay đổi lỗi tập liệu đánh giá Cả MAE RMSE dao động từ đến  giá trị theo định hướng giảm: giá trị nhỏ tốt Trong luận văn này, sử dụng phương pháp sai số bình phương trung bình RMSE để tiến hành thực nghiệm so sánh với phương pháp thuật toán nêu là: Khoảng cách Manhattan, Euclidean, hệ số tương quan Pearson, hệ số tương tự Cosine, K- nearest neighbor dựa sản phẩm thuật toán SGD CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ VỚI DỮ LIỆU PHIM ẢNH Mục tiêu chương chạy thực nghiệm tập liệu Movielens để so sánh đánh giá mức độ hiệu phương pháp thuật toán trình bày hệ thống khuyến nghị dựa vào lọc cộng tác Trong chương 2, giới thiệu phương pháp tính độ tương tự người dùng là: Manhattan, Euclidean, Pearson, Cosine, K-nearest neighbor phương pháp khác lọc cộng tác nhằm mục đích để cực tiểu hóa hàm sai số thuật toán SGD (Stochastic gradient descent), tiến hành thực nghiệm để so sánh đánh giá hiệu phương pháp: Manhattan , Euclidean, Pearson, Cosine, K-nearest neighbor dựa vào sản phẩm thuật toán SGD 42 3.1 Dữ liệu thực nghiệm 3.1.1 Tập liệu thực nghiệm Để thực nghiệm sử dụng liệu đăng tải trang Movielens nhóm nghiêm cứu GroupLens GroupLens nhóm nghiên cứu Khoa Khoa học Máy tính Kỹ thuật Đại học Minnesota, chuyên hệ thống khuyến nghị, cộng đồng trực tuyến, công nghệ di động, thư viện kỹ thuật số, hệ thống thông tin địa lý địa phương Các thành viên dự án nghiên cứu GroupLens tham gia vào nhiều dự án nghiên cứu liên quan đến lĩnh vực lọc thông tin, lọc cộng tác, hệ thống khuyến nghị Dự án dẫn dắt giáo sư John Riedl Joseph Konstan Dự án bắt đầu để khám phá lọc cộng tác tự động vào năm 1992, tiếng toàn giới cho thử nghiệm hệ thống lọc cộng tác tự động cho Usenet News năm 1996 Kể từ dự án mở rộng phạm vi nghiên cứu tổng thể giải pháp lọc thông tin, tích hợp phương pháp dựa nội dung cải tiến công nghệ lọc cộng tác Movielens hệ thống khuyến phổ biến, website gợi ý phim cho người dùng xem, dựa sở thích phim họ sử dụng phương pháp lọc cộng tác, nhóm GroupLens tạo vào năm 1997 Bộ liệu sử dụng Movielens chứa liệu đánh giá rõ ràng cho phim, có đặc điểm sau:  Với 100000 đánh giá thực 1000 người dùng 1700 phim Các phim nhận giá trị đánh giá khoảng từ đến  Mỗi người sử dụng đánh giá 20 phim  Thông tin cá nhân đơn giản cho người sử dụng (tuổi, giới tính, nghề nghiệp, zip code_mã bưu chính)  Các liệu thu thập thông qua trang web MovieLens (Movielens.umn.edu) khoảng thời gian bảy tháng từ ngày 19 tháng năm 1997 thông qua ngày 22 tháng 04 năm 1998 Trong liệu này, người sử dụng có 20 xếp hạng thông tin cá nhân hoàn chỉnh bị loại bỏ khỏi liệu 3.1.2 Thông tin chi tiết định dạng liệu Movielens [15] ml-data.tar.gz - tập tin nén tar Để xây dựng lại tập tin liệu u: 43 gunzip ml-data.tar.gz tar xvf ml-data.tar mku.sh u.data - Bộ u liệu đầy đủ, 100000 xếp hạng 943 người dùng 1682 mặt hàng Mỗi người dùng có đánh giá 20 phim Người sử dụng mặt hàng đánh số liên tục từ liệu xếp ngẫu nhiên Cấu trúc nhãn riêng biệt: user id | item id | rating | timestamp Các dấu thời gian unix giây kể từ 01/01/1970 theo UTC u.info - Số người users, items, and rating u tập liệu u.item - Thông tin items (movies, nhãn có dạng: movie id | movie title | release date | video release date | IMDb URL | unknown | Action | Adventure | Animation | Children's | Comedy | Crime | Documentary | Drama | Fantasy | Film-Noir | Horror | Musical | Mystery | Romance | Sci-Fi | Thriller | War | Western | movie id sử dụng tập liệu u.data u.genre - Một danh sách thể loại phim u.user - thông tin cá nhân user; nhãn có dạng: user id | age | gender | occupation | zip code user id người sử dụng tập liệu u.data u.occupation - Danh sách ngành nghề u1.base 943 users, 1650 items, 80.000 ratings u1.test 459 users, 1410 items, 20.000 ratings - Bộ liệu u.data tách thành ui.base ui.test (với i=1 5) 44 u2.base 943 users, 1648 items, 80.000 ratings u2.test 653 users, 1420 items, 80.000 ratings u3.base 943 users, 1650 items, 80.000 ratings u3.test 869 users, 1423 items, 80.000 ratings u4.base 943 users, 1660 items, 80.000 ratings u4.test 923 users, 1394 items, 80.000 ratings u5.base 943 users, 1650 items, 80.000 ratings u5.test 927 users, 1407 items, 80.000 ratings để làm liệu huấn luyện kiểm tra mku.sh Mỗi u1, ,u5 có kiểm tra riêng biệt Bảng 3.1: Định dạng liệu huấn luyện kiểm tra Movielens mku.sh - Một kịch để tạo tất liệu từ data 3.2 Phương pháp thực nghiệm 3.2.1 Môi trường thực nghiệm Tôi tiến hành thực nghiệm dựa sở sau:  Cấu hình máy: Chip Intel(R) Core i3, Ram 2GB, 32-bit  Ngôn ngữ lập trình: Python  Phần mềm hỗ trợ: Python 2.7.8 Pycharm 3.4.1, cmd Windows  Tập liệu sử dụng để thực nghiệm: Movielens gói liệu 100.000 đánh giá đánh giá 1000 người dùng với 1700 phim  Các phương pháp, thuật toán để tiến hành thực nghiệm đánh giá: Manhattan , Euclidean, Pearson, Cosine, K-nearest neighbor thuật toán SGD 3.2.2 Phương pháp tiến hành thực nghiệm Để tiến hành so sánh phương pháp dựa vào liệu 100.000 đánh giá Movielens để thực nghiệm Tôi tiến hành thực nghiệm bước sau với phương pháp thuật toán nghiên cứu trình bày luận văn mục đích thực nghiệm nêu: đầu tiên, sử dụng tập u1.test làm tập liệu kiểm tra u1.base làm tập liệu huấn luyện để tiến hành thực nghiệm: dự đoán đánh giá r x người dùng dựa vào tập liệu huấn luyện u1.base Như vậy, với người dùng u i có hai giá trị là: dự đoán đánh giá rx đánh giá thực tế rij Chúng sử dụng hàm sai số RMSE để tiến 45 hành tính giá trị sai số dự đoán so với giá trị thực tế r ij Sau thực nghiệm với tập liệu u1.test thu giá trị RMSE Để kết thực nghiệm đạt hiệu tiến hành việc kiểm thử lặp lặp lại nhiều lần cách: chọn tập liệu kiểm tra khác để tiến hành thực nghiệm dựa phương pháp nêu Tôi tiến hành tương tự với tập liệu ui.test ui base thu giá trị RMSEi (với i=2 5) Như vậy, với phương pháp thu giá trị RMSE i (với i=1 5) tương ứng sau lần thử nghiệm Từ đây, tìm sai số trung bình phương pháp theo công thức tính RMSEtb Đối với phương pháp tìm giá trị RMSE tb tương ứng, so sánh mức độ hiệu phương pháp dựa vào giá trị RMSE tb, giá trị RMSEtb nhỏ phương pháp hiệu nhiêu ngược lại 3.3 So sánh đánh giá kết thực nghiệm 3.3.1 Kết thực nghiệm Sau tiến hành thực nghiệm tập liệu kiểm tra khác phương pháp là: Manhattan , Euclidean, Pearson, Cosine, K-nearest neighbor thuật toán SGD thu kết sai số bình phương RMSE với tập liệu kiểm tra RMSEtb lần kiểm thử phương pháp thể bảng 3.2 sau: Phương pháp Tập liệu test RMSETB Tập số Tập số Tập số Tập số Tập số Manhattan 1.861018 1.675538 1.612171 1.849643 1.927305 1.785135 Euclidean 2.070323 1.952278 1.838074 1.933170 1.991735 1.957116 Pearson 1.368335 1.353072 1.349650 1.347620 1.352212 1.354178 Cosine 1.382027 1.291765 1.306816 1.388582 1.386989 1.351236 K-nearest neighbor 1.338633 1.354632 1.339307 1.296286 1.322525 1.330277 Thuật toán SGD 1.19697 0.94966 1.038228 0.81295 1.26116 0.9704 46 Bảng 3.2: Giá trị RMSE RMSEtb thực nghiệm tập liệu Movielens Biểu đồ biểu thị giá trị RMSE phương pháp kiểm thử tập liệu kiểm tra khác tập liệu huấn luyện khác Biểu đồ 3.1: RMSE sau lần thực nghiệm với tập liệu Movielens Biểu đồ biểu thị giá trị RMSEtb phương pháp thuật toán nêu Biểu đồ 3.2: RMSEtb sau lần thực nghiệm với tập liệu Movielens 3.3.2 So sánh đánh giá 47 Từ số liệu kết thực nghiệm đưa trên, ta đưa số nhận định sau: 3.3.2.1 Các phương pháp sở  Tính hiệu quả: Đối với phương pháp ta thấy K-nearest neighbor cho kết RMSEtb nhỏ nhất, từ nghiêm cứu tìm hiểu việc phân tích giá trị sau thực nghiệm ta thấy phương pháp K-nearest neighbor bên cạnh việc kế thừa ưu điểm phương pháp trước vấn đề lọc cộng tác mà khác phục hạn chế lọc cộng tác dựa người dùng  Tính ổn định: Tập liệu Movielens sử dụng để thực nghiệm có đặc điểm thưa thớt người dùng có hành vi khác Căn vào kết kiểm thử thuật toán lọc cộng tác bảng cách tiếp cận phương pháp khác cho kết đo lường khác , thử nghiệm tập liệu kiểm tra khác cho giá trị sai số RMSE khác Tuy nhiên ta thấy qua biểu đồ phương pháp Pearson, Cosine KNN có tính ổn định hai phương pháp Manhattan Euclidean Nghĩa dù tiến hành tập liệu kiểm tra huấn luyện khác sai số RMSE phương pháp Pearson, Cosine KNN nhỏ đáng kể Kết thu lý nghiên cứu trình bày chương hai phương pháp Pearson, Cosine đạt hiệu sử dụng với tập liệu thưa thớt có hành vi khác việc đánh giá sản phẩm trường hợp phương pháp đạt hiệu so với phương pháp Manhattan Euclidean phù hợp tập liệu dày đặc 3.3.2.2 Thuật toán SGD Qua quan sát bảng 3.2, biểu đồ 3.1 biểu đồ 3.2 ta thấy kết sai số bình phương trung bình RMSE phương pháp thấy thuật toán SGD đạt hiệu vượt trội tối ưu nhiều so với phương pháp khác Bên cạnh đó, phương pháp trình bày chương quan tâm đến hai yếu tố người dùng sản phẩm, phương pháp nhân tố tiềm ẩn hay cụ thể thuật toán SGD quan tâm chi tiết nhiều cụ thể đến nhân tố như: thể loại, đạo diễn, diễn viên… sâu vào đặc tính người dùng sản phẩm Ngoài ra, SGD sử dụng số mẫu liệu huấn luyến truy cập toàn liệu huấn luyện, trọng số θ cập nhật từ mẫu huấn luyện nên thuật toán SGD mang lại hiệu thời gian đáng kể so với phương pháp khác Bên cạnh đó, độ tiệm cận nhanh, mang lại giá trị xấp xỉ gần tối ưu 48 ngẫu nhiên (phụ thuộc vào mẫu huấn luyện lựa chọn) Từ cải thiện hiệu tối đa hệ thống khuyến nghị đưa khuyến nghị hữu ích cho người sử dụng 49 KẾT LUẬN Kết đạt được:  Nghiên cứu tổng quát hệ thống khuyến nghị: kỹ thuật lọc cho hệ thống khuyến nghị, luận văn nghiên cứu tập trung kỹ thuật lọc cộng tác  Trình bày nghiên cứu phương pháp để tìm kiếm một nhóm người dùng gần nhất: + Phương pháp bản: Manhattan, Euclidean, Pearson, Cosine + Phương pháp cải tiến lọc cộng tác: K-nearest neighbor dựa vào người dùng K-nearest neighbor dựa vào sản phẩm  Luận văn trình bày mô hình nhân tố tiềm ẩn với phương pháp ma trận thừa số, cụ thể thuật toán SGD (Stochastic gradient descent) mục đích để cực tiểu hóa hàm sai số, áp dụng đạt hiệu tập liệu huấn luyện lớn, tối ưu thời gian đạt hiệu cao hệ thống khuyến nghị  Sau đó, tiến hành thực nghiệm tập liệu Movielens gói liệu 100.000 đánh giá đánh giá 1000 người dùng với 1700 phim  Cuối cùng, phân tích, so sánh đánh giá tính hiệu phương pháp thuật toán trình bày dựa kết thực nghiệm Hướng nghiên cứu luận văn Hướng nghiên cứu tập trung vào việc kết hợp kỹ thuật lọc cộng tác kỹ thuật lọc dựa vào nội dung, sau tiến hành kiểm nghiệm hiệu Đây chủ đề mang tính thời cao cộng đồng nghiên cứu lọc thông tin ... phim mà người dùng thực đánh giá Dựa người dùng: phương pháp dự đoán đánh giá người dùng u cho sản phẩm p’ dựa người dùng “láng giềng” với người dùng u “Láng giềng” với người dùng u người dùng khác... pháp tính độ tương tự người dùng Cho ui người dùng thời, ua người dùng cần tính độ tương tự với người dùng u i, rip đánh giá người dùng ui cho sản phẩm p rap đánh giá người dùng u a cho sản phẩm... 1: Để tìm k người dùng gần sử dụng bốn phương pháp nêu để tính khoảng cách người dùng u a với người dùng khác Sau có khoảng cách u a ui d(ua, ui) dựa vào khoảng cách để tìm k người dùng gần (ux1,ux2,…uxk)

Ngày đăng: 24/08/2017, 21:26

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w