丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給skura
發(fā)送

0

如何利用高斯混合模型建立更好、更精確的集群?

本文作者: skura 2019-12-07 19:04
導(dǎo)語:高斯混合模型的入門指南

高斯混合模型是一種強(qiáng)大的聚類算法。本文將帶你了解高斯混合模型的工作原理以及如何在 Python 中實(shí)現(xiàn)它們,我們還將討論 k-means 聚類算法,看看高斯混合模型是如何對它進(jìn)行改進(jìn)的。

我真的很喜歡研究無監(jiān)督的學(xué)習(xí)問題。相對于一個(gè)有監(jiān)督的學(xué)習(xí)問題來說,它們提供了一個(gè)完全不同的挑戰(zhàn)——有更多的空間來試驗(yàn)我的數(shù)據(jù)。難怪機(jī)器學(xué)習(xí)領(lǐng)域的大多數(shù)發(fā)展和突破都發(fā)生在無監(jiān)督學(xué)習(xí)領(lǐng)域。

無監(jiān)督學(xué)習(xí)中最流行的技術(shù)之一是聚類。這是一個(gè)概念且很容易掌握,我們通常在機(jī)器學(xué)習(xí)的早期學(xué)習(xí)它。我相信你已經(jīng)經(jīng)歷甚至參與過客戶細(xì)分、市場籃分析等項(xiàng)目。

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型

但問題是——集群有很多層。它不僅限于我們之前學(xué)習(xí)的基本算法。它是一種強(qiáng)大的無監(jiān)督學(xué)習(xí)技術(shù),我們可以在現(xiàn)實(shí)世界中準(zhǔn)確無誤地使用它。

高斯混合模型是我在本文中要討論的一種聚類算法。

想預(yù)測你最喜歡的產(chǎn)品的銷量嗎?想通過不同客戶群體的視角來理解客戶流失?不管是什么用例,你都會(huì)發(fā)現(xiàn)高斯混合模型非常有用。

在本文中,我們將采用自下而上的方法。因此,我們將首先學(xué)習(xí)聚類的基礎(chǔ)知識,包括快速回顧 k-means 算法。然后,我們將深入研究高斯混合模型的概念并用 Python 實(shí)現(xiàn)它們。

如果你對集群和數(shù)據(jù)科學(xué)還不熟悉,我建議您學(xué)習(xí)以下綜合課程:Applied Machine Learning

本文將分為以下幾個(gè)部分:

  • 聚類簡介

  • k-means 聚類簡介

  • k-means 聚類的缺點(diǎn)

  • 高斯混合模型簡介

  • 高斯分布

  • 什么是期望最大化?

  • 高斯混合模型中的期望最大化

聚類簡介

在我們開始討論高斯混合模型的本質(zhì)之前,讓我們快速更新一些基本概念。

注意:如果你已經(jīng)熟悉了聚類背后的思想以及 k-means 聚類算法的工作原理,可以直接跳到第四節(jié)「高斯混合模型簡介」。

因此,讓我們從正式定義開始:

聚類是指根據(jù)相似數(shù)據(jù)點(diǎn)的屬性或特征將它們分組在一起。

例如,如果我們有一組人的收入和支出,我們可以將他們分為以下幾類:

  • 高收入,高消費(fèi)

  • 高收入,低消費(fèi)

  • 低收入,低消費(fèi)

  • 低收入,高消費(fèi)

如何利用高斯混合模型建立更好、更精確的集群?

這些組都分別擁有一個(gè)具有相似特征,這在向組投遞相關(guān)方案/產(chǎn)品時(shí)非常有用。想想信用卡、汽車/房產(chǎn)貸款是不是這樣的?簡單地說:

集群背后的思想是將數(shù)據(jù)點(diǎn)分組在一起,這樣每個(gè)單獨(dú)的集群都擁有最相似的數(shù)據(jù)點(diǎn)。

有各種各樣的聚類算法。最流行的聚類算法之一是 k-means。讓我們了解 k-means 算法是如何工作的,以及該算法可能達(dá)不到預(yù)期的情況。

k-means 聚類簡介

k-means 聚類是一種基于距離的聚類算法。這意味著它試圖將最近的點(diǎn)分組以形成一個(gè)簇。

讓我們仔細(xì)看看這個(gè)算法是如何工作的。這將幫助你了解高斯混合模型是如何在本文后面發(fā)揮作用的。

因此,我們首先定義要將總體劃分為的組的數(shù)量——這是 k 的值。根據(jù)需要的簇或組的數(shù)量,隨機(jī)初始化 k 個(gè)質(zhì)心。

然后將數(shù)據(jù)點(diǎn)指定給最近的質(zhì)心,形成一個(gè)簇。然后更新質(zhì)心并重新分配數(shù)據(jù)點(diǎn)。這個(gè)過程不斷重復(fù),直到質(zhì)心的位置不再改變。

這里有個(gè)視頻代表了初始化和更新集群的整個(gè)過程,其中,群集數(shù)被指定為 10:https://thumbs.gfycat.com/SoftEnragedHypsilophodon-mobile.mp4

如何利用高斯混合模型建立更好、更精確的集群?

注意:這是 k-means 聚類的簡要概述,對于本文來說已經(jīng)足夠了。如果你想深入研究 k-means 算法的工作,這里有一個(gè)深入的指南:The Most Comprehensive Guide to k-means you’ll Ever Need !

k-means 聚類的缺點(diǎn)

k-means 聚類概念聽起來不錯(cuò),對吧?它易于理解,相對容易實(shí)現(xiàn),并且可以應(yīng)用于很多用例中。但也有一些缺點(diǎn)和局限性需要我們注意。

讓我們以我們在上面看到的同樣的收支例子為例。k-means 算法似乎運(yùn)行得很好,但是,如果你仔細(xì)觀察,你會(huì)發(fā)現(xiàn)所有創(chuàng)建的簇都是圓形的。這是因?yàn)榧旱馁|(zhì)心是使用平均值迭代更新的。

現(xiàn)在,考慮下面的例子,其中點(diǎn)的分布不是圓形的。如果我們對這些數(shù)據(jù)使用 k-means 聚類,你認(rèn)為會(huì)發(fā)生什么?它仍然試圖以循環(huán)方式對數(shù)據(jù)點(diǎn)進(jìn)行分組。那不太好!k-means 無法識別正確的集群:

如何利用高斯混合模型建立更好、更精確的集群?

k-means 高斯混合模型

因此,我們需要一種不同的方法來將集群分配給數(shù)據(jù)點(diǎn)。因此,我們不再使用基于距離的模型,而是使用基于分布的模型。

高斯混合模型簡介

高斯混合模型(GMMs)假設(shè)存在一定數(shù)量的高斯分布,并且每個(gè)分布代表一個(gè)簇。因此,高斯混合模型傾向于將屬于單一分布的數(shù)據(jù)點(diǎn)組合在一起。

假設(shè)我們有三個(gè)高斯分布——GD1、GD2 和 GD3。它們分別具有一定的均值(μ1,μ2,μ3)和方差(σ1,σ2,σ3)。對于給定的一組數(shù)據(jù)點(diǎn),我們的 GMM 將識別屬于這些分布的每個(gè)數(shù)據(jù)點(diǎn)的概率。

等等,概率?

對的!高斯混合模型是一種概率模型,采用軟聚類方法對不同的聚類點(diǎn)進(jìn)行分布。我再舉一個(gè)例子,讓大家更容易理解。

在這里,我們有三個(gè)集群,用三種顏色表示——藍(lán)色、綠色和青色。讓我們以紅色突出顯示的數(shù)據(jù)點(diǎn)為例。該點(diǎn)成為藍(lán)色團(tuán)簇一部分的概率為 1,而成為綠色或青色團(tuán)簇一部分的概率為 0。

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型

現(xiàn)在,考慮另一個(gè)點(diǎn)-介于藍(lán)色和青色之間(在下圖中突出顯示)。這個(gè)點(diǎn)是綠色簇的一部分的概率是 0,對吧?這屬于藍(lán)色和青色的概率分別為 0.2 和 0.8。 

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型使用軟聚類技術(shù)將數(shù)據(jù)點(diǎn)分配給高斯分布。你肯定想知道這些分布是什么,所以讓我在下一節(jié)解釋一下。

高斯分布

我相信你熟悉高斯分布(或正態(tài)分布)。它有一個(gè)鐘形曲線,數(shù)據(jù)點(diǎn)圍繞平均值對稱分布。

下圖有一些高斯分布,平均值(μ)和方差(σ2)不同。記住,σ 值越高,價(jià)差越大:

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型(來源:維基百科)

在一維空間中,高斯分布的概率密度函數(shù)由下式給出:

如何利用高斯混合模型建立更好、更精確的集群?

高斯分布

其中μ是平均值,σ2 是方差。

但這只適用于單個(gè)變量。在兩個(gè)變量的情況下,我們將得到如下所示的三維鐘形曲線,而不是二維鐘形曲線:

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型

概率密度函數(shù)由以下公式給出:

如何利用高斯混合模型建立更好、更精確的集群?

高斯分布

其中 x 是輸入向量,μ是 2D 平均向量,∑ 是 2×2 協(xié)方差矩陣。協(xié)方差現(xiàn)在可以定義曲線的形狀。我們也可以對 d 維進(jìn)行推廣。

因此,這個(gè)多元高斯模型將 x 和 μ 作為長度 d 的向量,∑ 將是一個(gè) d×d 協(xié)方差矩陣。

因此,對于具有 d 個(gè)特征的數(shù)據(jù)集,我們將得到 k 個(gè)高斯分布(其中 k 相當(dāng)于簇的數(shù)量)的混合,每個(gè)都有一定的平均向量和方差矩陣。但是,如何分配每個(gè)高斯分布的均值和方差值?

這些值用一種叫做期望最大化(EM)的技術(shù)來確定。在深入研究高斯混合模型之前,我們需要了解這項(xiàng)技術(shù)。

什么是期望最大化?

好問題!

期望最大化(EM)是尋找正確模型參數(shù)的統(tǒng)計(jì)算法。當(dāng)數(shù)據(jù)缺少值時(shí),或者換句話說,當(dāng)數(shù)據(jù)不完整時(shí),我們通常使用 EM。

這些缺失的變量稱為潛在變量。當(dāng)我們在研究一個(gè)無監(jiān)督學(xué)習(xí)問題時(shí),我們認(rèn)為目標(biāo)(或簇?cái)?shù))是未知的。

由于缺少這些變量,很難確定正確的模型參數(shù)。這樣想吧——如果你知道哪個(gè)數(shù)據(jù)點(diǎn)屬于哪個(gè)集群,你就很容易確定平均向量和協(xié)方差矩陣。

由于我們沒有潛在變量的值,期望最大化試圖利用現(xiàn)有數(shù)據(jù)來確定這些變量的最優(yōu)值,然后找到模型參數(shù)?;谶@些模型參數(shù),我們返回并更新潛在變量的值。

廣義上,期望最大化算法有兩個(gè)步驟:

  • E-step:在這個(gè)步驟中,可用的數(shù)據(jù)用于估計(jì)(猜測)丟失變量的值

  • M-step:根據(jù) E-step 中生成的估計(jì)值,使用完整的數(shù)據(jù)更新參數(shù)

期望最大化是許多算法的基礎(chǔ),包括高斯混合模型。那么,GMM 如何使用 EM 的概念,以及如何將其應(yīng)用于給定的點(diǎn)集?讓我們看看!

高斯混合模型中的期望最大化

讓我們用另一個(gè)例子來理解這一點(diǎn)。我想讓你在讀的時(shí)候自己也思考以下。這將幫助你更好地理解我們在說什么。

假設(shè)我們需要分配 k 個(gè)簇。這意味著存在 k 個(gè)高斯分布,平均值和協(xié)方差值為 μ1,μ2 ... μk 和 ∑1,∑2 ... ∑k。此外,還有一個(gè)用于分布的參數(shù),用于定義分布的點(diǎn)數(shù)?;蛘邠Q句話說,分布密度用 ∏i 表示。

現(xiàn)在,我們需要找到這些參數(shù)的值來定義高斯分布。我們已經(jīng)決定了簇的數(shù)量,并隨機(jī)分配了均值、協(xié)方差和密度的值。接下來,我們將執(zhí)行 E-step 和 M-step!

E-step:

對于每個(gè)點(diǎn) Xi,計(jì)算它屬于簇/分布 C1、C2、…CK 的概率。使用以下公式完成此操作:

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型

該值將在將點(diǎn)指定給右簇時(shí)為高,否則為低。

M-step:

完成 E-step 后,我們返回并更新 ∏,μ 和 ∑ 值。更新方式如下:

  • 新密度由群集中的點(diǎn)數(shù)與總點(diǎn)數(shù)的比率定義:

如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型

  • 平均值和協(xié)方差矩陣根據(jù)分配給分布的值進(jìn)行更新,與數(shù)據(jù)點(diǎn)的概率值成比例。因此,具有更高概率成為該分布一部分的數(shù)據(jù)點(diǎn)將貢獻(xiàn)更大的部分:

    如何利用高斯混合模型建立更好、更精確的集群?

高斯混合模型

基于此步驟生成的更新值,我們計(jì)算每個(gè)數(shù)據(jù)點(diǎn)的新概率并迭代更新值。為了最大化對數(shù)似然函數(shù),重復(fù)該過程。實(shí)際上我們可以說:

k-means 只考慮更新質(zhì)心的均值,而 GMM 則考慮數(shù)據(jù)的均值和方差!

結(jié)語

這是高斯混合模型的入門指南。我在這里的目的是向你介紹這種強(qiáng)大的聚類技術(shù),并展示它與傳統(tǒng)算法相比是多么高效。

我鼓勵(lì)你參加一個(gè)集群項(xiàng)目并在那里嘗試 GMMs。這是學(xué)習(xí)和理解一個(gè)概念的最好方法——相信我,你會(huì)意識到這個(gè)算法有多有用!

via:https://www.analyticsvidhya.com/blog/2019/10/gaussian-mixture-models-clustering/ 

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

如何利用高斯混合模型建立更好、更精確的集群?

分享:
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說