最尤推定量-多変量ガウス


20

環境

多変量ガウス分布は機械学習で頻繁に使用され、次の結果は多くのMLブックおよび派生物なしのコースで使用されます。

次元行列の 形式のデータが与えられ、データが 平均()および共分散行列(変量ガウス分布に従うと仮定した場合)最尤推定量は次によって与えられます:Xm×ppμp×1Σp×p

  • μ^=1m∑i=1mx(i)=x¯
  • Σ^=1m∑i=1m(x(i)−μ^)(x(i)−μ^)T

多変量ガウスの知識は多くのMLコースの前提条件であることを理解していますが、多くの自己学習者が統計を跳ね回っていると感じているので、自己完結型の回答に完全に由来することが役立つと思います。 stackexchangeおよびmath.stackexchange Webサイトで回答を探しています。


質問

多変量ガウスの最尤推定量の完全な導出は何ですか


例:

これらの線形判別分析の講義ノート(11ページ)、またはこれらのものは結果を利用すると、以前の知識を前提としています。

また、部分的に回答またはクローズされている投稿もいくつかあります。

回答:


24

最尤推定量の導出

それぞれサイズランダムベクトルがと仮定します。ここで、各ランダムベクトルは個の変数にわたる観測(データポイント)として解釈されます。各が多変量ガウスベクトルとしてiidである場合:のp X (1 )、X (2 )、。。。、X (m ) p X (i )mpX(1),X(2),...,X(m)pX(i)

X(i)∼Np(μ,Σ)

パラメータが不明です。それらの推定値を取得するために、最尤法を使用して対数尤度関数を最大化できます。μ,Σ

ランダムベクトルの独立性により、データの結合密度は個々の密度の積であることに注意してください。、である。対数を取ると、対数尤度関数が得られます∏ m i = 1 f X (i )(x (i ) ; μ 、Σ){X(i),i=1,2,...,m}∏i=1mfX(i)(x(i);μ,Σ)

l(μ,Σ|x(i))=log⁡∏i=1mfX(i)(x(i)|μ,Σ)=log⁡ ∏i=1m1(2π)p/2|Σ|1/2exp⁡(−12(x(i)−μ)TΣ−1(x(i)−μ))=∑i=1m(−p2log⁡(2π)−12log⁡|Σ|−12(x(i)−μ)TΣ−1(x(i)−μ))

l(μ,Σ;)=−mp2log⁡(2π)−m2log⁡|Σ|−12∑i=1m(x(i)−μ)TΣ−1(x(i)−μ)

導出μ^

に関して導関数を取得し、ゼロに等しくするために、次の行列計算恒等式を使用します。μ

WAA∂wTAw∂w=2Aw が依存せず、が対称である場合、wAA

∂∂μl(μ,Σ|x(i))=∑i=1mΣ−1(μ−x(i))=0Since Σ is positive definite0=mμ−∑i=1mx(i)μ^=1m∑i=1mx(i)=x¯

これは、サンプル平均ベクトルと呼ばれます。

導出Σ^

共分散行列のMLEを導出するには、より多くの作業と、次の線形代数と計算のプロパティの使用が必要です。

  • トレースは、行列積の巡回置換では不変ですtr[ACB]=tr[CAB]=tr[BCA]
  • 以来スカラーである、我々はそのトレースを取ると同じ値を得ることができます:x t A x = t r [ x T A x ] = t r [ x t x A ]xTAxxtAx=tr[xTAx]=tr[xtxA]
  • ∂∂Atr[AB]=BT
  • ∂∂Alog⁡|A|=A−T

これらのプロパティを組み合わせると、計算が可能になります

∂∂AxtAx=∂∂Atr[xTxA]=[xxt]T=xTTxT=xxT

これは、ベクトルとそれ自体の外積です。x

対数尤度関数を書き直して、微分wrtを計算できます(は定数です) CΣ−1C

l(μ,Σ|x(i))=C−m2log⁡|Σ|−12∑i=1m(x(i)−μ)TΣ−1(x(i)−μ)=C+m2log⁡|Σ−1|−12∑i=1mtr[(x(i)−μ)(x(i)−μ)TΣ−1]∂∂Σ−1l(μ,Σ|x(i))=m2Σ−12∑i=1m(x(i)−μ)(x(i)−μ)T  Since ΣT=Σ

ゼロに等しくしてを解くΣ

0=mΣ−∑i=1m(x(i)−μ)(x(i)−μ)TΣ^=1m∑i=1m(x(i)−μ^)(x(i)−μ^)T

ソース


代替証明、よりコンパクトなフォーム、または直感的な解釈が歓迎されます!
— ザビエルバレットシコット

の導出で、なぜは正定である必要があるのですか?は可逆的で十分だと思いますか?正則行列のための、のみ?μΣ A A X = 0 、X = 0ΣΣAAx=0x=0
— トムベネット

明確にするために、は、ベクトル間の相関を示す有限の対角成分および非対角成分を持つ行列です、正しいですか?その場合、これらのベクトルはどのような意味で独立していますか?また、なぜ結合確率関数は尤度に等しいのですか?ジョイント密度は、尤度に事前確率を乗じたもの、つまり等しいべきではありませんか?M × M F (X 、Y )F (X | Y )F (Y )Σm×mf(x,y)f(x|y)f(y)
— Mathews24

1
@TomBennettシグマ行列は定義により正定値です- 証拠についてはstats.stackexchange.com/questions/52976/…を参照してください。行列計算の恒等式では、行列が正定値ではなく対称である必要があります。ただし、正定行列は常に対称であるため、機能します
— Xavier Bourret Sicotte

1
はい、確かに-観測間の独立性は尤度を得ることができます-言葉遣いは十分に不明瞭かもしれません-これは尤度の多変量バージョンです。事前は関係なく、まだ無関係です
— ザビエル・バレット・シコット

5

ための代替証明に対して導関数を取る:直接Σ^Σ

上記の対数尤度でピックアップ: ここで、そして、の循環および線形特性を使用しました。を計算するには、まず

ℓ(μ,Σ)=C−m2log⁡|Σ|−12∑i=1mtr[(x(i)−μ)TΣ−1(x(i)−μ)]=C−12(mlog⁡|Σ|+∑i=1mtr[(x(i)−μ)(x(i)−μ)TΣ−1])=C−12(mlog⁡|Σ|+tr[SμΣ−1])
Sμ=∑i=1m(x(i)−μ)(x(i)−μ)Ttr∂ℓ/∂Σ
∂∂Σlog⁡|Σ|=Σ−T=Σ−1
上記の4番目のプロパティ。2番目の項の導関数を取得するには、 (Matrix Cookbookより、式63)。これを適用すると、 、と両方が対称であるためです。それから
∂∂Xtr(AX−1B)=−(X−1BAX−1)T.
B=I
∂∂Σtr[SμΣ−1]=−(Σ−1SμΣ−1)T=−Σ−1SμΣ−1
ΣSμ
∂∂Σℓ(μ,Σ)∝mΣ−1−Σ−1SμΣ−1.
これを0に設定して再配置すると、 Σ =1
Σ^=1mSμ.

このアプローチは、に関して導関数を使用する標準的なアプローチよりも多くの作業が必要であり、より複雑なトレースIDが必要です。をよりも使用するのがはるかに難しいと思われる修正尤度関数の導関数を取得する必要があるので、私はそれが有用だと感じました。Λ=Σ−1∂/∂Σ−1∂/∂Σ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.