成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

機器學習:K均值算法

人工智能 機器學習
想象你在曼哈頓,你想從一個街區走到另外一個街區。你不能走直線,只能沿著街道走,橫著走一條街,再豎著走一條街,所行走的路徑長度就是曼哈頓距離。

一、基礎理論

1. 歐氏距離

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

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

圖片圖片

歐氏距離衡量的是兩點間的真實物理距離,關注的是位置的絕對差異。

2. 曼哈頓距離

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

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

圖片圖片

曼哈頓距離考慮的是在各個維度上的絕對差值之和,適用于那些移動只能沿坐標軸進行的情況。

3. 切比雪夫距離

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

你現在在一個交叉口,想要去往另一個交叉口,你可以是直行、左轉、右轉、走對角線(盡管現實中不能這么走),但每次只能走一個街區。

在所有可能的路線中,街區數最大的路線所對應的距離就是切比雪夫距離。

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

圖片

4. 閔可夫斯基距離

假設我們要比較兩個點A和B,在n維空間中的坐標分別為

圖片圖片

則閔可夫斯基距離的計算公式是:

圖片圖片

參數??取不同的值時,則就變成了不同的距離:

  • 當??=1時,為曼哈頓距離。
  • 當??=2時,為歐式距離。
  • 當??趨近于無窮大時,為切比雪夫距離。

5. 余弦相似度

余弦相似度是一種衡量兩個向量方向相似性的方法。

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

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

余弦相似度的計算公式:

圖片圖片

兩個向量的點積除以它們各自的長度(模)的乘積。

6. 值差異度量

在討論距離計算時,特征是要直接比較大小的。

對于連續數值可以直接進行大小比較,如高度、溫度、成績等。

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

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

VDM的核心思想是離散無序的數據轉化為可以量化的差異度量,以進行比較和分析。具體步驟為:

(1)權重分配

A. 頻率倒數法:

  • 計算頻率:對于每個無序特征,統計每個特征值在整個數據集中出現的次數,并計算出頻率(出現次數/總樣本數)。
  • 計算權重:使用頻率的倒數或其變形來作為權重。這是因為,頻率較高的屬性值(即較為常見的值)往往提供較少的區分信息,因此給予較小的權重;反之,頻率較低的屬性值(罕見值)提供較多區分信息,應給予較高權重。計算公式如 wi=1/fi+?,其中 fi 是特征值i的頻率,? 是一個很小的正數(如1e-6),用于防止頻率為0時,導致分母為0無法計算的問題。

B. 信息熵或信息增益。

(2)計算值差異

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

(3)綜合距離計算

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

假設有一家電商平臺想通過分析顧客的購物記錄,來發現不同的消費群體。顧客數據包含以下幾個無序特征:

(1)性別:男、女。

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

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

VDM計算的過程為:

(1)數據預處理與權重計算

A. 統計頻率

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

B. 計算權重

  • 假設采用頻率倒數法,加入一個微小常數 ?=0.001 。

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

地區:北京(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。

商品類別偏好:電子產品(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)應用VDM:利用上面計算的權重計算兩個顧客間的距離,以進行聚類。

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

二、聚類算法

聚類算法是一種無監督學習方法,其主要目的是將一組未標記的數據集分割成多個子集,稱為簇(Clusters)。也就是聚類算法并不依賴于預先定義的類別標簽,而是通過分析數據本身的特征和結構,自動發現數據中的隱藏模式或群組。

聚類算法的基本思想是基于相似性度量(如歐氏距離、余弦相似性等)來量化數據點之間的相似度,并利用這些度量來優化某個目標函數,從而實現數據的分組。

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

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

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

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

(4)基于網格的聚類(Grid-Based Clustering):將數據空間劃分為多個單元或網格,然后在網格層次上進行聚類。STING(Statistical Information Grid-based Clustering)、WaveCluster、CLIQUE(Clustering in Quest)是典型代表,它們適合處理大規模空間數據庫。

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

三、K-means算法

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

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

1. 初始設置

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

(2)初始化質心:隨機選擇兩個數據點作為初始聚類中心(質心):C1(2, 3), C2(6, 7)。

2. 執行步驟

步驟1: 數據點分配

  • 對于數據集中的每個數據點,計算到C1和C2的距離。

圖片圖片

  • 將每個數據點分配給距離最近的質心所在的簇。
    假設結果為:

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

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

步驟2: 更新質心

圖片圖片

步驟3: 迭代與收斂判斷

  • 重復步驟1和步驟2,直到質心的移動距離小于某個預設的閾值或達到預定的迭代次數。這一步確保算法收斂于一個穩定的聚類結果。

需要注意的是:

(1)初始質心選擇:K-means算法對初始質心的選擇敏感,不同的初始質心可能導致不同的聚類結果。

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

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


責任編輯:武曉燕 來源: 碼農與軟件時代
相關推薦

2020-12-29 06:45:30

Python機器學習K均值聚類

2016-11-15 15:02:00

機器學習算法

2020-12-16 15:56:26

機器學習人工智能Python

2017-09-12 16:57:43

機器學習K-means算法Python

2020-06-18 16:05:20

機器學習人工智能算法

2014-06-17 09:55:24

機器學習

2019-03-20 07:50:47

機器學習算法線性回歸

2017-08-25 14:05:01

機器學習算法模型

2022-03-17 17:08:05

機器學習算法類型

2023-02-23 08:00:00

Python機器學習編程代碼

2017-05-10 15:41:29

機器學習算法數據

2021-03-10 14:21:33

人工智能機器學習算法

2019-01-23 11:45:47

機器學習人工智能機器人

2020-08-18 17:26:11

機器學習XGBoost人工智能

2024-03-22 15:32:21

機器學習算法

2022-04-26 10:27:52

機器算法KNN數據

2020-07-13 14:50:51

機器學習模型算法

2017-09-11 09:20:14

機器學習無監督學習聚類

2020-11-16 11:56:57

機器學習技術工具

2020-05-26 18:35:00

機器學習人工智能AI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美操操操 | 精品动漫一区 | 91av视频在线免费观看 | 国产精品欧美一区二区 | 日韩精品在线看 | 成人精品一区亚洲午夜久久久 | 91精品久久久久久久99 | 女女百合av大片一区二区三区九县 | 久久99精品久久久久久 | 成人在线免费观看 | 国产一区二区三区免费 | 夜夜爽99久久国产综合精品女不卡 | 91就要激情| 久久成人18免费网站 | 精品欧美一区二区在线观看视频 | 亚洲欧美日韩中文字幕一区二区三区 | av在线视| 国产男女视频网站 | 亚洲国产偷 | 九九福利 | www.日韩系列 | 国产91久久久久蜜臀青青天草二 | 国产精品久久久亚洲 | 久久久久亚洲av毛片大全 | 九九热免费视频在线观看 | 爱草视频 | 2022国产精品 | h视频在线免费看 | 91大神在线看 | 国产一区二区三区在线看 | 少妇精品久久久久久久久久 | 欧美一级欧美一级在线播放 | 成人性视频免费网站 | 亚洲精品中文在线 | 国产精品视频www | 国产福利精品一区 | 国产黄色麻豆视频 | 羞羞视频网 | 午夜一级做a爰片久久毛片 精品综合 | 成人3d动漫一区二区三区91 | 人人干人人玩 |