昨天发了一个旅行家问题的算法贴,V 友一致认为不能算算法贴,本身属于 NP 困难问题没什么确切算法可言。
最后想了想,因为本质需要完成的是分类任务,既然无法求得理论上最完美的分类解,那只能用其他办法尝试逼近了,目前想到比较简单的做法是把高维特征向量用 TSNE 降维,然后跑 kmeans 分类。
对机器学习算法大部分不求甚解,于是做了调包侠,用 sklearn 里写好的 tsne 跑。但是刚才跑了几个测试数据感觉都不太对,有没有机器学习算法大佬来指点一下
====================================================一个简单的示例代码
from sklearn.manifold import TSNE
import numpy as np
X = [
[10, 56, 12 , 10, 56, 12],
[10, 56, 12 , 10, 56, 12],
[80, 21, 92 , 80, 21, 92],
[21, 30, 53 , 21, 30, 53],
[11, 81, 15 , 11, 81, 15],
[11, 81, 15 , 11, 81, 14]
]
model = TSNE(n_components=3 ,learning_rate = 1000 , n_iter = 1000 , init = 'pca')
Y = model.fit_transform(X)
====================================================得到结果
[[-199.75327 -165.53574 -241.92471 ]
[ 171.09433 -41.500977 117.659996]
[ 362.16272 397.58792 34.34646 ]
[-256.5073 -221.04861 304.41156 ]
[ -26.240019 322.07495 -296.1156 ]
[-339.0215 261.51828 109.22412 ]]
====================================================
如题,我尝试将模拟的六维数据降到三维,数据完全是随机生成的,并没有什么实际意义,但是数据中一个关键点是,第一和第二组数据完全一致,倒数第一和倒数第二组数据只有极微弱差距。
所以按照理论上,我希望得到的降维数据中,第一和第二个结果应该是完全一致,或者说是非常相似的。 但是跑了几次得到的结果都是相差非常远。想问问带佬们这是为什么,这个结果是正常的吗还是我写错了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.