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

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

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

python 庫umap

今天給大家分享一個(gè)超強(qiáng)的 python 庫,umap

https://github.com/lmcinnes/umap 

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

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

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

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

  • 流形是局部連接的

優(yōu)點(diǎn)

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

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

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

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

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

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

  • 兼容性:UMAP可以與 scikit-learn 等 Python 機(jī)器學(xué)習(xí)庫無縫集成。

數(shù)學(xué)原理

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

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

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

相關(guān)公式

高維空間中的距離度量:對(duì)于每個(gè)點(diǎn) ,UMAP定義了一個(gè)局部距離度量,通常為歐氏距離或其他度量。

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

其中, 是高維空間中點(diǎn)  和  之間的連接概率,而  是低維表示中對(duì)應(yīng)點(diǎn)的相似性度量。

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

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

初體驗(yàn)

庫的安裝

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

pip install umap-learn

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

pip install umap-learn[plot]

一個(gè)案例

這里,我們使用 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)和模式初探的詳細(xì)內(nèi)容,更多關(guān)于python庫umap高維數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論