matlab绝对均值,在K-Means算法中使用绝对皮尔逊相关作为距离(MATLAB)
這是為什么你不應(yīng)該將k-means與其他距離函數(shù)一起使用的一個很好的例子.
k-means不會使距離最小化.它最小化了平方一維偏差(SSQ)的總和.
這在數(shù)學(xué)上等于歐氏距離的平方,所以它確實最小化歐幾里德距離,作為數(shù)學(xué)副作用.它不會最小化任意其他距離,這不等于方差最小化.
在你的情況下,很高興看到它失敗的原因;我必須記住這是一個演示案例.
您可能知道,k-means(Lloyds,即)包含兩個步驟:通過最小平方偏差分配,然后重新計算均值.
現(xiàn)在問題是,重新計算均值與絕對皮爾森相關(guān)性不一致.
讓我們?nèi)蓚€向量,它們是-1相關(guān)的:
+1 +2 +3 +4 +5
-1 -2 -3 -4 -5
并計算平均值:
0 0 0 0 0
繁榮.它們的平均值并不完全相關(guān).事實上,Pearson相關(guān)性甚至不再適用于此向量,因為它的方差為零……
為什么會這樣?因為你把k-means誤解為基于距離.它實際上是基于算術(shù)平均值的.算術(shù)平均值是最小二乘(!!)估計量 – 它最小化偏差平方和.這就是為什么平方歐幾里德距離起作用的原因:它優(yōu)化了與重新計算均值相同的數(shù)量.在兩個步驟中優(yōu)化相同的目標(biāo)使得算法收斂.
而不是使用k-means,考慮使用k-medoids aka PAM,它可以在任意距離上工作.或許多其他聚類算法之一,包括DBSCAN和OPTICS.
總結(jié)
以上是生活随笔為你收集整理的matlab绝对均值,在K-Means算法中使用绝对皮尔逊相关作为距离(MATLAB)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BarTender批量打印序列号SN
- 下一篇: matlab 提取最小值,MATLAB中