1.cost function
1.1 距離
常見的為歐式距離(L1 norm)&&p=2,拓展的可以有閔可夫斯基距離(L2 norm)&&p=1:
當(dāng)p趨向于無窮的時(shí)候,切比雪夫距離(Chebyshev distance):
紅色的時(shí)候?yàn)榍斜妊┓蚓嚯x,藍(lán)色為閔可夫斯基距離,綠色為歐式距離。
1.2相似系數(shù)
夾角余弦及相關(guān)系數(shù),相關(guān)系數(shù)不受線性變換的影響,但是計(jì)算速度遠(yuǎn)慢于距離計(jì)算。
1.3dynamic time warping動(dòng)態(tài)時(shí)間規(guī)整
舉例子:
序列A:1,1,1,10,2,3,序列B:1,1,1,2,10,3
歐式距離:distance[i][j]=(b[j]-a[i])*(b[j]-a[i])來計(jì)算的話,總的距離和應(yīng)該是128
應(yīng)該說這個(gè)距離是非常大的,而實(shí)際上這個(gè)序列的圖像是十分相似的。因?yàn)樾蛄蠥中的10對(duì)應(yīng)得是B中的2,A中的2對(duì)應(yīng)的B中的10,導(dǎo)致計(jì)算膨脹,現(xiàn)在將A中的10對(duì)應(yīng)B中的10,A中的1對(duì)應(yīng)B中的2再計(jì)算,膨脹因素會(huì)小很多(時(shí)間前推一步)。
2.聚類算法
2.1分層聚類:
自上而下:所有點(diǎn)先聚為一類,然后分層次的一步一步篩出與當(dāng)前類別差異最大的點(diǎn)
自下而上:所有點(diǎn)先各自為一類,組合成n個(gè)類的集合,然后尋找出最靠近的兩者聚為新的一類,循環(huán)往復(fù)
數(shù)值類分類:(適用于計(jì)算量巨大或者數(shù)據(jù)量巨大的時(shí)候)
BIRCH算法,層次平衡迭代規(guī)約和聚類,
主要參數(shù)包含:聚類特征和聚類特征樹:
聚類特征:
給定N個(gè)d維的數(shù)據(jù)點(diǎn){x1,x2,....,xn},CF定義如下:CF=(N,LS,SS),其中,N為子類中的節(jié)點(diǎn)的個(gè)數(shù),LS是子類中的N個(gè)節(jié)點(diǎn)的線性和,SS是N個(gè)節(jié)點(diǎn)的平方和
存在計(jì)算定義:CF1+CF2=(n1+n2, LS1+LS2, SS1+SS2)
假設(shè)簇C1中有三個(gè)數(shù)據(jù)點(diǎn):(2,3),(4,5),(5,6),則CF1={3,(2+4+5,3+5+6),(2^2+4^2+5^2,3^2+5^2+6^2)}={3,(11,14),(45,70)}
假設(shè)一個(gè)簇中,存在質(zhì)心C和半徑R,若有xi,i=1...n個(gè)點(diǎn)屬于該簇,質(zhì)心為:C=(X1+X2+...+Xn)/n,R=(|X1-C|^2+|X2-C|^2+...+|Xn-C|^2)/n
其中,簇半徑表示簇中所有點(diǎn)到簇質(zhì)心的平均距離。當(dāng)有一個(gè)新點(diǎn)加入的時(shí)候,屬性會(huì)變成CF=(N,LS,SS)的統(tǒng)計(jì)值,會(huì)壓縮數(shù)據(jù)。
聚類特征樹:
內(nèi)節(jié)點(diǎn)的平衡因子B,子節(jié)點(diǎn)的平衡因子L,簇半徑T。
B=6,深度為3,T為每個(gè)子節(jié)點(diǎn)中簇的范圍最大不能超過的值,T越大簇越少,T越小簇越多。
名義分類:
ROCK算法:凝聚型的層次聚類算法
1.如果兩個(gè)樣本點(diǎn)的相似度達(dá)到了閾值(θ),這兩個(gè)樣本點(diǎn)就是鄰居。閾值(θ)有用戶指定,相似度也是通過用戶指定的相似度函數(shù)計(jì)算。常用的分類屬性的相似度計(jì)算方法有:Jaccard系數(shù),余弦相似度
Jaccard系數(shù):J=|A∩B|/|A∪B|,一般用于分類變量之間的相似度
余弦相似度:【-1,1】之間,越趨近于0的時(shí)候,方向越一致,越趨向同一。
2.目標(biāo)函數(shù)(criterion function):最終簇之間的鏈接總數(shù)最小,而簇內(nèi)的鏈接總數(shù)最大
3.相似度合并:遵循最終簇之間的鏈接總數(shù)最小,而簇內(nèi)的鏈接總數(shù)最大的規(guī)則計(jì)算所有對(duì)象的兩兩相似度,將相似性最高的兩個(gè)對(duì)象合并。通過該相似性度量不斷的凝聚對(duì)象至k個(gè)簇,最終計(jì)算上面目標(biāo)函數(shù)值必然是最大的。
load('country.RData')
d<-dist(countries[,-1])
x<-as.matrix(d)
library(cba)
rc <-rockCluster(x, n=4, theta=0.2, debug=TRUE)
KNN算法:
先確定K的大小,計(jì)算出每個(gè)點(diǎn)之外的所有點(diǎn)到這個(gè)目標(biāo)點(diǎn)的距離,選出K個(gè)最近的作為一類。一般類別之間的歸類的話,投票和加權(quán)為常用的,投票及少數(shù)服從多數(shù),投票的及越靠近的點(diǎn)賦予越大的權(quán)重值。
2.2分隔聚類:
需要先確定分成的類數(shù),在根據(jù)類內(nèi)的點(diǎn)都足夠近,類間的點(diǎn)都足夠遠(yuǎn)的目標(biāo)去做迭代。
常用的有K-means,K-medoids,K-modes等,只能針對(duì)數(shù)值類的分類,且只能對(duì)中等量級(jí)數(shù)據(jù)劃分,只能對(duì)凸函數(shù)進(jìn)行聚類,凹函數(shù)效果很差。
2.3密度聚類:
有效的避免了對(duì)分隔聚類下對(duì)凹函數(shù)聚類效果不好的情況,有效的判別入?yún)⒅饕?:單點(diǎn)外的半徑2:?jiǎn)吸c(diǎn)外半徑內(nèi)包含的點(diǎn)的個(gè)數(shù)
DBSCAN為主要常見的算法,可優(yōu)化的角度是現(xiàn)在密度較高的地方進(jìn)行聚類,再往密度較低的地方衍生,優(yōu)化算法:OPTICS。
2.4網(wǎng)格聚類:
將n個(gè)點(diǎn)映射到n維上,在不同的網(wǎng)格中,計(jì)算點(diǎn)的密度,將點(diǎn)更加密集的網(wǎng)格歸為一類。
優(yōu)點(diǎn)是:超快,超級(jí)快,不論多少數(shù)據(jù),計(jì)算速度只和維度相關(guān)。
缺點(diǎn):n維的n難取,受分布影響較大(部分行業(yè)數(shù)據(jù)分布及其不規(guī)則)
2.5模型聚類:
基于概率和神經(jīng)網(wǎng)絡(luò)聚類,常見的為GMM,高斯混合模型。缺點(diǎn)為,計(jì)算量較大,效率較低。
GMM:每個(gè)點(diǎn)出現(xiàn)的概率:將k個(gè)高斯模型混合在一起,每個(gè)點(diǎn)出現(xiàn)的概率是幾個(gè)高斯混合的結(jié)果
假設(shè)有K個(gè)高斯分布,每個(gè)高斯對(duì)data points的影響因子為πk,數(shù)據(jù)點(diǎn)為x,高斯參數(shù)為theta,則:
利用極大似然的方法去求解均值Uk,協(xié)方差矩陣(Σk),影響因子πk,但是普通的梯度下降的方法在這里求解會(huì)很麻煩,這邊就以EM算法代替估計(jì)求解。
3.優(yōu)化數(shù)據(jù)結(jié)構(gòu):
1.數(shù)據(jù)變換:
logit處理,對(duì)所有數(shù)據(jù)進(jìn)行l(wèi)og變換
傅里葉變換
小波變換
2.降維:
PCA:
利用降維(線性變換)的思想,整體方差最大的情況下(在損失很少信息的前提下),把多個(gè)指標(biāo)轉(zhuǎn)化為幾個(gè)不相關(guān)的綜合指標(biāo)(主成分),將變量線性組合代替原變量,保持代替后的數(shù)據(jù)信息量最大(方差最大)。
LLE:
(1) 尋找每個(gè)樣本點(diǎn)的k個(gè)近鄰點(diǎn);
(2)由每個(gè)樣本點(diǎn)的近鄰點(diǎn)計(jì)算出該樣本點(diǎn)的局部重建權(quán)值矩陣;
(3)由該樣本點(diǎn)的局部重建權(quán)值矩陣和其近鄰點(diǎn)計(jì)算出該樣本點(diǎn)的輸出值。
(換句話說,就是由周圍N個(gè)點(diǎn)構(gòu)成改點(diǎn)的一個(gè)向量矩陣表示)