老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

包含python高斯算子函數的詞條

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

本文翻譯自

專注于為中小企業提供網站設計制作、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業岱岳免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上1000+企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

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

我們將以一個標準的import開始

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

舉例而言,假設我們有些簡單的數據點,k-means算法能以某種方式很快地將它們聚類,跟我們肉眼分辨的結果很接近:

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

k-means模型的一種理解思路是,它在每個類蔟的中心放置了一個圈(或者,更高維度超球面),其半徑由聚類中最遠的點確定。該半徑充當訓練集中聚類分配的一個硬截斷:任何圈外的數據點不被視為該類的成員。我們可以使用以下函數可視化這個聚類模型:

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

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

但因為GMM包含概率模型,因此可以找到聚類分配的概率方式 - 在Scikit-Learn中,通過調用predict_proba方法實現。它將返回一個大小為[n_samples, n_clusters]的矩陣,用于衡量每個點屬于給定類別的概率:

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

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

有了這個,我們可以看看四成分的GMM為我們的初始數據提供了什么:

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

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

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

對于一個類蔟,下圖我們可以看到這三個選項的可視化表示:

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

例如,考慮一下Scikit-Learn的make_moons函數生成的一些數據:

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

但是如果我們使用更多成分的GMM模型,并忽視聚類的類別,我們會發現更接近輸入數據的擬合:

這里,16個高斯分布的混合不是為了找到分離的數據簇,而是為了對輸入數據的整體分布進行建模。這是分布的一個生成模型,這意味著GMM為我們提供了生成與我們的輸入類似分布的新隨機數據的方法。例如,以下是從這個16分量GMM擬合到我們原始數據的400個新點:

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

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

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

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

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

我們剛剛看到了一個使用GMM作為數據生成模型的簡單示例,以便根據輸入數據定義的分布創建新樣本。在這里,我們將運行這個想法,并從我們以前使用過的標準數字語料庫中生成新的手寫數字。

首先,讓我們使用Scikit-Learn的數據工具加載數字數據:

接下來讓我們繪制前100個,以準確回憶我們正在看的內容:

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

結果是41個維度,減少了近1/3,幾乎沒有信息丟失。根據這些預測數據,讓我們使用AIC來計算我們應該使用的GMM組件的數量:

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

現在我們可以使用GMM作為生成模型在這個41維投影空間內繪制100個新點的樣本:

最后,我們可以使用PCA對象的逆變換來構造新的數字:

大部分結果看起來像數據集中合理的數字!

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

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

borderType= None)函數

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

src:輸入圖像

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

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

sigmaX:高斯核在X方向上的標準差。

sigmaY:高斯核在Y方向上的標準差。默認為None,如果sigmaY=0,則它將被設置為與sigmaX相等的值。如果這兩者都為0,則它們的值會從ksize中計算得到。計算公式為:

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

)

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

1.窗口滑動卷積

2.傅里葉變換

在此主要利用窗口滑動卷積。其中二維高斯函數公式為:

根據上述公式,生成一個3x3的高斯核,其中最重要的參數就是標準差 ,標準差 越大,核中心的值與周圍的值差距越小,曲線越平滑。標準差 越小,核中心的值與周圍的值差距越大,曲線越陡峭。

從圖像的角度來說,高斯核的標準差 越大,平滑效果越不明顯。高斯核的標準差 越小,平滑效果越明顯。

可見,標準差 越大,圖像平滑程度越大

參考博客1:關于GaussianBlur函數

參考博客2:關于高斯核運算

怎么用python表示出二維高斯分布函數,mu表示均值,sigma表示協方差矩陣,x表示數據點

clear?

close?all

%%%%%%%%%%%%%%%%%%%%%%%%%生成實驗數據集

rand('state',0)

sigma_matrix1=eye(2);

sigma_matrix2=50*eye(2);

u1=[0,0];

u2=[30,30];

m1=100;

m2=300;%樣本數

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm1數據集

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數據集')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm2數據集

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數據集')

end

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

%%生成指定均值和協方差矩陣的高斯數據

n=length(u);

c?=?chol(sigma_matrix);

X=randn(m,n);

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

end

如何用python實現圖像的一維高斯濾波器

如何用python實現圖像的一維高斯濾波器

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

import cv2

import numpy as np

import matplotlib.pyplot as plt

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

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

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‘)#默認彩色,另一種彩色bgr

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


網頁標題:包含python高斯算子函數的詞條
地址分享:http://www.xueling.net.cn/article/hjjeis.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 免费看黄色大片 | 精品伦一区二区三区免费视频 | 无码成人片一区二区三区 | 精品国产品香蕉在线 | 91爱视频| 亚洲私人网站 | 极品无码国模国产在线观看 | 国无码精品一区二区三区在线蜜臀 | av老司机在线 | 成人免费A级黄毛片 | 亚洲伊人久久精品影院一美女洗澡 | 欧洲视频一区二区 | 久久久久久久久中文字幕 | 国产区一区二 | 三人交free性欧美 | 亚洲AV永久中文无码精品 | 奇米7777狠狠狠琪琪视频 | 欧美熟妇喷潮xxxx | 日本特大黄色片 | 国产aⅴ一区二区三区 | 成人天堂视频在线观看软件 | 亚洲精品一区二区四区 | 亚洲九色 | 特片网av| 999久久久无码国产精品 | 久久草在线视频播放 | 狂野欧美性猛交免费视频 | 国产免费乱淫av | 无码中文字幕AV免费放软件 | 成人宗合| 亚洲国产精品成人久久久软件 | 亚洲色大成网站www久久九九 | 国产麻花豆剧传媒精品mv在线 | 91大片在线观看 | 国产精品自在自线 | 国产影视一区 | 91天天干| 国产精品亚洲成在人线 | 在线观看免费视频日韩 | 91精品啪 | av片免费播放 |