项目简介
本项目实现了流行的t-SNE算法(van der Maaten & Hinton [2008]),用于将高维数据进行可视化降维。通过保留数据点之间的相似性信息,把高维数据映射到低维空间(通常为二维或三维),便于数据的观察与分析。
项目的主要特性和功能
- 实现t-SNE算法核心,涵盖计算吸引力、梯度计算和迭代优化。
- 支持从文件读取图像和标签数据,也能将结果数据和默认配置信息写入文件。
- 包含距离计算、数据标准化和调试等辅助函数。
- 实现VP树加速最近邻搜索,还有配置参数管理、BH树实现等辅助组件。
安装使用步骤
假设用户已经下载了本项目的源码文件,可按以下步骤操作:
1. 从 http://yann.lecun.com/exdb/mnist/ 下载 train-images-idx3-ubyte 和 train-labels-idx1-ubyte 文件,并将其放在与 tsne
可执行文件相同的文件夹中。
2. 解压源码文件,在终端进入项目目录。
3. 执行 ./tsne SAMPLES THREADS
命令。例如,./tsne 15000 4
会对大小为 15000 的样本运行 t-SNE 算法,并使用 4 个线程;使用 ./tsne 60000
可处理所有图像,或使用任何无效值(如 ./tsne 0
)。
4. 首次执行会创建一个默认配置文件,之后可通过修改该文件中的值进行调试,确保格式为 "VAR /include/tsne/util.hpp
)。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】