現在的項目是在做的超大規模的矩陣的奇異值分解,其目的是對數據進行求特徵值,做爲聚類算法的輸入
因爲很久以前就想過聚類單詞,所以對聚類算法比較感興趣。目前只聽說了K-means算法,大概的思想就是,把每個數據看做向量空間中的點,然後進行聚類。問題是怎麼得到這個數據的表示向量。做奇異值分解的目的就是得到一個特徵向量可以表示這個數據。
下面是我對這個特徵向量的一些理解:
1.將一組數據用相應的一組特徵向量來表示,那麼,特徵向量之間的關係一定要與數據之間的關係相一致(比如距離)
2.先不考慮怎麼得到特徵向量,特徵向量的維數 就值得考慮一下:
如果只有2個數據,那麼他們之間的關係只有一組,只需要用一維的向量空間就可以表示他們之間的相對位置關係;
如:x-y=1 可以表示2個數據之間的關係,並且只要確定其中一個,另一個就確定了
如果有3個數據,那麼他們之間的關係有3組,用2維的向量空間可以表示他們之間的相對關係;
如:3個數據兩兩之間距離相等,那麼就可以用一個等邊三角形來表示他們之間的位置關係,並且只要確定其中2個點,另外一個就確定了
....
依次類推,有N個數據就有N(N-1)/2 組關係,可以用N-1維的向量空間表示他們之間的相對位置關係。
實際上是不是用N-1維的空間表示N個數據之間的關係,我也不知道,以上純屬個人猜想
除了以上猜想以外,我還十分想只有,有沒有不是基於特徵向量的聚類算法,
比如直接基於數據之間的距離矩陣的算法~