Cơ sở lý thuyết

Một phần của tài liệu Nghiên cứu kỹ thuật phân tích ma trận trong các hệ thống khuyến nghị (Trang 40)

3 Kĩ thuật phân tích ma trận cho hệ thống khuyến nghị

3.2.1Cơ sở lý thuyết

Mục tiêu của thuật toán SGD là tìm giá trị θ∗ ∈Rk (với k ≥1) mà tối thiểu hàm sai số L(θ), thuật toán này sẽ sử dụng các quan sát có nhiễu Lb0(θ) của L0(θ), các gradient của hàm sẽ được lấy với biến làθ, khởi tạo ban đầu với giá trịθ0, SGD sẽ điều chỉnh giá trị của tham số bằng việc lặp lại công thức cập nhật ngẫu nhiên:

θn+1 = [θn−εnLb0(θn)]

với n là kí hiệu số thứ tự của bước cập nhật và εn là một chuỗi giảm dần xác định lượng cập nhât (giá trị chuỗi cập nhật là không âm và hữu hạn) và −L0(θn) là hướng giảm có độ dốc lớn nhất, cònLb0(θn)là giá trị có nhiễu của nó. Hình dưới đây mô phỏng quá trình hoạt động của thuật toán SGD khi tham số θ nằm trong không gian 2 chiều.

Hình 3.1: Thuật toán SGD trong không gian 2 chiều

Lý thuyết xấp xỉ ngẫu nhiên chứng tỏ rằng với một số điều kiện ràng buộc thì nhiễu trong xấp xỉ gradient sẽ triệt tiêu và SGD sẽ hội tụ đến một tập các điểm bất động thỏa mãn L0(θ) = 0, tất nhiên các điểm bất động này có thể là cực tiểu, cực đại hay là các điểm yên ngựa và thường thì chúng sẽ hội tụ tại một điểm cực tiểu do tính có nhiễu của bài toán. Tuy nhiên, SGD chỉ là tìm ra một điểm cực tiểu mà không chắc đó là toàn cục nên có nhiều phương pháp được dùng để nâng cao khả năng tìm ra điểm này như chạy thuật toán SGD nhiều lần và mỗi lần xuất phát tại một điểm lấy ngẫu nhiên nào đó.

Trong thực tế ta có thể dùng thêm một số ràng buộc H ví dụ như phân tích ma trận không âm rất được quan tâm gần đâyH =θ :θ≥0. Các thuật toán này sẽ có bước cập nhật có dạng:

3.2 Thuật toán SGD 31

3.2.2 Phát biểu bài toán

Cho các ma trận với các tham số thể hiện số người dùng, số item và số các đánh giá của người dùng lên item đó, các ma trận được viết dưới dạng sau:

V ={vij}nw×nh Là ma trận đầu vào cần phân tích

W = [Wi] Là ma trận thành phần thứ nhất

H = [Hj] Là ma trận thành phần thứ hai Bài toán đặt ra là tìm ma trậnW và H sao cho:

Vm×n=Wm×k×HnT×k hay vij =hwi, hji với V là một ma trận rất thưa Ta định nghĩa: i) L2 (vij,wi,hj) = (vij − hwi, hji)2

là sai số của một giá trị phần tử vij ∈V với tích của 2 vector thành phần wi và hj

tương ứng của ma trận W và H. ii) Lemp(V, W, H) = 1nP

(i,j)∈IL2(vij, wi, hj)

là sai số tổng cộng của tất cả N phần tử đã biết so với ma trận W và H. Bài toán tìm nghiệm của phương trình:

(W, H) =argmin(W,H)Lemp(V, W, H)

Sử dụng phương pháp chính quy hóa để tránh phù hợp trội và nghiệm hội tụ sử dụng hàm sai số:

Lregλ (V, W, H) = Lemp(V, W, H) +λ(kWk2+kHk2)

Một phần của tài liệu Nghiên cứu kỹ thuật phân tích ma trận trong các hệ thống khuyến nghị (Trang 40)