欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python產(chǎn)生高斯函數(shù)的簡(jiǎn)單介紹

[譯] 高斯混合模型 --- python教程

本文翻譯自

十多年的上街網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整上街建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“上街網(wǎng)站設(shè)計(jì)”,“上街網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

上一節(jié)中探討的k-means聚類模型簡(jiǎn)單易懂,但其簡(jiǎn)單性導(dǎo)致其應(yīng)用中存在實(shí)際挑戰(zhàn)。具體而言,k-means的非概率特性及簡(jiǎn)單地計(jì)算點(diǎn)與類蔟中心的歐式距離來判定歸屬,會(huì)導(dǎo)致其在許多真實(shí)的場(chǎng)景中性能較差。本節(jié),我們將探討高斯混合模型(GMMs),其可以看成k-means的延伸,更可以看成一個(gè)強(qiáng)有力的估計(jì)工具,而不僅僅是聚類。

我們將以一個(gè)標(biāo)準(zhǔn)的import開始

我們看下k-means的缺陷,思考下如何提高聚類模型。正如上一節(jié)所示,給定簡(jiǎn)單,易于分類的數(shù)據(jù),k-means能找到合適的聚類結(jié)果。

舉例而言,假設(shè)我們有些簡(jiǎn)單的數(shù)據(jù)點(diǎn),k-means算法能以某種方式很快地將它們聚類,跟我們?nèi)庋鄯直娴慕Y(jié)果很接近:

從直觀的角度來看,我可能期望聚類分配時(shí),某些點(diǎn)比其他的更確定:舉例而言,中間兩個(gè)聚類之間似乎存在非常輕微的重疊,這樣我們可能對(duì)這些數(shù)據(jù)點(diǎn)的分配沒有完全的信心。不幸的是,k-means模型沒有聚類分配的概率或不確定性的內(nèi)在度量(盡管可能使用bootstrap 的方式來估計(jì)這種不確定性)。為此,我們必須考慮泛化這種模型。

k-means模型的一種理解思路是,它在每個(gè)類蔟的中心放置了一個(gè)圈(或者,更高維度超球面),其半徑由聚類中最遠(yuǎn)的點(diǎn)確定。該半徑充當(dāng)訓(xùn)練集中聚類分配的一個(gè)硬截?cái)啵喝魏稳ν獾臄?shù)據(jù)點(diǎn)不被視為該類的成員。我們可以使用以下函數(shù)可視化這個(gè)聚類模型:

觀察k-means的一個(gè)重要發(fā)現(xiàn),這些聚類模式必須是圓形的。k-means沒有內(nèi)置的方法來計(jì)算橢圓形或橢圓形的簇。因此,舉例而言,假設(shè)我們將相同的數(shù)據(jù)點(diǎn)作變換,這種聚類分配方式最終變得混亂:

高斯混合模型(GMM)試圖找到一個(gè)多維高斯概率分布的混合,以模擬任何輸入數(shù)據(jù)集。在最簡(jiǎn)單的情況下,GMM可用于以與k-means相同的方式聚類。

但因?yàn)镚MM包含概率模型,因此可以找到聚類分配的概率方式 - 在Scikit-Learn中,通過調(diào)用predict_proba方法實(shí)現(xiàn)。它將返回一個(gè)大小為[n_samples, n_clusters]的矩陣,用于衡量每個(gè)點(diǎn)屬于給定類別的概率:

我們可以可視化這種不確定性,比如每個(gè)點(diǎn)的大小與預(yù)測(cè)的確定性成比例;如下圖,我們可以看到正是群集之間邊界處的點(diǎn)反映了群集分配的不確定性:

本質(zhì)上說,高斯混合模型與k-means非常相似:它使用期望-最大化的方式,定性地執(zhí)行以下操作:

有了這個(gè),我們可以看看四成分的GMM為我們的初始數(shù)據(jù)提供了什么:

同樣,我們可以使用GMM方法來擬合我們的拉伸數(shù)據(jù)集;允許full的協(xié)方差,該模型甚至可以適應(yīng)非常橢圓形,伸展的聚類模式:

這清楚地表明GMM解決了以前遇到的k-means的兩個(gè)主要實(shí)際問題。

如果看了之前擬合的細(xì)節(jié),你將看到covariance_type選項(xiàng)在每個(gè)中都設(shè)置不同。該超參數(shù)控制每個(gè)類簇的形狀的自由度;對(duì)于任意給定的問題,必須仔細(xì)設(shè)置。默認(rèn)值為covariance_type =“diag”,這意味著可以獨(dú)立設(shè)置沿每個(gè)維度的類蔟大小,并將得到的橢圓約束為與軸對(duì)齊。一個(gè)稍微簡(jiǎn)單和快速的模型是covariance_type =“spherical”,它約束了類簇的形狀,使得所有維度都相等。盡管它并不完全等效,其產(chǎn)生的聚類將具有與k均值相似的特征。更復(fù)雜且計(jì)算量更大的模型(特別是隨著維數(shù)的增長(zhǎng))是使用covariance_type =“full”,這允許將每個(gè)簇建模為具有任意方向的橢圓。

對(duì)于一個(gè)類蔟,下圖我們可以看到這三個(gè)選項(xiàng)的可視化表示:

盡管GMM通常被歸類為聚類算法,但從根本上說它是一種密度估算算法。也就是說,GMM適合某些數(shù)據(jù)的結(jié)果在技術(shù)上不是聚類模型,而是描述數(shù)據(jù)分布的生成概率模型。

例如,考慮一下Scikit-Learn的make_moons函數(shù)生成的一些數(shù)據(jù):

如果我們嘗試用視為聚類模型的雙成分的GMM模擬數(shù)據(jù),則結(jié)果不是特別有用:

但是如果我們使用更多成分的GMM模型,并忽視聚類的類別,我們會(huì)發(fā)現(xiàn)更接近輸入數(shù)據(jù)的擬合:

這里,16個(gè)高斯分布的混合不是為了找到分離的數(shù)據(jù)簇,而是為了對(duì)輸入數(shù)據(jù)的整體分布進(jìn)行建模。這是分布的一個(gè)生成模型,這意味著GMM為我們提供了生成與我們的輸入類似分布的新隨機(jī)數(shù)據(jù)的方法。例如,以下是從這個(gè)16分量GMM擬合到我們?cè)紨?shù)據(jù)的400個(gè)新點(diǎn):

GMM非常方便,可以靈活地建模任意多維數(shù)據(jù)分布。

GMM是一種生成模型這一事實(shí)為我們提供了一種確定給定數(shù)據(jù)集的最佳組件數(shù)的自然方法。生成模型本質(zhì)上是數(shù)據(jù)集的概率分布,因此我們可以簡(jiǎn)單地評(píng)估模型下數(shù)據(jù)的可能性,使用交叉驗(yàn)證來避免過度擬合。校正過度擬合的另一種方法是使用一些分析標(biāo)準(zhǔn)來調(diào)整模型可能性,例如 Akaike information criterion (AIC) 或 Bayesian information criterion (BIC) 。Scikit-Learn的GMM估計(jì)器實(shí)際上包含計(jì)算這兩者的內(nèi)置方法,因此在這種方法上操作非常容易。

讓我們看看在moon數(shù)據(jù)集中,使用AIC和BIC函數(shù)確定GMM組件數(shù)量:

最佳的聚類數(shù)目是使得AIC或BIC最小化的值,具體取決于我們希望使用的近似值。 AIC告訴我們,我們上面選擇的16個(gè)組件可能太多了:大約8-12個(gè)組件可能是更好的選擇。與此類問題一樣,BIC建議使用更簡(jiǎn)單的模型。

注意重點(diǎn):這個(gè)組件數(shù)量的選擇衡量GMM作為密度估算器的效果,而不是它作為聚類算法的效果。我鼓勵(lì)您將GMM主要視為密度估算器,并且只有在簡(jiǎn)單數(shù)據(jù)集中保證時(shí)才將其用于聚類。

我們剛剛看到了一個(gè)使用GMM作為數(shù)據(jù)生成模型的簡(jiǎn)單示例,以便根據(jù)輸入數(shù)據(jù)定義的分布創(chuàng)建新樣本。在這里,我們將運(yùn)行這個(gè)想法,并從我們以前使用過的標(biāo)準(zhǔn)數(shù)字語料庫中生成新的手寫數(shù)字。

首先,讓我們使用Scikit-Learn的數(shù)據(jù)工具加載數(shù)字?jǐn)?shù)據(jù):

接下來讓我們繪制前100個(gè),以準(zhǔn)確回憶我們正在看的內(nèi)容:

我們有64個(gè)維度的近1,800位數(shù)字,我們可以在這些位置上構(gòu)建GMM以產(chǎn)生更多。 GMM可能難以在如此高維空間中收斂,因此我們將從數(shù)據(jù)上的可逆維數(shù)減少算法開始。在這里,我們將使用一個(gè)簡(jiǎn)單的PCA,要求它保留99%的預(yù)測(cè)數(shù)據(jù)方差:

結(jié)果是41個(gè)維度,減少了近1/3,幾乎沒有信息丟失。根據(jù)這些預(yù)測(cè)數(shù)據(jù),讓我們使用AIC來計(jì)算我們應(yīng)該使用的GMM組件的數(shù)量:

似乎大約110個(gè)components最小化了AIC;我們將使用這個(gè)模型。我們迅速將其與數(shù)據(jù)擬合并確保它已收斂合:

現(xiàn)在我們可以使用GMM作為生成模型在這個(gè)41維投影空間內(nèi)繪制100個(gè)新點(diǎn)的樣本:

最后,我們可以使用PCA對(duì)象的逆變換來構(gòu)造新的數(shù)字:

大部分結(jié)果看起來像數(shù)據(jù)集中合理的數(shù)字!

考慮一下我們?cè)谶@里做了什么:給定一個(gè)手寫數(shù)字的樣本,我們已經(jīng)模擬了數(shù)據(jù)的分布,這樣我們就可以從數(shù)據(jù)中生成全新的數(shù)字樣本:這些是“手寫數(shù)字”,不是單獨(dú)的出現(xiàn)在原始數(shù)據(jù)集中,而是捕獲混合模型建模的輸入數(shù)據(jù)的一般特征。這種數(shù)字生成模型可以證明作為貝葉斯生成分類器的一個(gè)組成部分非常有用,我們將在下一節(jié)中看到。

python能做什么科學(xué)計(jì)算

python做科學(xué)計(jì)算的特點(diǎn):1. 科學(xué)庫很全。(推薦學(xué)習(xí):Python視頻教程)

科學(xué)庫:numpy,scipy。作圖:matplotpb。并行:mpi4py。調(diào)試:pdb。

2. 效率高。

如果你能學(xué)好numpy(array特性,f2py),那么你代碼執(zhí)行效率不會(huì)比fortran,C差太多。但如果你用不好array,那樣寫出來的程序效率就只能呵呵了。所以入門后,請(qǐng)一定花足夠多的時(shí)間去了解numpy的array類。

3. 易于調(diào)試。

pdb是我見過最好的調(diào)試工具,沒有之一。直接在程序斷點(diǎn)處給你一個(gè)截面,這只有文本解釋語言才能辦到。毫不夸張的說,你用python開發(fā)程序只要fortran的1/10時(shí)間。

4. 其他。

它豐富而且統(tǒng)一,不像C++的庫那么雜(好比pnux的各種發(fā)行版),python學(xué)好numpy就可以做科學(xué)計(jì)算了。python的第三方庫很全,但是不雜。python基于類的語言特性讓它比起fortran等更加容易規(guī)模化開發(fā)。

數(shù)值分析中,龍格-庫塔法(Runge-Kutta methods)是用于非線性常微分方程的解的重要的一類隱式或顯式迭代法。這些技術(shù)由數(shù)學(xué)家卡爾·龍格和馬丁·威爾海姆·庫塔于1900年左右發(fā)明。

龍格-庫塔(Runge-Kutta)方法是一種在工程上應(yīng)用廣泛的高精度單步算法,其中包括著名的歐拉法,用于數(shù)值求解微分方程。由于此算法精度高,采取措施對(duì)誤差進(jìn)行抑制,所以其實(shí)現(xiàn)原理也較復(fù)雜。

高斯積分是在概率論和連續(xù)傅里葉變換等的統(tǒng)一化等計(jì)算中有廣泛的應(yīng)用。在誤差函數(shù)的定義中它也出現(xiàn)。雖然誤差函數(shù)沒有初等函數(shù),但是高斯積分可以通過微積分學(xué)的手段解析求解。高斯積分(Gaussian integral),有時(shí)也被稱為概率積分,是高斯函數(shù)的積分。它是依德國數(shù)學(xué)家兼物理學(xué)家卡爾·弗里德里希·高斯之姓氏所命名。

洛倫茨吸引子及其導(dǎo)出的方程組是由愛德華·諾頓·洛倫茨于1963年發(fā)表,最初是發(fā)表在《大氣科學(xué)雜志》(Journal of the Atmospheric Sciences)雜志的論文《Deterministic Nonperiodic Flow》中提出的,是由大氣方程中出現(xiàn)的對(duì)流卷方程簡(jiǎn)化得到的。

這一洛倫茨模型不只對(duì)非線性數(shù)學(xué)有重要性,對(duì)于氣候和天氣預(yù)報(bào)來說也有著重要的含義。行星和恒星大氣可能會(huì)表現(xiàn)出多種不同的準(zhǔn)周期狀態(tài),這些準(zhǔn)周期狀態(tài)雖然是完全確定的,但卻容易發(fā)生突變,看起來似乎是隨機(jī)變化的,而模型對(duì)此現(xiàn)象有明確的表述。

更多Python相關(guān)技術(shù)文章,請(qǐng)?jiān)L問Python教程欄目進(jìn)行學(xué)習(xí)!以上就是小編分享的關(guān)于python能做什么科學(xué)計(jì)算的詳細(xì)內(nèi)容希望對(duì)大家有所幫助,更多有關(guān)python教程請(qǐng)關(guān)注環(huán)球青藤其它相關(guān)文章!

python 高階函數(shù)有哪些

什么是高階函數(shù)?

變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么函數(shù)可以接收另一個(gè)函數(shù)作為參數(shù),這種函數(shù)稱為高階函數(shù)。

python高階函數(shù)有哪些?

map函數(shù)

map()是python內(nèi)置的高階函數(shù),它接收兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是序列,map將傳入的函數(shù)依次作用到序列的每個(gè)元素,并且把結(jié)果作為新的列表返回。

filter函數(shù)

filter()同樣也是接收一個(gè)函數(shù)和一個(gè)序列,和map()不同的是,filter函數(shù)把傳入的函數(shù)依次作用于每個(gè)元素,然后返回返回值是True的元素。

reduce函數(shù)

reduce()把一個(gè)函數(shù)作用到一個(gè)序列上,這個(gè)函數(shù)必須接收兩個(gè)參數(shù),reduce把結(jié)果和序列的下一個(gè)元素做累積計(jì)算。

lambda函數(shù)

lambda()有時(shí)候傳參數(shù)時(shí)不需要顯示自定義的函數(shù),直接傳入匿名函數(shù)更方便;冒號(hào)前面的X,y表示函數(shù)參數(shù),匿名函數(shù)不需要擔(dān)心函數(shù)名的沖突,匿名函數(shù)也是一個(gè)函數(shù)對(duì)象,可以吧匿名函數(shù)賦值給一個(gè)變量,再利用變量來調(diào)用函數(shù),匿名函數(shù)也可以作為返回值返回。

sorted函數(shù)

sorted()作為python內(nèi)置高階函數(shù)之一,其功能是對(duì)序列(列表、元組、字典、集合、字符串)進(jìn)行排序。

2021-02-08 Python OpenCV GaussianBlur()函數(shù)

borderType= None)函數(shù)

此函數(shù)利用高斯濾波器平滑一張圖像。該函數(shù)將源圖像與指定的高斯核進(jìn)行卷積。

src:輸入圖像

ksize:(核的寬度,核的高度),輸入高斯核的尺寸,核的寬高都必須是正奇數(shù)。否則,將會(huì)從參數(shù)sigma中計(jì)算得到。

dst:輸出圖像,尺寸與輸入圖像一致。

sigmaX:高斯核在X方向上的標(biāo)準(zhǔn)差。

sigmaY:高斯核在Y方向上的標(biāo)準(zhǔn)差。默認(rèn)為None,如果sigmaY=0,則它將被設(shè)置為與sigmaX相等的值。如果這兩者都為0,則它們的值會(huì)從ksize中計(jì)算得到。計(jì)算公式為:

borderType:像素外推法,默認(rèn)為None(參考官方文檔 BorderTypes

)

在圖像處理中,高斯濾波主要有兩種方式:

1.窗口滑動(dòng)卷積

2.傅里葉變換

在此主要利用窗口滑動(dòng)卷積。其中二維高斯函數(shù)公式為:

根據(jù)上述公式,生成一個(gè)3x3的高斯核,其中最重要的參數(shù)就是標(biāo)準(zhǔn)差 ,標(biāo)準(zhǔn)差 越大,核中心的值與周圍的值差距越小,曲線越平滑。標(biāo)準(zhǔn)差 越小,核中心的值與周圍的值差距越大,曲線越陡峭。

從圖像的角度來說,高斯核的標(biāo)準(zhǔn)差 越大,平滑效果越不明顯。高斯核的標(biāo)準(zhǔn)差 越小,平滑效果越明顯。

可見,標(biāo)準(zhǔn)差 越大,圖像平滑程度越大

參考博客1:關(guān)于GaussianBlur函數(shù)

參考博客2:關(guān)于高斯核運(yùn)算

如何用python實(shí)現(xiàn)圖像的一維高斯濾波器

如何用python實(shí)現(xiàn)圖像的一維高斯濾波器

現(xiàn)在把卷積模板中的值換一下,不是全1了,換成一組符合高斯分布的數(shù)值放在模板里面,比如這時(shí)中間的數(shù)值最大,往兩邊走越來越小,構(gòu)造一個(gè)小的高斯包。實(shí)現(xiàn)的函數(shù)為cv2.GaussianBlur()。對(duì)于高斯模板,我們需要制定的是高斯核的高和寬(奇數(shù)),沿x與y方向的標(biāo)準(zhǔn)差(如果只給x,y=x,如果都給0,那么函數(shù)會(huì)自己計(jì)算)。高斯核可以有效的出去圖像的高斯噪聲。當(dāng)然也可以自己構(gòu)造高斯核,相關(guān)函數(shù):cv2.GaussianKernel().

import cv2

import numpy as np

import matplotlib.pyplot as plt

img = cv2.imread(‘flower.jpg‘,0) #直接讀為灰度圖像

for i in range(2000): #添加點(diǎn)噪聲

temp_x = np.random.randint(0,img.shape[0])

temp_y = np.random.randint(0,img.shape[1])

img[temp_x][temp_y] = 255

blur = cv2.GaussianBlur(img,(5,5),0)

plt.subplot(1,2,1),plt.imshow(img,‘gray‘)#默認(rèn)彩色,另一種彩色bgr

plt.subplot(1,2,2),plt.imshow(blur,‘gray‘)

怎么用python表示出二維高斯分布函數(shù),mu表示均值,sigma表示協(xié)方差矩陣,x表示數(shù)據(jù)點(diǎn)

clear?

close?all

%%%%%%%%%%%%%%%%%%%%%%%%%生成實(shí)驗(yàn)數(shù)據(jù)集

rand('state',0)

sigma_matrix1=eye(2);

sigma_matrix2=50*eye(2);

u1=[0,0];

u2=[30,30];

m1=100;

m2=300;%樣本數(shù)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm1數(shù)據(jù)集

Y1=multivrandn(u1,m1,sigma_matrix1);

Y2=multivrandn(u2,m2,sigma_matrix2);

scatter(Y1(:,1),Y1(:,2),'bo')

hold?on

scatter(Y2(:,1),Y2(:,2),'r*')

title('SM1數(shù)據(jù)集')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm2數(shù)據(jù)集

u11=[0,0];

u22=[5,5];

u33=[10,10];

u44=[15,15];

m=600;

sigma_matrix3=2*eye(2);

Y11=multivrandn(u11,m,sigma_matrix3);

Y22=multivrandn(u22,m,sigma_matrix3);

Y33=multivrandn(u33,m,sigma_matrix3);

Y44=multivrandn(u44,m,sigma_matrix3);

figure(2)

scatter(Y11(:,1),Y11(:,2),'bo')

hold?on

scatter(Y22(:,1),Y22(:,2),'r*')

scatter(Y33(:,1),Y33(:,2),'go')

scatter(Y44(:,1),Y44(:,2),'c*')

title('SM2數(shù)據(jù)集')

end

function?Y?=?multivrandn(u,m,sigma_matrix)

%%生成指定均值和協(xié)方差矩陣的高斯數(shù)據(jù)

n=length(u);

c?=?chol(sigma_matrix);

X=randn(m,n);

Y=X*c+ones(m,1)*u;

end

網(wǎng)站標(biāo)題:python產(chǎn)生高斯函數(shù)的簡(jiǎn)單介紹
網(wǎng)頁URL:http://www.chinadenli.net/article6/dooihog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航自適應(yīng)網(wǎng)站網(wǎng)站內(nèi)鏈營銷型網(wǎng)站建設(shè)軟件開發(fā)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)