2

我需要對商品進行分類。你知道什麼價格比較引擎。無監督分類 - 獲得特徵向量

我們已經獲得了特徵向量。他們不是最好的,但很不錯。我最後一步是在不知道有多少個集羣的情況下對它們進行分類。所以像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是另一個集羣(每個集羣意味着現實生活中的商業產品)。所以該算法需要使用這些特徵向量正確分類。

該算法不能依賴於特徵向量的行順序或將有多少類。我們什麼都不知道,只有特徵向量。

等待你對此分類問題的建議。謝謝。

回答

2

Adaptive Resonance Theory是你的問題的簡短答案。與KMeans不同,您不需要事先設置羣集數量。輸入是一組特徵向量,可以是二進制(ART 1算法)或連續(ART -2A,ARTMAP等),輸出是集羣中文檔的分類。

+0

正在檢查。謝謝。 – MonsterMMORPG 2012-04-05 20:49:07

+0

另請查看http://drdobbs.com/architecture-and-design/184405174,瞭解ART 1 BUT對於二進制輸入的簡單實現。你會感受到它是如何工作的。 – Yavar 2012-04-05 20:51:43

+0

是的,我正在尋找一個例子。立即檢查二進制版本。 – MonsterMMORPG 2012-04-05 20:54:22

0

我可以確定需要解決的3個主要問題。

1)從您提供的示例中,似乎所有矢量的維數都是7.如果不是這種情況,可以使用PCA將維數(未知但有界)減少到固定值尺寸。這可以確保您可以使用聚類算法而不需要大量修改。

2)爲了克服不知道簇大小的事實,可以使用DBSCAN。它需要兩個參數:最小簇大小和鄰域大小。

3)您需要一個具有步驟1)的維度的表示空間,羣集算法可以在該維度上操作。爲此,您必須考慮從這些樣本構建特徵向量的方法。從你展示的例子看來,訓練矢量似乎是而不是任意填充的符號性。在我看來,儘管你說你可能會使用啓發式。但是,如果這不可能,只需選擇數字表示作爲特徵值。