什麼是期望最大化演算法?
EM(期望最大化)演算法是一種著名的迭代細化演算法,可用於發現引數估計。它可以被認為是 k-means 正規化的擴充套件,根據聚類均值,將物件建立到與其最相似的聚類中。
EM 根據定義成員機率的權重將每個物件建立到一個聚類中。換句話說,聚類之間沒有嚴格的邊界。因此,新的均值是基於加權度量來評估的。
EM 從組合模型引數的原始估計或“猜測”開始(統稱為引數向量)。它可以迭代地重新評分物件,而不是引數向量生成的混合密度。重新評分的物件用於恢復引數估計。每個物件都建立了一個機率,表明在它是給定聚類成員的情況下,它可以擁有特定屬性值的特定集合。該演算法表示如下:
它可以用來對引數向量進行初始猜測 - 這包括隨機選擇 k 個物件來定義聚類均值或中心(如在 k-means 分割槽中),並對新引數進行猜測。
它可以根據以下兩個步驟重複細化引數(或聚類):
(a) 期望步驟 - 它可以將每個物件 xi 建立到聚類 ck 中,其機率為
$$P(x_{i}\epsilon C_{k})=p(C_{k}|x_{i})=\frac{p(C_{k})p(x_{i}|C_{k})}{p(x_{i})}$$
其中 p(xi|Ck ) = N(mk, Ek (xi)) 遵循圍繞均值 mk 的正態(即高斯)分佈,期望為 Ek。換句話說,此步驟計算每個聚類的物件 xi 的聚類成員機率。這些機率是物件 xi 的“預期”聚類成員資格。
(b) 最大化步驟 - 它需要以上機率估計來重新估計(或細化)模型引數。例如,
$$m_{k}=\frac{1}{n}\sum_{i=1}^{n}\frac{x_{i}P(x_{i}\epsilon C_{k})}{\sum_{j}P(x_{i}\epsilon C_{j})}$$
此階段是給定資料的情況下,分配似然的“最大化”。
EM 演算法簡單易懂,執行起來也比較方便。它收斂速度快,但無法達到全域性最優。對於特定形式的最佳化函式,收斂是有保證的。計算複雜度與 d(輸入特徵數)、n(專案數)和 t(冗餘度數)呈線性關係。貝葉斯聚類技術的目標是計算類條件機率密度。它們通常用於統計學界。
在工業界,AutoClass 是一種著名的貝葉斯聚類技術,它使用了 EM 演算法的修改版本。最佳聚類最大化了給定物件準確聚類的情況下預測物件屬性的能力。AutoClass 還可以估計聚類數量。它已被用於各個領域,並且能夠根據紅外天文學資料找到一類新的恆星。