我正在做一个项目,作为我课堂课程的一部分。它是一个高级数据库管理系统项目,它是这样的。
1)下载大量图片(1000,000)-->完成
2)根据它们的视觉相似性对它们进行聚类
a) 查找每个图像的直方图 --> 完成
b)现在根据它们的视觉相似性对图像进行分组(聚类)。
现在,我遇到了第 2b 部分的问题。这是我所做的:
A)我使用 matlab 找到了每个图像的直方图,现在使用一维向量(16 X 16 X 16)来表示它。单个向量中有 4096 个值。
B)我生成了一个 ARFF 文件。它具有以下格式。有 1000,000 个直方图(每个图像 1..因此文件中有 1000,000 行)和每行 4097 个值(image_name + 4096 个双值表示直方图)
C) 文件大小为 34 GB。最大的问题:我到底要如何聚类这个文件???
我尝试使用 WEKA 和其他在线工具。但他们都挂了。Weka 卡住并说“正在读取文件”。
我的桌面上有 8 GB 的 RAM。我无权访问任何集群。我尝试使用谷歌搜索,但找不到任何关于聚类大型数据集的有用信息。如何对这些条目进行聚类?
这就是我的想法:
方法一:
我应该分批做 50,000 个吗?就像,对前 50,000 个条目进行聚类。找到尽可能多的可能集群,称它们为 k1,k2,k3...kn。
然后选择接下来的 50,000 个并将它们分配给这些集群之一,等等?这将是所有图像的准确表示吗?因为,聚类仅基于前 50,000 张图像!
方法二:
上述过程是否使用随机 50,000 个条目?
任何一个输入?
谢谢!
编辑1:
可以使用任何聚类算法。