RepositoryC++USHoa Kỳ
zdebruine

zdebruine/RcppML

Rcpp Machine Learning: Fast robust NMF, divisive clustering, and more

124sao
21fork
8issue
1lượt xem

🚀 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

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryPython
benedekrozemberczki/awesome-community-detection

A curated list of community detection research papers with implementations.

2.5k
Dec 20, 2025
RepositoryR
TheAlgorithms/R

Collection of various algorithms implemented in R.

1.2k
Jun 12, 2026
RepositoryMATLAB
hiroyuki-kasai/NMFLibrary

NMFLibrary: Non-negative Matrix Factorization (NMF) Library: Version 2.1

344
Feb 24, 2023
RepositoryPython
benedekrozemberczki/M-NMF

An implementation of "Community Preserving Network Embedding" (AAAI 2017)

121
Nov 6, 2022
RepositoryR
keyATM/keyATM

An R package for Keyword Assisted Topic Models

120
Jan 19, 2026
RepositoryTypeScript
freeCodeCamp/freeCodeCamp

freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

457.9k
Oct 25, 2026
RepositoryPython
donnemartin/system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

375.7k
Sep 15, 2026
RepositoryTypeScript
nilbuild/developer-roadmap

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

370.4k
Oct 25, 2026
RepositoryPython
practical-tutorials/project-based-learning

Curated list of project-based tutorials

288.1k
Oct 26, 2026