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

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

この記事では、ガウス混合モデルを使用して 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 年経って、反論されたのでしょうか?ジェフ・ディーンの論文はソースコードを隠蔽した疑いで公式調査中

ブログ    
ブログ    

推薦する

AI は言語をより早く習得するために何ができるでしょうか?

新しい言語を学ぶことは間違いなく挑戦です。特に 18 歳以上の人にとっては、これまで触れたことのない...

スマート健康システムがコロナウイルス隔離中の人々を監視

新型コロナウイルスの世界的な感染拡大は187の国と地域に広がり、417万人が感染している。ほとんどの...

2024年のデジタル変革のトレンド

AI と自動化が進歩するにつれて、企業は人間的なタッチを維持しながらこれらのツールを最も効果的に活用...

...

...

Amazon が「AI チケット」を購入するために 40 億ドルを費やす!ユニコーン企業に投資し、ライバル企業から幹部を引き抜く

米国現地時間9月25日、AmazonとAnthropicは共同で次のように発表した。アマゾンはアント...

Microsoft Copilot は、コード インタープリター、DALL·E 3、ChatGPT を備えた完全バージョンに進化しました。

Copilot のリリース 1 周年を記念して、一連のメジャー アップデートが予定されています。 ...

ビッグデータAIベースのセキュリティシステムにおける倫理的偏見

「機械は人間を攻撃できるか?」という疑問は、世界中の会議やソーシャルチャットの議論のテーブルで浮上し...

新たなAIスタントがあなたの人生と私の人生への影響を加速させる

現在「ホットスポットの中のホットスポット」として、人工知能は絶大な人気を誇っています。モバイルインタ...

...

オンラインレビューの 7 分の 1 は偽物です。人工知能は役に立つでしょうか?

目視で観察すると、コメント欄は中国文学の巨匠の密度が比較的高く、侮辱やおどけのレベルも比較的高く、A...

次世代言語モデルパラダイム LAM が登場します! AutoGPTモデルがLLMを席巻、計画、メモリ、ツールの3つの主要コンポーネントの包括的なレビュー

ChatGPT によって開始された AI の波は私たちを人工知能の時代へと導き、言語モデルは日常生活...

人工知能がスマートファクトリーにもたらす力

現在、製造業における人工知能技術の応用が急成長しています。自社にとって適切な人工知能ツールをどのよう...

ジャック・マー、孫丑樹、劉強東、周紅一はいかにして「スマート時代」に突入したのか?

近年、人工知能は大手企業の重要な研究分野となり、「政府活動報告」にも記載されるようになりました。これ...

...