聚類
簇內相似度高,簇間相似度低。
下式為閔可夫斯基距離 di
st(x
i,xj
)=(∑
u=1n
|xiu
−xju
|p)1
p dis
t(xi
,xj)
=(∑u
=1n|
xiu−
xju|
p)1p
當p=1 p=1
時為曼哈頓距離;當p=
2 p=
2時為歐氏距離。
但這樣的計算方式只適合有序屬性(「1與2」比「1與3」更進一下),對於無序屬性,可以使用vdm距離,即兩個屬性值在各個樣本簇上的分布差異。
聚類方法
k-means
高斯混合聚類
dbscan:密度聚類
層次聚類:自底而上聚合,例如agnes,先將每個樣本都看作初始聚類簇,然後每次將聚類最近的兩個簇進行合併,直到達到預設的聚類簇個數。也可以採用自頂向下的拆分策略
降維的必要性
高維資料中很容易出現樣本稀疏、距離計算困難等問題,即「維度災難」,為了緩解維度災難,常用的就是降維。因為資料樣本雖然在高維空間中,但與學習任務相關的可能僅僅是乙個低維分布,即高維空間的低維嵌入,所以能夠進行降維。
常用方法:
特徵值分解
主成分分析pca:對樣本進行中心化後,計算協方差矩陣,對協方差矩陣進行特徵值分解,取最大的k個特徵值對應的特徵向量形成投影矩陣。
核化線性降維:前兩者屬於線性對映,但很多情況下高維到低維需要非線性對映才能找到恰當的低維嵌入,即採用核函式。
流形學習:isomap(每個點計算其k近鄰然後構成圖,在圖上使用dijkstra或是floyd來計算樣本點之間的兩兩距離,形成的矩陣使用特徵值分解,最後可以得到樣本集在低維空間的投影);區域性線性嵌入lle。
度量學習
最普通的歐氏距離是每個特徵維度上的差值平方和,如果不同屬性的重要性不同,則可以引入屬性權重,對應的距離可以表示為: di
st(x
i,xj
)=(x
i−xj
)tw(
xi−x
j)d is
t(xi
,xj)
=(xi
−xj)
tw(x
i−xj
)這裡w w
為對角矩陣,代表每個維度的特徵的權重,若更廣泛地,引入特徵之間的相關性,我們可以將
w' role="presentation" style="position: relative;">w
w替換為乙個半正定矩陣m m
(保證距離非負且對稱),得到馬氏距離: di
st(x
i,xj
)=(x
i−xj
)tm(
xi−x
j)=|
|xi−
xj||
m2' role="presentation" style="text-align: center; position: relative;">dis
t(xi
,xj)
=(xi
−xj)
tm(x
i−xj
)=||
xi−x
j||2
mdis
t(xi
,xj)
=(xi
−xj)
tm(x
i−xj
)=||
xi−x
j||m
2度量學習即對矩陣m m
進行學習,從而提高近鄰分類器的效能。最終的目標為
minm∑(
xi,x
j)∈m
||xi
−xj|
|m2' role="presentation" style="text-align: center; position: relative;">minm∑
(xi,
xj)∈
||x
i−xj
||2m
minm∑(
xi,x
j)∈m
||xi
−xj|
|m2s
.t.∑
(xi,
xj)∈
||x
i−xj
||2m
≥1,m
≥0s .t
.∑(x
i,xj
)∈c|
|xi−
xj||
m2≥1
,m≥0
其中 m
為相似樣本pair集合, c
為不相似的樣本pair集合。
降維與度量學習
這是我第一次看這一章節,所以我的理解應該都是比較淺顯的,寫這篇部落格一是寫一下自己學習的感受,好記性不如爛筆頭。二是為了與大家交流,希望大家給我指正。k近鄰學習是一種簡單的學習方法,就是採用一種監督的學習方法,給定測試樣本,基於某種距離找到距離樣本最近的k個訓練樣本。可以採用投票法 選擇樣本中出現最...
機器學習 降維與度量學習
維數災難 高維資料情形下出現的資料樣本稀疏,距離計算困難等問題是所有機器學習方法共同面臨的嚴重障礙,被稱為維數災難。降維 亦稱維數約簡,即通過某種數學變換將原始高維屬性空間轉變為乙個低維 子空間 在這個子空間樣本密度大幅提高,距離計算也變得更為容易。多維縮放 mds 要求原始空間樣本之間的距離在低維...
聚類和降維
聚類是用於尋找資料內在的分布結構。既可以作為乙個單獨的過程,如異常檢測等 也可作為分類等其他學習任務的前驅過程。聚類是標準的無監督學習。在一些推薦系統中需要確定新使用者的型別,但 使用者型別 這個概念可能無法精確定義,此時往往會先對原有的使用者資料進行聚類。然後根據聚類的結果將每個簇定義為乙個類。然...