【发布时间】:2016-09-27 11:43:53
【问题描述】:
我正在尝试使用以下代码段对一组图像应用 k-means 聚类(图像加载为 float torch.Tensors):
print('[Clustering all samples...]')
local points = torch.Tensor(trsize, 3, 221, 221)
for i = 1,trsize do
points[i] = trainData.data[i]:clone() -- dont want to modify the original tensors
end
points:resize(trsize, 3*221*221) -- to convert it to a 2-D tensor
local centroids, counts = unsup.kmeans(points, total_classes, 40, total_classes, nil, true)
print(counts)
当我观察 counts 张量中的值时,我观察到它包含意外值,以某些条目的形式超过 trsize,而 documentation 表示 counts 存储每个质心。我预计这意味着counts[i] 等于trsize 中属于质心centroids[i] 的集群的样本数。我是不是这样假设错了?
如果确实如此,那么样本到质心不应该是一个硬分配(即不应该将counts[i] 和trsize 相加,显然情况并非如此与我的聚类)?我在这里遗漏了什么吗?
提前致谢。
【问题讨论】: