Pythorch中的邻域成分分析。
torchnca的Python项目详细描述
躯干
由J.Goldberger,G.Hinton,S.Roweis,R.Salakhutdinov实现Neighbourhood Components Analysis。在
NCA学习数据集的线性变换,使得kNN在变换后的空间中的期望漏失性能最大化。在
安装
您可以使用pip安装torchnca:
pip install torchnca
美国石油学会
^{pr2}$降维
我们生成一个三维数据集,其中前2维是同心环,第3维是高斯噪声。我们用两个分量绘制了PCA、LDA和NCA的结果。在
请注意,PCA是如何未能投影出噪声的,这是三维中高噪声方差的结果。LDA还努力恢复同心模式,因为类本身不是线性可分离的。在
kNN on MNIST公司
我们计算了两种算法的分类误差、计算时间和存储成本:
- 原始784维MNIST数据集上的kNN(k=5)
- MNIST数据集学习的32维NCA投影的kNN(k=5)
Method | NCA + kNN | Raw kNN |
---|---|---|
Time | 2.37s | 155.25s |
Storage | 6.40 Mb | 156.8 Mb |
Error | 3.3% | 2.8% |
- 项目
标签: