Khai phá dữ liệu KDD 2007 dự đoán movie rating phương pháp SVD của simon funk

34 472 1
Khai phá dữ liệu KDD 2007   dự đoán movie rating   phương pháp SVD của simon funk

Đ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

COMPANY LOGO KDD CUP 2007 Movie Rating Prediction COMPANY LOGO Giới thiệu  Task - KDD Cup 2007 “Who rated what in 2006” mục đích  để dự đoán người dùng đánh giá phim năm 2006 (nghĩa phim anh ấy/cô quan tâm?) Nếu có lượng liệu lớn user movie, kết dự đoán đạt sử dụng vài thuật toán với liệu đa chiều COMPANY LOGO Mô tả liệu  Dataset Netflix Prize (Một website gợi ý movie) 100 triệu ratings, 480.000 users , 17770 movies thu thập từ tháng 10-1998 đến tháng 12-2005  Information -Ratings đánh giá thang điểm từ đến (1 = "bạn ghét nó" = "bạn yêu thích nó") -Thông tin người dùng đơn giản CustomerID -Thông tin Movies cho gồm: MovieID, YearOfRelease, Title COMPANY LOGO Mục tiêu  Missing Data - Dữ liệu biểu diễn dạng ma trận thưa mxn - Không phải tất người dùng đánh giá cho tất phim  Data mining methods - SVD based recommendation Sparse Rating Matrix - Item-item similarity based recommendation - Association Rules in Sequences * Sử dụng Root Mean Standard Error (RMSE) để đánh giá kết COMPANY LOGO Thử thách  Kích thước tập liệu lớn liệu chuẩn trước    100 lần Chỉ có khoảng 1% ma trận user-movie thấy, với đa số xếp hạng bị khuyết Có nhiễu tập liệu huấn luyện liệu test Phân phối xếp hạng cho người dùng tập liệu huấn luyện tập liệu kiểm tra khác Đặc biệt, người dùng có xếp hạng phổ biến tập test COMPANY LOGO Singular Value Decomposition COMPANY LOGO Phát biểu toán  SVD chuẩn:  Trong đó:    U ma trận trực giao với số chiều mxm V ma trận trực giao với số chiều nxn S gọi singular matrix, ma trận đường chéo mxn với đầu vào đường chéo số thực không âm Ma trận S xây dựng: COMPANY LOGO Phát biểu toán  Các cột U cột V gọi vector đơn trái  vector đơn phải A tương ứng SVD tính cách sử dụng tính toán sau:    Các vectơ đơn trái A tập hợp vector riêng trực giao AAT Các vectơ đơn phải A tập hợp vector riêng trực giao ATA Các giá trị đơn khác không A (được tìm thấy đầu vào đường chéo S) bậc hai giá trị riêng khác không hai ATA AAT COMPANY LOGO Ví dụ COMPANY LOGO Ví dụ COMPANY LOGO Incremental SVD Method  Được đề xuất Simon Funk dường thực thực tốt dễ dàng để tính toán, giải hai vấn đề  Nó đơn giản thuật toán gradient descent để tính xấp xỉ sử dụng đầu vào biết R  Chú ý lỗi dự đoán người sử dụng i cho phim j đơn giản (R Rapp)ij COMPANY LOGO Incremental SVD Algorithm  Thuật toán mô tả đầy đủ sau:     Một bậc xấp xỉ f chọn trước cho có f vector đặc trưng movies users Ma trận S trộn vào vector đặc trưng, lại ma trận U V Giá trị khởi tạo vector đặc trưng thiết lập ngẫu nhiên, ví dụ: 0.1 Giảm gradient sử dụng để tối thiểu hóa hàm vector đặc trưng theo users theo movies COMPANY LOGO Gradient Descent  Thuật toán:     Khởi tạo giá trị để huấn luyện (vector đặc trưng user/movie) với giá trị ban đầu tùy ý  Phải giá trị khác Cố gắng dự đoán rating tập liệu Sử dụng lỗi quy tắc cập nhật để cập nhật giá trị cho rating Lặp hội tụ  Không có thay đổi  Lặp đủ số lần COMPANY LOGO Gradient descent approach  Để giảm gradient, ta lấy đạo hàm bình phương lỗi pik sau fjk:  Ta có: Ta đặt E = (eij)2 (eij ) eij  eij  2eij  2eij   pik pik  pik     Vì Rapp= Puxf(Fmxf)T , nên ta có: (eij ) pik  2eij ( f jk )  2( R  Rapp ) f jk  Tương tự, ta có đạo hàm: (eij ) f jk  2eij ( pik )  2( R  Rapp ) pik COMPANY LOGO Gradient descent approach  Khi sử dụng gradient descent, Funk sử dụng thêm tham số  gọi tốc độ học (learning rate) nhân tử gradient, nên ta quy tắc cập nhật giảm gradient sau: pikt 1  pikt   f jkt 1  f jkt    (eij ) pik  (eij ) f jk  pikt  2 ( R  Rapp )ij f jkt  f jkt  2 ( R  Rapp ) ij pikt  Chúng ta sử dụng kết ma trận để dự đoán ratings tập test với công thức: k Rapp   pik f jk COMPANY LOGO SVD for Movie Rating Prediction  Ví dụ: COMPANY LOGO Thực nghiệm  Thử nghiệm tập liệu nhỏ:   2000 movies, 480189 users 10314269 rating (khoảng 10% kích thước tập liệu ban đầu)  Test: Dự đoán 3000 ratings COMPANY LOGO Thực nghiệm  Trong thí nghiệm này, sử dụng tỷ lệ học không đổi 0.015 COMPANY LOGO Thực nghiệm  Trong thí nghiệm này, tham số chuẩn hóa gán giá trị (tương ứng với không chuẩn hóa), 0.005, 0.010, 0.015 0.02 tương ứng Tất thí nghiệm thực sử dụng 25 đặc trưng Tỷ lệ học thiết lập 0.001 COMPANY LOGO Thực nghiệm  Trong thí nghiệm này, tỷ lệ học gán giá trị 0.0005, 0.0010, 0.0015, 0.0020 0.0025 tương ứng Tất thí nghiệm thực sử dụng 10 đặc trưng, giá trị cố định 0.015 cho tham số chuẩn hóa COMPANY LOGO Nhận xét  Phương pháp dường làm việc thực tốt, gần tất đội thi sử dụng phương pháp dạng hay dạng khác  Tất nhiên có thay đổi điều chỉnh khác để thực tốt hơn, bao gồm chuẩn hóa, sử dụng hàm khác để dự báo rating thay dùng phép nhân vô hướng (dot product) vector sở thích vector đặc trưng, làm tròn số, vv  Mặc dù chậm hội tụ chút, phương pháp thực tốt dạng thô COMPANY LOGO Hạn chế  Phương pháp đề xuất có nhiều tham số tự do:     Số đặc trưng Tốc độ học Tham số chuẩn hóa Nhiều giá trị khởi tạo khác  Hạn chế: làm cho việc tìm kiếm tập tốt thông số làm việc tốt cho tất trường hợp  Các thí nghiệm cho thấy rõ ràng overfitting vấn đề nghiêm trọng COMPANY LOGO Hiệu suất toàn liệu  Việc chạy thuật toán khoảng 30 sử dụng liệu  ban đầu Sử dụng phương pháp với tỷ lệ học 0.001, tham số chuẩn hóa 0.02, sử dụng trung bình dự đoán bản, thuật toán đạt 0,9261 RMSE, tốt khoảng 3% so với Cinematch Mặc dù điển hình vấn đề máy tính học tập, đặc biệt trường hợp này, thí nghiệm cho thấy kết hợp mù kết từ mô hình giống cho hiệu suất gần gần với mô hình tốt nhất, điều cho thấy mô hình khác làm việc tốt cho trường hợp khác COMPANY LOGO Kết chương trình  Đầu tiên, chương trình load toàn liệu tập training: COMPANY LOGO Kết chương trình  Kết dự đoán chương trình lưu file prediction.txt [...]... LOGO SVD for Movie Rating Prediction COMPANY LOGO Limitations of SVD method  Thật không may, có vấn đề nghiêm trọng nảy sinh trong việc áp dụng phương pháp SVD:  Tập dữ liệu được sử dụng R khá là thưa thớt, và SVD truyền thống không làm việc cho các ma trận quá thưa thớt đó:   Dữ liệu Netflix có 8.5 tỉ đầu vào, nhưng có đến 8.4 tỉ là dữ liệu rỗng (ta chỉ có 100 triệu ratings) Ngay cả khi có nhiều phương. .. Rapp ) ij pikt  Chúng ta sẽ sử dụng kết quả của 2 ma trận này để dự đoán ratings trong tập test với công thức: k Rapp   pik f jk 1 COMPANY LOGO SVD for Movie Rating Prediction  Ví dụ: COMPANY LOGO Thực nghiệm  Thử nghiệm trên tập dữ liệu nhỏ:   2000 movies, 480189 users 10314269 rating (khoảng 10% kích thước tập dữ liệu ban đầu)  Test: Dự đoán 3000 ratings COMPANY LOGO Thực nghiệm  Trong thí... cạnh  Xét ma trận R với dữ liệu đã cho user -movie- rating với 17000*500000 = 8.5 tỉ đầu vào Mỗi đầu vào không rỗng rij  R đại diện cho một rating đã biết của user i cho movie j SVD ở đây sẽ phân hủy R thành 2 ma trận : ma trận sở thích của người dùng và ma trận đặc trưng của các movie, như sau: COMPANY LOGO SVD for Movie Rating Prediction  Ruxm: ma trận chứa tất cả các    ratings thực do người dùng... Thiết lập dự đoán  Tính toán dự đoán cho người dùng ui một movie ij  Ở đây, ta có bổ sung thêm giá trị trung bình COMPANY LOGO Simon Funk s SVD Method COMPANY LOGO SVD for Matrix Approximation  SVD có nhiều ứng dụng, ở đây ta xét ứng dụng tìm một xấp      xỉ bậc-r cho một ma trận cho trước Vấn đề này có thể đơn giản được phát biểu như sau: Cho một ma trận A, tính toán một xấp xỉ bậc r A’ của ma...COMPANY LOGO Phát biểu bài toán COMPANY LOGO Thuật toán SVD trong lọc cộng tác  Step 1: Biểu diễn dữ liệu   Xác định ma trận user -movie ban đầu, R, kích thước mxn, chứa ratings của m users cho n movie Tiền xử lý ma trận R để gán giá trị cho dữ liệu thiếu Sau step 1 này, ta được row centered matrix A  Step 2: Xấp xỉ bậc thấp (Low-rank approximation)    Tính SVD của A, và chỉ giữ lại... vấn đề nghiêm trọng COMPANY LOGO Hiệu suất trên toàn bộ dữ liệu  Việc chạy thuật toán mất khoảng 30 giờ sử dụng các dữ liệu  ban đầu Sử dụng phương pháp này với một tỷ lệ học 0.001, một tham số chuẩn hóa của 0.02, và sử dụng trung bình là các dự đoán cơ bản, thuật toán đạt 0,9261 RMSE, tốt hơn khoảng 3% so với Cinematch Mặc dù đây là điển hình của các vấn đề máy tính học tập, đặc biệt là trong trường... chuẩn hóa COMPANY LOGO Nhận xét  Phương pháp này dường như làm việc thực sự tốt, và gần như tất cả các đội trong cuộc thi đều sử dụng phương pháp này trong dạng này hay dạng khác  Tất nhiên có những thay đổi và điều chỉnh khác nhau để thực hiện tốt hơn, bao gồm chuẩn hóa, sử dụng các hàm khác nhau để dự báo rating thay vì chỉ dùng một phép nhân vô hướng (dot product) của các vector sở thích và vector... thiểu hóa hàm đối với mỗi vector đặc trưng theo users và theo movies COMPANY LOGO Gradient Descent  Thuật toán:     Khởi tạo các giá trị để huấn luyện (vector đặc trưng user /movie) với giá trị ban đầu tùy ý  Phải là giá trị khác 0 Cố gắng dự đoán mỗi rating trong tập dữ liệu Sử dụng lỗi và quy tắc cập nhật để cập nhật giá trị cho rating tiếp theo Lặp cho đến khi hội tụ  Không có sự thay đổi... trận này sao cho chuẩn Frobenius của A – A’ là nhỏ nhất Ý tưởng: Thay vì sử dụng tất cả các giá trị riêng của S, chỉ sử dụng r giá trị đường chéo có nghĩa nhất Tính toán một ma trận xấp xỉ A’ bậc r của A sao cho A’ = U’S’V’T Trong đó: U' là mxr, S' là rxr, và V' là mxr Xấp xỉ này tối thiểu hóa chuẩn Frobenius: COMPANY LOGO Funk s SVD  SVD ở đây hơi khác một chút so với SVD vừa giới thiệu, đó là ma trận... sở thích và vector đặc trưng, làm tròn số, vv  Mặc dù chậm hội tụ một chút, phương pháp thực hiện khá tốt ngay cả dưới dạng thô COMPANY LOGO Hạn chế  Phương pháp đề xuất ở trên có nhiều tham số tự do:     Số đặc trưng Tốc độ học Tham số chuẩn hóa Nhiều giá trị khởi tạo khác  Hạn chế: làm cho việc tìm kiếm một tập tốt của các thông số đó sẽ làm việc tốt cho tất cả các trường hợp là không thể 

Ngày đăng: 20/08/2016, 10:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan