语言:中文 最后更新:2026-05-09 路径:
statgpu.unsupervised.TSNE
TSNE 通过匹配高维 Gaussian affinity 和低维 Student-t affinity 来学习 embedding。Phase 3A 实现 dense exact Euclidean t-SNE。
从 statgpu.unsupervised 导入:
from statgpu.unsupervised import TSNEt-SNE 最小化 KL divergence:
高维条件概率通过二分搜索 bandwidth,使每行概率满足目标 perplexity。低维 affinity 定义为:
embedding 使用 early exaggeration、momentum 和逐坐标 adaptive gains 优化。
n_components、perplexity、early_exaggeration、learning_rate、max_iter、init、random_state、metric、device。
from statgpu.unsupervised import TSNE
embedding = TSNE(perplexity=30, device="cpu").fit_transform(X)
embedding_gpu = TSNE(perplexity=30, device="torch").fit_transform(X_torch)这里实现的是 exact dense t-SNE。Barnes-Hut、FFT/FIt-SNE 和 openTSNE 加速路径只作为外部 baseline。
embedding_、kl_divergence_、n_iter_、n_features_in_。
Phase 3A 不支持 sparse、非 Euclidean metric、Barnes-Hut、FFT/FIt-SNE 和新样本 transform。
测试:dev/tests/test_unsupervised_tsne.py。
Benchmark:dev/benchmarks/benchmark_unsupervised_phase3.py。
Baseline:sklearn exact TSNE、openTSNE,以及远程可用时的 cuML TSNE。
- van der Maaten, L., & Hinton, G. (2008). Visualizing data using t-SNE. Journal of Machine Learning Research, 9, 2579-2605.
- Linderman, G. C., Rachh, M., Hoskins, J. G., Steinerberger, S., & Kluger, Y. (2019). Fast interpolation-based t-SNE for improved visualization of single-cell RNA-seq data. Nature Methods, 16, 243-245.