欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

使用Python實現(xiàn)EM算法-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關使用Python實現(xiàn)EM算法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

自2013年創(chuàng)立以來創(chuàng)新互聯(lián)建站專注于”幫助中小企業(yè)+互聯(lián)網(wǎng)”, 也是目前成都地區(qū)具有實力的互聯(lián)網(wǎng)服務商。團隊致力于為企業(yè)提供--站式網(wǎng)站建設、移動端應用( H5手機營銷、重慶APP開發(fā)公司、微信開發(fā))、軟件開發(fā)、信息化解決方案等服務。

EM算法實例

通過實例可以快速了解EM算法的基本思想,具體推導請點文末鏈接。圖a是讓我們預熱的,圖b是EM算法的實例。

這是一個拋硬幣的例子,H表示正面向上,T表示反面向上,參數(shù)θ表示正面朝上的概率。硬幣有兩個,A和B,硬幣是有偏的。本次實驗總共做了5組,每組隨機選一個硬幣,連續(xù)拋10次。如果知道每次拋的是哪個硬幣,那么計算參數(shù)θ就非常簡單了,如

下圖所示:

使用Python實現(xiàn)EM算法

如果不知道每次拋的是哪個硬幣呢?那么,我們就需要用EM算法,基本步驟為:

  1、給θ_AθA​和θ_BθB​一個初始值;

  2、(E-step)估計每組實驗是硬幣A的概率(本組實驗是硬幣B的概率=1-本組實驗是硬幣A的概率)。分別計算每組實驗中,選擇A硬幣且正面朝上次數(shù)的期望值,選擇B硬幣且正面朝上次數(shù)的期望值;

  3、(M-step)利用第三步求得的期望值重新計算θ_AθA​和θ_BθB​;

  4、當?shù)揭欢ù螖?shù),或者算法收斂到一定精度,結束算法,否則,回到第2步。

使用Python實現(xiàn)EM算法

計算過程詳解:初始值θ_A^{(0)}θA(0)​=0.6,θ_B^{(0)}θB(0)​=0.5。

由兩個硬幣的初始值0.6和0.5,容易得出投擲出5正5反的概率是p_A=C^5_{10}*(0.6^5)*(0.4^5)pA​=C105​∗(0.65)∗(0.45),p_B=C_{10}^5*(0.5^5)*(0.5^5)pB​=C105​∗(0.55)∗(0.55), p_ApA​/(p_ApA​+p_BpB​)=0.449, 0.45就是0.449近似而來的,表示第一組實驗選擇的硬幣是A的概率為0.45。然后,0.449 * 5H = 2.2H ,0.449 * 5T = 2.2T ,表示第一組實驗選擇A硬幣且正面朝上次數(shù)和反面朝上次數(shù)的期望值都是2.2,其他的值依次類推。最后,求出θ_A^{(1)}θA(1)​=0.71,θ_B^{(1)}θB(1)​=0.58。重復上述過程,不斷迭代,直到算法收斂到一定精度為止。

這篇博客對EM算法的推導非常詳細,鏈接如下:

https://blog.csdn.net/zhihua_oba/article/details/73776553

Python實現(xiàn)

#coding=utf-8
from numpy import *
from scipy import stats
import time
start = time.perf_counter()

def em_single(priors,observations):
 """
 EM算法的單次迭代
 Arguments
 ------------
 priors:[theta_A,theta_B]
 observation:[m X n matrix]

 Returns
 ---------------
 new_priors:[new_theta_A,new_theta_B]
 :param priors:
 :param observations:
 :return:
 """
 counts = {'A': {'H': 0, 'T': 0}, 'B': {'H': 0, 'T': 0}}
 theta_A = priors[0]
 theta_B = priors[1]
 #E step
 for observation in observations:
  len_observation = len(observation)
  num_heads = observation.sum()
  num_tails = len_observation-num_heads
  #二項分布求解公式
  contribution_A = stats.binom.pmf(num_heads,len_observation,theta_A)
  contribution_B = stats.binom.pmf(num_heads,len_observation,theta_B)

  weight_A = contribution_A / (contribution_A + contribution_B)
  weight_B = contribution_B / (contribution_A + contribution_B)
  #更新在當前參數(shù)下A,B硬幣產(chǎn)生的正反面次數(shù)
  counts['A']['H'] += weight_A * num_heads
  counts['A']['T'] += weight_A * num_tails
  counts['B']['H'] += weight_B * num_heads
  counts['B']['T'] += weight_B * num_tails

 # M step
 new_theta_A = counts['A']['H'] / (counts['A']['H'] + counts['A']['T'])
 new_theta_B = counts['B']['H'] / (counts['B']['H'] + counts['B']['T'])
 return [new_theta_A,new_theta_B]


def em(observations,prior,tol = 1e-6,iterations=10000):
 """
 EM算法
 :param observations :觀測數(shù)據(jù)
 :param prior:模型初值
 :param tol:迭代結束閾值
 :param iterations:大迭代次數(shù)
 :return:局部最優(yōu)的模型參數(shù)
 """
 iteration = 0;
 while iteration < iterations:
  new_prior = em_single(prior,observations)
  delta_change = abs(prior[0]-new_prior[0])
  if delta_change < tol:
   break
  else:
   prior = new_prior
   iteration +=1
 return [new_prior,iteration]

#硬幣投擲結果
observations = array([[1,0,0,0,1,1,0,1,0,1],
      [1,1,1,1,0,1,1,1,0,1],
      [1,0,1,1,1,1,1,0,1,1],
      [1,0,1,0,0,0,1,1,0,0],
      [0,1,1,1,0,1,1,1,0,1]])
print (em(observations,[0.6,0.5]))
end = time.perf_counter()
print('Running time: %f seconds'%(end-start))

分享題目:使用Python實現(xiàn)EM算法-創(chuàng)新互聯(lián)
標題路徑:http://chinadenli.net/article8/epiip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄動態(tài)網(wǎng)站、App開發(fā)、微信小程序、網(wǎng)站設計、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
国产日韩欧美综合视频| 久久精品蜜桃一区二区av| 亚洲一区二区精品久久av| 中文精品人妻一区二区| 欧美精品中文字幕亚洲| 欧美日韩国产精品自在自线| 在线观看那种视频你懂的| 欧美一区二区三区在线播放| 国产精品一区二区丝袜| 老司机精品视频在线免费| 欧美日韩精品综合一区| 日韩一级一片内射视频4k| 精品人妻久久一品二品三品| 国产午夜福利一区二区| 极品少妇一区二区三区精品视频| 护士又紧又深又湿又爽的视频| 中文精品人妻一区二区| 国产精品人妻熟女毛片av久| 99精品人妻少妇一区二区人人妻| 四十女人口红哪个色好看| 蜜桃传媒在线正在播放| 精品人妻一区二区三区免费看| 亚洲最大福利在线观看| 国产精品美女午夜福利| 亚洲黄香蕉视频免费看| 国产精品伦一区二区三区四季| 欧美黄色成人真人视频| 亚洲精品中文字幕欧美| 亚洲中文字幕人妻av| 91欧美一区二区三区成人| 精品国产亚洲区久久露脸| 激情偷拍一区二区三区视频| 欧美韩日在线观看一区| 日本免费熟女一区二区三区| 欧美一区二区口爆吞精| 九九九热视频最新在线| 美女被啪的视频在线观看 | 国产偷拍精品在线视频| 精品一区二区三区三级视频| 四十女人口红哪个色好看| 国产成人av在线免播放观看av |