自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機(jī)器學(xué)習(xí):K均值算法

人工智能 機(jī)器學(xué)習(xí)
想象你在曼哈頓,你想從一個(gè)街區(qū)走到另外一個(gè)街區(qū)。你不能走直線,只能沿著街道走,橫著走一條街,再豎著走一條街,所行走的路徑長(zhǎng)度就是曼哈頓距離。

一、基礎(chǔ)理論

1. 歐氏距離

想象你在北京,想要知道離上海有多遠(yuǎn),則可以直接計(jì)算這個(gè)城市(兩點(diǎn))間直線的距離,這就是歐氏距離。

在二維平面上,在二維平面上有兩個(gè)點(diǎn)A(x1, y1)和B(x2, y2),歐氏距離為:

圖片圖片

歐氏距離衡量的是兩點(diǎn)間的真實(shí)物理距離,關(guān)注的是位置的絕對(duì)差異。

2. 曼哈頓距離

想象你在曼哈頓,你想從一個(gè)街區(qū)走到另外一個(gè)街區(qū)。你不能走直線,只能沿著街道走,橫著走一條街,再豎著走一條街,所行走的路徑長(zhǎng)度就是曼哈頓距離。

在二維平面上,在二維平面上有兩個(gè)點(diǎn)A(x1, y1)和B(x2, y2),曼哈頓距離就是:

圖片圖片

曼哈頓距離考慮的是在各個(gè)維度上的絕對(duì)差值之和,適用于那些移動(dòng)只能沿坐標(biāo)軸進(jìn)行的情況。

3. 切比雪夫距離

想象你在一個(gè)方格化的城市里,每個(gè)路口都嚴(yán)格地按照東西南北四個(gè)方向排列,就像一個(gè)巨大的棋盤。

你現(xiàn)在在一個(gè)交叉口,想要去往另一個(gè)交叉口,你可以是直行、左轉(zhuǎn)、右轉(zhuǎn)、走對(duì)角線(盡管現(xiàn)實(shí)中不能這么走),但每次只能走一個(gè)街區(qū)。

在所有可能的路線中,街區(qū)數(shù)最大的路線所對(duì)應(yīng)的距離就是切比雪夫距離。

假如在二維平面上有兩個(gè)點(diǎn)A(x1, y1)和B(x2, y2),切比雪夫距離的公式為:

圖片

4. 閔可夫斯基距離

假設(shè)我們要比較兩個(gè)點(diǎn)A和B,在n維空間中的坐標(biāo)分別為

圖片圖片

則閔可夫斯基距離的計(jì)算公式是:

圖片圖片

參數(shù)??取不同的值時(shí),則就變成了不同的距離:

  • 當(dāng)??=1時(shí),為曼哈頓距離。
  • 當(dāng)??=2時(shí),為歐式距離。
  • 當(dāng)??趨近于無(wú)窮大時(shí),為切比雪夫距離。

5. 余弦相似度

余弦相似度是一種衡量?jī)蓚€(gè)向量方向相似性的方法。

想象在三維空間有兩個(gè)向量,一個(gè)指向東,另一個(gè)指向東北,這兩個(gè)向量指向角度的接近程度就是余弦相似度。

如果兩個(gè)向量指向完全相同的方向,相似度為1(即它們的夾角為0度);如果指向完全相反,相似度為-1(180度);如果它們垂直,則相似度為0。

余弦相似度的計(jì)算公式:

圖片圖片

兩個(gè)向量的點(diǎn)積除以它們各自的長(zhǎng)度(模)的乘積。

6. 值差異度量

在討論距離計(jì)算時(shí),特征是要直接比較大小的。

對(duì)于連續(xù)數(shù)值可以直接進(jìn)行大小比較,如高度、溫度、成績(jī)等。

而對(duì)于離散特征,又有可以直接比較大小,如教育程度(小學(xué)、中學(xué)、大學(xué))、服裝尺碼(S、M、L、XL)等;還有不可以直接比較大小的,如顏色(紅、綠、藍(lán))、國(guó)籍(中國(guó)、美國(guó)、日本)等。

對(duì)于不可以直接比較大小的離散特征(離散無(wú)序),可以使用值差異度量(Value Difference Metric,VDM)。

VDM的核心思想是離散無(wú)序的數(shù)據(jù)轉(zhuǎn)化為可以量化的差異度量,以進(jìn)行比較和分析。具體步驟為:

(1)權(quán)重分配

A. 頻率倒數(shù)法:

  • 計(jì)算頻率:對(duì)于每個(gè)無(wú)序特征,統(tǒng)計(jì)每個(gè)特征值在整個(gè)數(shù)據(jù)集中出現(xiàn)的次數(shù),并計(jì)算出頻率(出現(xiàn)次數(shù)/總樣本數(shù))。
  • 計(jì)算權(quán)重:使用頻率的倒數(shù)或其變形來(lái)作為權(quán)重。這是因?yàn)?,頻率較高的屬性值(即較為常見(jiàn)的值)往往提供較少的區(qū)分信息,因此給予較小的權(quán)重;反之,頻率較低的屬性值(罕見(jiàn)值)提供較多區(qū)分信息,應(yīng)給予較高權(quán)重。計(jì)算公式如 wi=1/fi+?,其中 fi 是特征值i的頻率,? 是一個(gè)很小的正數(shù)(如1e-6),用于防止頻率為0時(shí),導(dǎo)致分母為0無(wú)法計(jì)算的問(wèn)題。

B. 信息熵或信息增益。

(2)計(jì)算值差異

對(duì)于兩個(gè)具體的值 va 和 vb,它們之間的值差異 D(va,vb) 可以直接根據(jù)它們的權(quán)重 wa 和 wb 計(jì)算。如果 va=vb,則差異為0;如果 va不等于vb,差異通常定義為 ∣wa?wb∣。

(3)綜合距離計(jì)算

如果一個(gè)樣本由多個(gè)無(wú)序特征組成,比如對(duì)象=(特征1,特征2,...,特征??) ,那么可以對(duì)每個(gè)特征應(yīng)用上述差異計(jì)算方法,然后將所有特征的差異值相加或取平均),以獲得兩個(gè)樣本之間的總距離或相似度得分。

假設(shè)有一家電商平臺(tái)想通過(guò)分析顧客的購(gòu)物記錄,來(lái)發(fā)現(xiàn)不同的消費(fèi)群體。顧客數(shù)據(jù)包含以下幾個(gè)無(wú)序特征:

(1)性別:男、女。

(2)地區(qū):北京、上海、廣州、深圳、其他。

(3)商品類別偏好:電子產(chǎn)品、家居用品、服飾、圖書、食品。

VDM計(jì)算的過(guò)程為:

(1)數(shù)據(jù)預(yù)處理與權(quán)重計(jì)算

A. 統(tǒng)計(jì)頻率

  • 性別:男(52%),女(48%)
  • 地區(qū):北京(25%),上海(29%),廣州(18%),深圳(15%),其他(13%)
  • 商品類別偏好:電子產(chǎn)品(30%),家居用品(22%),服飾(25%),圖書(10%),食品(13%)

B. 計(jì)算權(quán)重

  • 假設(shè)采用頻率倒數(shù)法,加入一個(gè)微小常數(shù) ?=0.001 。

性別:男(1/0.52 + 0.001)= 1.93, 女(1/0.48 + 0.001)= 2.08。

地區(qū):北京(1/0.25 + 0.001)= 4.04, 上海(1/0.29 + 0.001)= 3.45, 廣州(1/0.18 + 0.001)= 5.59, 深圳(1/0.15 + 0.001)= 6.69, 其他(1/0.13 + 0.001)= 7.69。

商品類別偏好:電子產(chǎn)品(1/0.30 + 0.001)= 3.34, 家居用品(1/0.22 + 0.001)= 4.57, 服飾(1/0.25 + 0.001)= 4.04, 圖書(1/0.10 + 0.001)= 10.01, 食品(1/0.13 + 0.001)= 7.69。

(2)應(yīng)用VDM:利用上面計(jì)算的權(quán)重計(jì)算兩個(gè)顧客間的距離,以進(jìn)行聚類。

  • 假設(shè)有兩位顧客A和B,A的屬性為(男,上海,電子產(chǎn)品),B的屬性為(女,北京,圖書)。
  • 使用VDM計(jì)算差異:性別差異 = |1.93 - 2.08| = 0.15;地區(qū)差異 = |4.04 - 3.45| = 0.59;商品類別偏好差異 = |3.34 - 10.01| = 6.67。
  • 合并差異:總距離 = 0.15 + 0.59 + 6.67 = 7.41。

二、聚類算法

聚類算法是一種無(wú)監(jiān)督學(xué)習(xí)方法,其主要目的是將一組未標(biāo)記的數(shù)據(jù)集分割成多個(gè)子集,稱為簇(Clusters)。也就是聚類算法并不依賴于預(yù)先定義的類別標(biāo)簽,而是通過(guò)分析數(shù)據(jù)本身的特征和結(jié)構(gòu),自動(dòng)發(fā)現(xiàn)數(shù)據(jù)中的隱藏模式或群組。

聚類算法的基本思想是基于相似性度量(如歐氏距離、余弦相似性等)來(lái)量化數(shù)據(jù)點(diǎn)之間的相似度,并利用這些度量來(lái)優(yōu)化某個(gè)目標(biāo)函數(shù),從而實(shí)現(xiàn)數(shù)據(jù)的分組。

聚類算法可以根據(jù)不同的原則和策略進(jìn)行分類,主要有:

(1)劃分聚類(Partitioning Clustering):將數(shù)據(jù)集劃分為預(yù)先指定數(shù)量的簇,每個(gè)數(shù)據(jù)點(diǎn)只能屬于一個(gè)簇。最典型的例子是K-means算法。

(2)層次聚類(Hierarchical Clustering):可以進(jìn)一步細(xì)分為凝聚型(Agglomerative)和分裂型(Divisive)。凝聚型算法從每個(gè)數(shù)據(jù)點(diǎn)作為一個(gè)獨(dú)立的簇開(kāi)始,然后逐步合并最相似的簇,直到滿足某個(gè)終止條件;而分裂型則相反,開(kāi)始時(shí)將所有數(shù)據(jù)視為一個(gè)簇,然后逐漸分裂。常見(jiàn)的算法有AGNES(Agglomerative Nesting)、DIANA(Divisive Analysis)、BIRCH等。

(3)基于密度的聚類(Density-Based Clustering):基于數(shù)據(jù)點(diǎn)的鄰域密度來(lái)確定簇,能夠處理形狀不規(guī)則的簇和含有噪聲的數(shù)據(jù)。DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是最知名的算法之一,它通過(guò)設(shè)置鄰域半徑和最小點(diǎn)數(shù)來(lái)識(shí)別高密度區(qū)域。OPTICS、DENCLUE也是基于密度的算法。

(4)基于網(wǎng)格的聚類(Grid-Based Clustering):將數(shù)據(jù)空間劃分為多個(gè)單元或網(wǎng)格,然后在網(wǎng)格層次上進(jìn)行聚類。STING(Statistical Information Grid-based Clustering)、WaveCluster、CLIQUE(Clustering in Quest)是典型代表,它們適合處理大規(guī)??臻g數(shù)據(jù)庫(kù)。

(5)基于模型的聚類(Model-Based Clustering):假設(shè)數(shù)據(jù)由某些數(shù)學(xué)模型(如高斯分布)生成,并嘗試找到最佳的模型參數(shù)來(lái)描述數(shù)據(jù)。高斯混合模型(GMM, Gaussian Mixture Model)是最常見(jiàn)的例子,它通過(guò)最大似然估計(jì)來(lái)擬合數(shù)據(jù)到多個(gè)高斯分布上。

三、K-means算法

K-means算法是一種將數(shù)據(jù)集劃分為K個(gè)互不相交的子集(簇),使得同一簇內(nèi)的數(shù)據(jù)點(diǎn)彼此相似,而不同簇的數(shù)據(jù)點(diǎn)相異。

K-means(均值)算法的基本操作過(guò)程為:

1. 初始設(shè)置

(1)數(shù)據(jù)集:假設(shè)我們有一個(gè)二維數(shù)據(jù)集,包含以下五個(gè)數(shù)據(jù)點(diǎn):{X(1, 2), Y(2, 1), Z(4, 8), W(5, 9), V(6, 7)}。

(2)初始化質(zhì)心:隨機(jī)選擇兩個(gè)數(shù)據(jù)點(diǎn)作為初始聚類中心(質(zhì)心):C1(2, 3), C2(6, 7)。

2. 執(zhí)行步驟

步驟1: 數(shù)據(jù)點(diǎn)分配

  • 對(duì)于數(shù)據(jù)集中的每個(gè)數(shù)據(jù)點(diǎn),計(jì)算到C1和C2的距離。

圖片圖片

  • 將每個(gè)數(shù)據(jù)點(diǎn)分配給距離最近的質(zhì)心所在的簇。
    假設(shè)結(jié)果為:

C1簇: {X(1, 2), Y(2, 1)}

C2簇: {Z(4, 8), W(5, 9), V(6, 7)}

步驟2: 更新質(zhì)心

圖片圖片

步驟3: 迭代與收斂判斷

  • 重復(fù)步驟1和步驟2,直到質(zhì)心的移動(dòng)距離小于某個(gè)預(yù)設(shè)的閾值或達(dá)到預(yù)定的迭代次數(shù)。這一步確保算法收斂于一個(gè)穩(wěn)定的聚類結(jié)果。

需要注意的是:

(1)初始質(zhì)心選擇:K-means算法對(duì)初始質(zhì)心的選擇敏感,不同的初始質(zhì)心可能導(dǎo)致不同的聚類結(jié)果。

(2)簇形狀:K-means假設(shè)簇為凸形狀,可能不適合處理復(fù)雜的數(shù)據(jù)分布,如密度不均或存在異常點(diǎn)的情況。

(3)K值選擇:選擇合適的K值是關(guān)鍵,常用方法有肘部法則(Elbow Method)和輪廓系數(shù)法等。


責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)與軟件時(shí)代
相關(guān)推薦

2020-12-29 06:45:30

Python機(jī)器學(xué)習(xí)K均值聚類

2016-11-15 15:02:00

機(jī)器學(xué)習(xí)算法

2020-12-16 15:56:26

機(jī)器學(xué)習(xí)人工智能Python

2017-09-12 16:57:43

機(jī)器學(xué)習(xí)K-means算法Python

2020-06-18 16:05:20

機(jī)器學(xué)習(xí)人工智能算法

2014-06-17 09:55:24

機(jī)器學(xué)習(xí)

2019-03-20 07:50:47

機(jī)器學(xué)習(xí)算法線性回歸

2017-08-25 14:05:01

機(jī)器學(xué)習(xí)算法模型

2023-02-23 08:00:00

Python機(jī)器學(xué)習(xí)編程代碼

2022-03-17 17:08:05

機(jī)器學(xué)習(xí)算法類型

2017-05-10 15:41:29

機(jī)器學(xué)習(xí)算法數(shù)據(jù)

2021-03-10 14:21:33

人工智能機(jī)器學(xué)習(xí)算法

2020-08-18 17:26:11

機(jī)器學(xué)習(xí)XGBoost人工智能

2019-01-23 11:45:47

機(jī)器學(xué)習(xí)人工智能機(jī)器人

2024-03-22 15:32:21

機(jī)器學(xué)習(xí)算法

2022-04-26 10:27:52

機(jī)器算法KNN數(shù)據(jù)

2020-07-13 14:50:51

機(jī)器學(xué)習(xí)模型算法

2020-11-16 11:56:57

機(jī)器學(xué)習(xí)技術(shù)工具

2019-06-06 08:52:00

2022-05-11 15:20:31

機(jī)器學(xué)習(xí)算法預(yù)測(cè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)