資料科學之機器學習10 聚類分析1

2021-06-21 23:48:34 字數 2859 閱讀 2841

note:聚類的劃分:

根據分類物件的不同,可以分為:q型聚類分析r型聚類分析。q型是指對樣品物件進行聚類;而r型則是對變數(屬性)進行聚類。

一、相似性的度量

除了使用有序尺度變數(將屬性劃分為一級、二級等等的有次序關係的量來表示)和名義尺度變數(使用既沒有等級關係,又不存在數量關係的量來表示。比如男女)之外,一般採用的測量尺度的方式就是間隔尺度變數

間隔尺度變數即是使用連續的量來表示測量尺度,一般都是連續型的,比如歐式距離、重量等等。一般來講,在應對q型聚類時會使用距離去度量;而對r型聚類來說,則會使用相似係數這種方式去度量。下面來分別看一看:

a. 距離

首先,距離必須是非負的。即:dij

⩾0,∀

i,j ;

對於相同取值的樣品,之間的距離必須為0。即:dij

=0,當且僅當,第i個樣品與第j個樣品的各變數值相同;

i樣品到j樣品的距離與j樣品到i樣品的距離相等。即:dij

=dji

,∀i,

j ;

滿足:dij

⩽dik

+dkj

,∀i,

j,k 。

下面就來看看常用的距離定義,首先看看最常用的minkowski距離:

(1). minkowski距離di

j(q)

=[∑k

=1p∣

xik−

xjk∣

q]1/

q

觀察這個距離可以看到,當q=

2 時,上面定義的距離就是常用的歐氏距離。另外:

minkowski距離存在乙個問題,就是當變數的單位不同或者測量值範圍相差很大時,直接使用minkowski距離效果不佳。這個時候,應該先對資料進行標準化(就是減去均值除上標準差)之後再計算距離(這個後面還會說到)。

(2). lance距離(lance and williams)當x

ji>

0 時,定義第i個樣品到第j個樣品的距離為:di

j=∑k

=1p∣

xik−

xjk∣

xik+

xjk

從公式就可以看出來,這個距離與變數之間的單位沒有什麼關係;而且其對異常值也不敏感,因而適用於一些高度偏斜的資料。

(3). mahalanobis距離(馬氏距離)

上面的兩種距離都沒有考慮變數之間的相關性問題,馬氏距離就可以考慮到這個問題。但是由於馬氏距離定義的問題,在聚類分析中使用馬氏距離並不合適。但是這裡也還是給出馬氏距離的定義:di

j=(x

i−xj

)ts−

1(xi

−xj)

−−−−

−−−−

−−−−

−−−−

−−√

其中xi=

(xi1

,…,x

ip)t

,xj=

(xj1

,…,x

jp)t

,s為樣本協方差陣。

注:為什麼說馬氏距離不適用與聚類分析呢?

聚類分析是無監督演算法中的一種,無監督演算法是什麼?無監督演算法是沒有先驗資訊的,所有的資料拿過來是沒有什麼目標資訊啊什麼的。沒有不同類之間的先驗資訊,那麼協方差陣s

就無法計算。因而,在實際聚類分析中,馬氏距離並不適用。

(4). 斜交空間距離di

j=[1

p2∑k

=1p∑

l=1p

(xik

−xjk

)(xi

l−xj

l)rk

l]1/

2

其中rkl

是變數x

k 與變數x

l 的相關係數。學過高等代數的應該可以很容易看明白這個定義。此外,當變數之間互不相關的時候,這裡的dij

=[di

j(2)

/p]m

inko

wski

,也就是退化到了歐氏距離(相差乙個常數倍)。

b. 相似係數

對變數進行聚類時,通常使用相似係數來考量其間的相似度。那麼相似係數的定義有需要滿足哪些條件呢?

完全相關。即:ci

j=±1

,當且僅當xi

=axj

+b;a

(≠0)

,b是常數;∣c

ij∣⩽1

,∀i,

j ;ci

j=cj

i,∀i,j。

下面看看常用的兩種相似係數:

(1). 夾角余弦變數x

i 和xj

的夾角余弦的定義為:ci

j=∑n

k=1x

kixk

j[(∑

nk=1

x2ki

)(∑n

k=1x

2kj)

]1/2

學過解析幾何應該很容易看出這個定義的含義所在,其實cij

=cosθi

j 。

(2). 相關係數ci

j=∑n

k=1(

xki−

xi¯¯

¯)(x

kj−x

j¯¯¯

)1/2

這裡的相關係數其實就是統計裡面通常所說的相關係數。其實,如果變數都是標準化了的,那麼夾角余弦就是相關係數,看出來了嗎?

小節**:

機器學習之聚類分析

聚類的核心是相似度或距離,聚類分析中有多種計算距離和相似度的定義 閔可夫斯基距離 d xi xj p 1 p p為大於1的數 python實現為 import numpy as np dt np.random.rand 10 reshape 2,5 minkow len 0p 10 可自行定義 fo...

機器學習 K means聚類分析

1.k means聚類演算法原理 1 先丟擲乙個情景問題 航空公司怎麼樣對客戶分群,區分 值客戶 無價值客戶等,對不同的客戶群體實施個性化的營銷策略,實現利潤最大化?對於該類情景題,可使用聚類分析方法。2 聚類分析相關概念 在沒有給定劃分類別的情況下,根據資料的相似度進行分組的一種方法,分組的原則是...

資料探勘之聚類分析學習筆記 2

聚類分析中的資料型別 假設要聚類的資料集合包含 n 個資料物件,許多基於記憶體的聚類演算法選擇如下兩種有代表性的資料結構 資料矩陣 data matrix 或稱為物件屬性結構 它用 p 個變數 也稱為屬性 來表現 n 個物件,例如用年齡,身高,性別,種族等屬性來表現物件 人 這種資料結構是關係表的形...