ガウス混合モデルを用いた多峰性分布の分離

ガウス混合モデルを用いた多峰性分布の分離

この記事では、ガウス混合モデルを使用して 1 次元の多峰性分布を複数の分布に分割する方法を説明します。

ガウス混合モデル (GMM) は、複雑なデータ分布をモデル化および分析するために統計や機械学習で一般的に使用される確率モデルです。 GMM は、観測データが複数のガウス分布で構成され、各ガウス分布はコンポーネントと呼ばれ、これらのコンポーネントは重みによって制御され、データへの寄与を制御すると仮定する生成モデルです。

マルチモーダル分布によるデータ生成

これは、データ セットが複数の異なるピークまたはモードを示し、各モードが分布内のデータ ポイントの顕著なクラスターまたは集中を表す場合によく発生します。これらのモードは、データ値が発生する可能性がより高い高密度の領域として見ることができます。

numpy によって生成された 1 次元配列を使用します。

 import numpy as np dist_1 = np.random.normal(10, 3, 1000) dist_2 = np.random.normal(30, 5, 4000) dist_3 = np.random.normal(45, 6, 500) multimodal_dist = np.concatenate((dist_1, dist_2, dist_3), axis=0)

データの分布を 1 次元で視覚化してみましょう。

 import matplotlib.pyplot as plt import seaborn as sns sns.set_style('whitegrid') plt.hist(multimodal_dist, bins=50, alpha=0.5) plt.show()

ガウス混合モデルを用いた多峰性分布の分離

以下では、ガウス混合モデルを使用して各分布の平均と標準偏差を計算し、多峰性分布を元の 3 つの分布に分離します。ガウス混合モデルは、データのクラスタリングに使用できる確率的な教師なしモデルです。期待最大化アルゴリズムを使用して密度領域を推定します。

 from sklearn.mixture import GaussianMixture gmm = GaussianMixture(n_compnotallow=3) gmm.fit(multimodal_dist.reshape(-1, 1)) means = gmm.means_ # Conver covariance into Standard Deviation standard_deviations = gmm.covariances_**0.5 # Useful when plotting the distributions later weights = gmm.weights_ print(f"Means: {means}, Standard Deviations: {standard_deviations}") #Means: [29.4, 10.0, 38.9], Standard Deviations: [4.6, 3.1, 7.9]

平均と標準偏差がわかったので、元の分布をモデル化できます。平均値と標準偏差は正確には正確ではないかもしれませんが、近い推定値を提供していることがわかります。

私たちの推定値を元のデータと比較してください。

 from scipy.stats import norm fig, axes = plt.subplots(nrows=3, ncols=1, sharex='col', figsize=(6.4, 7)) for bins, dist in zip([14, 34, 26], [dist_1, dist_2, dist_3]): axes[0].hist(dist, bins=bins, alpha=0.5) axes[1].hist(multimodal_dist, bins=50, alpha=0.5) x = np.linspace(min(multimodal_dist), max(multimodal_dist), 100) for mean, covariance, weight in zip(means, standard_deviations, weights): pdf = weight*norm.pdf(x, mean, std) plt.plot(x.reshape(-1, 1), pdf.reshape(-1, 1), alpha=0.5) plt.show()

要約する

ガウス混合モデルは、複雑なデータ分布をモデル化および分析するために使用できる強力なツールであり、多くの機械学習アルゴリズムの基盤の 1 つでもあります。その適用範囲は複数の分野をカバーし、さまざまなデータ モデリングおよび分析の問題を解決できます。

このアプローチは、入力変数内のサブ分布の信頼区間を推定するための特徴エンジニアリング手法として使用できます。

<<:  不均衡なデータを処理する Python ライブラリ トップ 10

>>:  Google の「AI が 6 時間でチップを設計」という論文が Nature に掲載されてから 2 年経って、反論されたのでしょうか?ジェフ・ディーンの論文はソースコードを隠蔽した疑いで公式調査中

ブログ    
ブログ    

推薦する

...

エントリーレベルのデータベースアルゴリズム [パート 2]

前回の記事「エントリーレベルのデータベースのアルゴリズム [I]」では、いくつかのデータ アルゴリズ...

李開復:「AI+」から「+AI」へ、テクノロジーが中国経済を変革

人工知能カンファレンスでAI業界の変化について語る李開復氏2020年世界人工知能会議において、Sin...

機械学習がデータセンターを進化させる方法

1. はじめにビッグデータ革命によりデータセンターが爆発的に増加し、エネルギー消費量はますます増加し...

Google は、開発者が独自のモデルを構築できるようにエンドツーエンドの AI プラットフォームをリリースしました。

Google は一連の人工知能ツールをリリースしました。これらすべての新しいツールとサービスの核と...

顔認識は優れているが、業界の自制心と法的監督が依然として必要である。

近年、顔認識をめぐる論争が絶えません。少し前に、「初の顔認識事件」の第一審判決が発表され、杭州野生動...

...

顔認識機能付きマスクでiPhoneのロックを解除できる、ネットユーザー「大丈夫、必要ない」

[[315444]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...

...

機械学習が物流、輸送、旅行を変革

スイスはアルプス山脈の高速道路で何万台もの貨物トラックによる渋滞と汚染に直面したため、世界最長かつ最...

厦門大学、インテル、DJI による共同プロジェクトで、オンライン動画からゼロショット画像マッチングの大規模モデルを学習

画像マッチングは、2 つの画像間のピクセルの対応を推定することを目的とした、コンピューター ビジョン...

...

...

NatureがAIGC禁止令を発令!ビジュアルコンテンツにAIを使用した投稿は受け付けられません

最も権威のある科学雑誌の一つであるネイチャー誌は最近、明確な声明を発表しました。 生成型人工知能 (...

...