【发布时间】:2019-04-03 15:58:17
【问题描述】:
我正在写一篇论文,试图根据电影海报的视觉特征对它们进行聚类。目标是对看起来相似的电影海报进行聚类。
为了获得海报“外观”的定量描述,我使用预训练的 VGG16 CNN 为所有海报提取了 25088 个特征。这些特征存储在具有维度的矩阵中(#电影海报,25088)。
基于我想要提取的特征:
- 创建可在推荐场景中提取的类似电影海报的存储桶/集群。
- 获取与给定海报最相似的 n 个海报的列表(例如,n 个与马达加斯加海报最相似的海报)。
我将使用的聚类算法是K-means,我已经使用剪影系数评估了聚类的质量。
我尝试了以下方法:
- 使用 K-means 的原始特征进行聚类(使用余弦相似度)
- 在聚类之前进行 PCA(10 个组件)
- 在聚类之前进行 NMF(10 个组件)
- 计算相似度矩阵以获得 n 个最相似的电影海报列表。
我正在努力寻找最好和最简单的解决方案。因此,我有两个问题:
- 与原始数据的 0.01 相比,使用 PCA 和 NMF 会产生更高的剪影系数(分别为 0.2 和 0.35)。那是因为通过 PCA 和 NMF 丢弃了很多方差吗?我担心会出现这种情况,因为轮廓系数上升,因为我减少了 PCA 和 NMF 中的组件数量。
- 为了获得 n 个最相似海报的列表,我计算了一个相似度矩阵,从中打印与给定电影具有最高余弦相似度的电影。有没有办法在不计算相似度矩阵的情况下做到这一点?在我看来,这应该可以使用 PCA 和 NMF 的输出矩阵中的信息来实现。
【问题讨论】:
标签: cluster-analysis conv-neural-network cosine-similarity unsupervised-learning dimensionality-reduction