欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python庫umap有效地揭示高維數(shù)據(jù)的結(jié)構(gòu)和模式初探

 更新時間:2024年01月22日 10:46:59   作者:小寒聊python  
這篇文章主要介紹了python庫umap有效地揭示高維數(shù)據(jù)的結(jié)構(gòu)和模式初探,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

python 庫umap

今天給大家分享一個超強的 python 庫,umap

https://github.com/lmcinnes/umap 

UMAP 是一種用于降維的算法,可用于類似于 t-SNE 的可視化。UMAP 基于流形學習的概念,旨在更有效地揭示高維數(shù)據(jù)中的結(jié)構(gòu)和模式。

該算法基于關(guān)于數(shù)據(jù)的三個假設。

  • 數(shù)據(jù)均勻分布在黎曼流形上

  • 黎曼度量是局部常數(shù)(或者可以近似為局部常數(shù))

  • 流形是局部連接的

優(yōu)點

UMAP 作為一種現(xiàn)代的降維技術(shù),具有如下優(yōu)點。

  • 速度快:UMAP 通常比其他降維技術(shù),如 t-SNE,更快,尤其是在處理大型數(shù)據(jù)集時。

  • 良好的可擴展性:UMAP能夠處理相當大的數(shù)據(jù)集,同時保持較低的計算和內(nèi)存要求。

  • 保持全局結(jié)構(gòu):相比于 t-SNE,UMAP 在保持局部結(jié)構(gòu)的同時,還能較好地保留全局數(shù)據(jù)結(jié)構(gòu)。

  • 參數(shù)少且具有解釋性:UMAP的參數(shù)較少,而且相對直觀易懂,如鄰域大小和最小距離。

  • 交互式可視化:其低維表示適合進行交互式數(shù)據(jù)探索和可視化。

  • 兼容性:UMAP可以與 scikit-learn 等 Python 機器學習庫無縫集成。

數(shù)學原理

  • 構(gòu)建高維空間的鄰域圖:對于每個點,UMAP 在高維空間中尋找其近鄰,并基于距離或相似性構(gòu)建一個加權(quán)圖。這種加權(quán)是通過局部距離度量(如歐氏距離)來實現(xiàn)的。

  • 優(yōu)化過程:UMAP 嘗試找到一個低維表示,其中的點保持著類似于高維數(shù)據(jù)的局部和全局關(guān)系。這是通過最小化高維空間和低維空間之間的交叉熵損失來實現(xiàn)的。

  • 流形假設:UMAP 假設數(shù)據(jù)分布在某種低維流形上。這意味著即使數(shù)據(jù)原本存在于高維空間,也可以在更低維的空間中找到其近似表示。

相關(guān)公式

高維空間中的距離度量:對于每個點 ,UMAP定義了一個局部距離度量,通常為歐氏距離或其他度量。

交叉熵最小化:UMAP最小化的目標函數(shù)基于交叉熵,形式上為:

其中, 是高維空間中點  和  之間的連接概率,而  是低維表示中對應點的相似性度量。

概率分布匹配:UMAP 嘗試匹配高維和低維空間中的兩個概率分布  和 

優(yōu)化算法:通常使用隨機梯度下降或類似方法來最小化交叉熵損失。

初體驗

庫的安裝

我們可以直接使用 pip 來進行安裝,umap 依賴于 scikit-learn 和 numba,確保你已經(jīng)安裝了它們。

pip install umap-learn

如果你想使用繪圖功能,可以使用。

pip install umap-learn[plot]

一個案例

這里,我們使用 MNIST 數(shù)據(jù)集來作為演示。

import umap
from sklearn.datasets import load_digits

digits = load_digits()

mapper = umap.UMAP(n_neighbors=10,min_dist=0.001).fit(digits.data)
umap.plot.points(mapper, labels=digits.target)

以上就是python庫umap有效地揭示高維數(shù)據(jù)的結(jié)構(gòu)和模式初探的詳細內(nèi)容,更多關(guān)于python庫umap高維數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論