第21章:基于Bayesian Theory的MRC文本理解基础经典模型算法详解

111 篇文章 0 订阅
111 篇文章 1 订阅

1,Bayesian prior在模型训练时候对Weight控制、训练速度影响等功能详解

2,Bayesian prior能够提供模型训练速度和质量的数学原理剖析

3,从Word2vec走向GloVe:从Local 信息走向Global+Local信息表示模式

4,GloVe 中的Vector相关性算法

5,GloVe的Co-occurrence matrix解析

6,GloVe的Loss计算

7,神经网络表达信息的三大局限剖析

7,使用Convolutions取代神经网络传统的matrix multiplication操作

8,文本序列的Vector表示及Convolutions的天然契合点分析

9,Parameter sharing背后的数学原理和工程的广泛应用

10,Vector中的参数真的能够很好的表达信息吗?数学原理及工程实践

11,TextCNN架构设计解析

12,CNN-rand数学原理及工程实现

13,CNN-static数学原理及工程实现

14,CNN-non-static数学原理及工程实现

15,CNN-multiple channel数学原理及工程实现

16,处理长短不一的Sentence

17,Kernel设置的数学原理及最佳实践

18,传统模型Attention实现本质:权重分配

19,通过Soft-Search的方式来构建Attention机制及数学原理剖析

20,KQV:Attention-based model based on weight allocation

21,Local-Attention、Global-Attention、Self-Attention对比及最佳实践

22,基于一维匹配的Attentive Reader架构及数学原理剖析

23,基于二维匹配的Impatient Reader架构及数学原理剖析

24,Multi-Hop机制多次提取更充足信息的Attention实现剖析

25,Multi-Hop机制多次提取更充足信息的TimeStep状态推进剖析

26,Pointer network和Attention机制的对比

27,R-NET:借助pointer network和使用gateway机制的attention实现

28,R-NET的Encoding Layer解析

29,R-NET的Question-Passage Matching解析

30,R-NET的Passage Self-Matching解析

31,R-NET的Answer Prediction解析

32,Fully-Aware Fusion Network提出的MRC的Fusion层次划分解析

33,Fully-Aware Fusion Network中的History-of-word机制来更好的理解语意

34,Fully-Aware Fusion Network的Attention机制解析

35,Fully-Aware Fusion Network的Encoding Layer:GloVe、CoVe、POS、NER等

36,Fully-Aware Fusion Network的Multi-level Fusion解析

37,Fully-Aware Fusion Network的Fully-Aware Self-Boosted Fusion解析

38,Fully-Aware Fusion Network的Output layer解析

39,QA-Net的架构之Embedding Encoder Layer解析

40,QA-Net的架构之Context-Query Attention Layer解析

41,QA-Net的架构之Model Encoder Layer解析

42,QA-Net的架构之Output Layer解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EM算法是一种重要的统计学习算法,它广泛应用于概率模型的学习和参数估计,其中基于Bayesian更新的EM算法被认为是EM算法的进一步发展和改进。基本思想是,在每次迭代中,使用先前学习到的生成模型来更新参数,然后使用贝叶斯公式计算后验分布,并使用该后验分布来控制模型参数的更新,使模型收敛到局部最优解。 以下是基于Bayesian更新的EM算法代码: 1.初始化模型参数 def initialize_parameters(): # initialize mean mu = np.random.rand(k,d) # initialize covariance matrix cov = np.zeros((k,d,d)) for i in range(k): cov[i] = np.eye(d) # initialize mixture coefficients pi = np.ones(k)/k return mu, cov, pi 2. E步,根据当前参数计算每个样本属于混合高斯分布的后验概率 def E_step(X, mu, cov, pi): # calculate the probability density function for all samples g = np.zeros((len(X),k)) for c in range(k): g[:,c] = multivariate_normal.pdf(X,mean=mu[c],cov=cov[c],allow_singular=True) # calculate the posterior probability for all samples posterior_prob = np.zeros((len(X),k)) for c in range(k): posterior_prob[:,c] = pi[c]*g[:,c] posterior_prob = posterior_prob / posterior_prob.sum(axis=1,keepdims=True) return posterior_prob 3. M步,根据已知后验概率计算新的模型参数 def M_step(X, posterior_prob): # update mixture coefficients pi = posterior_prob.sum(axis=0) / len(X) # update mean mu = np.zeros((k,d)) for c in range(k): for i in range(len(X)): mu[c] += posterior_prob[i,c]*X[i] mu[c] /= posterior_prob[:,c].sum() # update covariance matrix cov = np.zeros((k,d,d)) for c in range(k): for i in range(len(X)): xt = (X[i]-mu[c]).reshape((d,1)) cov[c] += posterior_prob[i,c]*np.dot(xt,xt.T) cov[c] /= posterior_prob[:,c].sum() return mu, cov, pi 4.执行EM算法 def EM(X, k, max_iter): # initialize parameters mu, cov, pi = initialize_parameters() # run EM algorithm for i in range(max_iter): # E-step posterior_prob = E_step(X, mu, cov, pi) # M-step mu, cov, pi = M_step(X, posterior_prob) # calculate log-likelihood ll = np.sum(np.log(np.sum(posterior_prob, axis=1))) print('Iteration {}: log-likelihood = {}'.format(i+1, ll)) return mu, cov, pi 在这个代码中,首先是初始化模型参数,包括means、covariance matrices和mixing coefficients。然后,在E步骤中,计算每个样本属于每个高斯分布的后验概率。接着,在M步骤中,使用似然函数最大化法更新模型参数,即使用先前计算的后验概率来计算新的means、covariance matrices和mixing coefficients。最后,在每个迭代中,计算并打印对数似然函数值。最终,该函数返回最优的模型参数,即means、covariance matrices和mixing coefficients。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值