United Stateszdebruine/RcppML
Rcpp Machine Learning: Fast robust NMF, divisive clustering, and more
🚀 RcppML: NMF siêu tốc cho dữ liệu thưa lớn, đa phân phối và GPU
RcppML là gói R cho NMF không âm (Non-negative Matrix Factorization), SVD/PCA cắt tỉa, và phân cụm chia đôi, tối ưu cho ma trận thưa và dày lớn.
RcppML phân tích ma trận A thành hai thành phần không âm nhỏ hơn: A ≈ W · diag(d) · H, trong đó W (đặc trưng × k) và H (k × mẫu) được chuẩn hóa để các cột/hàng có tổng đơn vị, qua ma trận đường chéo d. Dự án hỗ trợ sáu phân phối thống kê, chọn hạng số tự động qua chéo xác thực, tăng tốc GPU CUDA, streaming ngoại tại bộ nhớ, và API đồ thị FactorNet cho các đường ống NMF đa dạng thức và sâu.
✨ Điểm nổi bật
- NMF nhanh: Dùng giải thuật ALS, coordinate descent hoặc Cholesky NNLS, song song OpenMP qua thư viện Eigen C++
- Sáu phân phối thống kê: Gaussian, Generalized Poisson, Negative Binomial, Gamma, Inverse Gaussian, Tweedie – qua IRLS
- Chéo xác thực tự động: Dùng mặt nạ giữ phần tử ngẫu nhiên để chọn hạng số k
- Tăng tốc GPU: Hỗ trợ CUDA (cuBLAS/cuSPARSE), tự động chuyển về CPU khi không có GPU
- Streaming ngoại tại bộ nhớ: Đọc dữ liệu lớn từ tệp
.spz(StreamPress) khi vượ quá RAM - FactorNet graph API: Xây dựng pipeline NMF đa dạng thức, sâu và nhánh
- SVD cắt tỉa: Năm phương pháp: deflation, Krylov, Lanczos, IRLBA, randomized
- Phân cụm chia đôi: Dùng phân rã hạng-2 đệ quy
💡 Vì sao đáng chú ý
RcppML khác biệt ở khả năng hỗ trợ sáu phân phối thống kê khác nhau qua IRLS, phù hợp với từng loại dữ liệu thực tế như đếm ký (scRNA-seq, mining văn bản), dữ liệu dương liên tục, hoặc dữ liệu có phân phối lệch phải. Đặc biệt, hỗ trợ mô hình zero-inflation cho dữ liệu scRNA-seq dòng giọt, ưữc lượng xác suất dropout cấu trúc riêng biệt. Kết hợp với chéo xác thực ngẫu nhiên dạng "speckled", người dùng có thể chọn hạng số k tối ưu một cách chủ quan. Với tăng tốc GPU và streaming ngoại tại bộ nhớ, RcppML xử lý hiệu quả cả ma trận khổng lồ vượ quá RAM.
#Rcpp #NMF #MachineLearning #SparseMatrix #TiniX
Similar Projects
Discover other similar projects and AI models.
A curated list of community detection research papers with implementations.
NMFLibrary: Non-negative Matrix Factorization (NMF) Library: Version 2.1
An implementation of "Community Preserving Network Embedding" (AAAI 2017)
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Interactive roadmaps, guides and other educational content to help developers grow in their careers.