EM演算法 存在雜訊的EM演算法

2022-10-08 18:54:17 字數 2553 閱讀 2537

1 em演算法的

r語言實現

#步驟1

資料集準備及其描述

#步驟2

構建em

演算法模型,指定分3類

#步驟3

構建em

演算法模型,指定先驗概率

2 存在雜訊的

em演算法r語言實現

#步驟1

資料集準備

set.seed(0) #設定隨機種子

nnoise=100

dim(faithful)

解釋:#runif()

函式用於生成從0到

1區間範圍內的服從正態分佈的隨機數,每次生成的值都不一樣。

#runif(20)

表示生成20個

0到1之間的隨機數

#runif(nnoise,min=min(x)-.1,max=max(x)+.1) 表示總共生成nnoise個隨機數,且隨機數下限為min=min(x)-.1,上限為max=max(x)+.1,

第乙個引數表示要參與計算的資料,第二個引數

1表示對行計算,

2表示對列計算,第三個引數表示對資料的行(列)進行什麼運算(比如:均值,和等)。

表示生成

100個隨機數,且最小的數比faithful資料中最小的小

0.1,最大的數比faithful資料中最大的大

data ,rbind 行合併,要求列數一樣。

dim(data)

#步驟2

資料集視覺化

plot(faithful)  #

展示faithful資料集的分布

把人工雜訊資料加進去顯示,並且設定雜訊資料顯示的符號pch,雜訊資料的大小cex,雜訊資料的顏色col

表示要抽樣的資料,

size

表示抽樣的大小,

replace = false

表示不重複抽樣,

replace = true

表示重複抽樣,

prob

表示樣本中元素被抽到的可能性

size=nrow(faithful)+nnoise

size

prob = c(3,1)/4

prob

#步驟3

模型建立

library(mclust)  

mod4=mclust(data,initialization=list(noise=noiseinit)) #建立

em模型,initialization引數為包含零個或多個以下元件的列表:

圖1貝葉斯資訊度量圖

bic圖2

分類圖classification

圖3 不確定性圖

uncertainty

圖4 密度圖

density

燈管實驗的em演算法 EM演算法

本文試圖用最簡單的例子 最淺顯的方式說明em expectation maximization 演算法的應用場景和使用方法,而略去公式的推導和收斂性的證明。maximum likelihood estimation maximum likelihood estimation mle 是要選擇乙個最佳...

EM演算法原理

在聚類中我們經常用到em演算法 i.e.estimation maximization 進行引數估計,在該演算法中我們通過函式的凹 凸性,在estimation和maximization兩步中迭代地進行引數估計,並保證可以演算法收斂,達到區域性最優解。ps 為了不在11.11這個吉祥的日子發blog...

EM演算法原理

在聚類中我們經常用到em演算法 i.e.expectation maximization 進行引數估計,在該演算法中我們通過函式的凹 凸性,在expectation 和maximization兩步中迭代地進行引數估計,並保證可以演算法收斂,達到區域性最優解。ps 為了不在11.11這個吉祥的日子發b...