我试图找出最好的方法,根据以往的分类推荐图片,使用k均值聚类。我所做的是映射一组图像的RGB值,对这些RGB值执行k均值聚类分析,并在每个图像上附加一个“评级”。这就产生了Voronoi细胞类似于这个图。我已经将集群中心和评级存储在我的“培训集”中。
下一步是拍摄一个新的图像,并根据以前的图像集进行推荐。我不知道该怎么做。我想要实现协作过滤过程吗?还是需要对数据执行更多的处理?
不确定这是否重要,但我在项目中使用Apache。谢谢!
编辑:协同过滤可能不是最好的方式进行,因为正在比较的功能,为产品使用的不仅仅是评级。我需要比较一下相似之处。我猜这会牵涉到大规模的矩阵运算?
Edit2:这里的一些反馈是很棒的。我想的是训练两个数据集(“是”图像和“否”图像的评分),然后使用Spark的computeCost函数来开发图像比较的方差/偏差值。最后一步将比较图像是否更类似于“是”数据集或“否”数据集,然后提出最终建议。我刚开始机器学习,所以我可能会想太多了。
发布于 2015-01-08 18:49:28
我想用我的最后解决方案来回答我自己的问题。我意识到,虽然我可以从RGB值的k均值聚类中获得一些部分有意义的数据,但问题是推荐不是基于图像的有意义的特征。它在未来可能对其他方面(如照明或“亮度”)有用。
最后的解决方案是使用EigenFaces进行图像学习。下面这篇文章对我理解基本知识和开始学习是最有帮助的:
https://softwareengineering.stackexchange.com/questions/268041
复制相似问题