Cách tốt nhất để tính toán phân rã giá trị số ít (SVD) của ma trận dương rất lớn (65M x 3,4M) trong đó dữ liệu cực kỳ thưa thớt?
Ít hơn 0,1% của ma trận là khác không. Tôi cần một cách:
- sẽ phù hợp với bộ nhớ (tôi biết rằng các phương thức trực tuyến tồn tại)
- sẽ được tính trong thời gian hợp lý: 3,4 ngày
- sẽ đủ chính xác tuy nhiên độ chính xác không phải là mối quan tâm chính của tôi và tôi muốn có thể kiểm soát số lượng tài nguyên tôi đưa vào đó.
Thật tuyệt vời khi có một thư viện Haskell, Python, C #, vv thực hiện nó. Tôi không sử dụng mathlab hoặc R nhưng nếu cần tôi có thể đi với R.