【问题标题】:Unsupervised classification - feature vectors are obtained无监督分类——获得特征向量
【发布时间】:2012-04-19 14:25:45
【问题描述】:

我需要对商业产品进行分类。您知道价格比较引擎的作用。

我们已经获得了特征向量。它们不是最好的,但还不错。我的最后一步是在不知道有多少簇的情况下对它们进行分类。所以像 k-means 这样的算法是行不通的,因为它们需要有多少类。

所以这里是一组特征向量的例子。它们在这里是有序的(例如),但我需要一个不依赖于任何顺序的算法。

#################################################
47 - ddr2;asus;1066;g41;am;p5qpl;775;
48 - g41;p5qpl;asus;am;ddr2;vga;anakart;
49 - intel;anakart;ddr2;1066;p5qpl;asus;am;
50 - p5qpl;ddr2;asus;am;g41;vga;anakart;
51 - ddr2;asus;1066;g41;am;p5qpl;775;
52 - g41;p5qpl;1066;am;ddr2;asus;anakart;
53 - p5qpl;ddr2;1066;am;g41;asus;sata;
54 - g41;p5qpl;1066;am;asus;ddr2;sata;
###################################################
55 - engtx480;asus;384bit;2di;gddr5;vga;16x;
56 - 2di;karti;384bit;asus;engtx480;ekran;pci;
57 - asus;engtx480;2di;vga;gddr5;384bit;16x;
58 - 2di;karti;engtx480;384bit;asus;gddr5;1536mb;
59 - engtx480;asus;384bit;2di;gddr5;vga;16x;
60 - engtx480;asus;384bit;2di;gddr5;vga;16x;
####################################################
61 - ray;blu;ihbs112;siyah;bulk;dvd;sata;
62 - ihbs112;ray;blu;on;lite;yazici;kutusuz;
63 - ihbs112;blu;ray;lite;on;siyah;bulk;
64 - blu;ihbs112;ray;lite;on;siyah;yazici;
65 - liteon;ihbs112;bd;yazma;hizi;12x;max;
66 - ihbs112;ray;blu;on;lite;bulk;dvd;
67 - etau108;dvd;siyah;lite;on;rw;ihbs112;
68 - ihbs112;liteon;bd;yazma;hizi;12x;max;
69 - ihbs112;ray;blu;lite;on;siyah;bulk;
#####################################################

当人类看起来时,只需使用这些特征向量就可以很容易地对产品进行分类。但我需要通过算法来实现它。而且我还需要使用不需要任何先验信息的算法来实现它,只需使用特征向量。

从上面的特征向量集中,47-54 是一个簇,55-60 是另一个簇,61-69 是另一个簇(每个簇表示现实生活中的商业产品)。所以算法需要使用这些特征向量对它们进行正确分类。

算法不能依赖于特征向量的线序或有多少类。我们什么都不知道,我们只有特征向量。

等待您对此分类问题的建议。谢谢。

【问题讨论】:

    标签: algorithm text cluster-analysis classification unsupervised-learning


    【解决方案1】:

    我可以确定需要解决的 3 个主要问题。

    1) 从您提供的示例来看,您的所有向量的维数似乎都是 7。如果不是这种情况,您可以使用 PCA 将(未知但有界的)维数减少到固定大小。这可确保您无需大量修改即可使用聚类算法。

    2) 要克服不知道集群大小的事实,可以使用DBSCAN。它需要两个参数:最小集群大小和邻域大小。

    3) 您需要一个具有步骤 1) 维度的表示空间,聚类算法可以在该空间上运行。为此,您必须想办法从这些样本中构造特征向量。从您展示的示例来看,训练向量似乎不是在符号方面是任意填充的。在我看来,尽管你在说什么,你也许可以使用启发式方法。但是,如果这不可能,只需选择数字表示作为特征值。

    【讨论】:

      【解决方案2】:

      Adaptive Resonance Theory 是对您问题的简短回答。与 KMeans 不同,您不需要预先设置集群的数量。输入是一组二元(ART 1 算法)或连续(ART -2A、ARTMAP 等)特征向量,输出是集群中文档的分类。

      【讨论】:

      • 还检查 drdobbs.com/architecture-and-design/184405174 以获得 ART 1 但二进制输入的简单实现。您将了解它的工作原理。
      • 是的,我正在寻找一个例子。现在正在检查二进制版本。
      • 好吧,这不起作用,因为“原型向量的数量,N,是您希望支持的最大集群数。”它需要数字,我们不知道任何数字。该文章的链接也已失效。
      • 它实际上不需要任何预先定义的集群数量,这是 K-Means 和 ART 之间的主要区别。也许你读错了什么。 ART 实际上是真正意义上的神经网络,其中未定义输出(即无监督学习)。是的,链接似乎有问题。
      • 那么你知道有什么好的资料可以解释这个神经网络是如何工作的吗?
      猜你喜欢
      • 2016-04-30
      • 2016-05-02
      • 2017-05-01
      • 2014-12-21
      • 1970-01-01
      • 2015-03-20
      • 2017-09-04
      • 2012-05-10
      • 2019-06-04
      相关资源
      最近更新 更多