当前位置: 首页 > wzjs >正文

网站程序是什么意思河间网站建设价格

网站程序是什么意思,河间网站建设价格,网站改版怎么做301重定向,wordpress 网站锁应用场景其实很多,比如说HMM模型中的3个参数矩阵在baum-welch期望迭代中,需要设置1个初始化的起点,假如说我有1个强先验的假设,比如说我手头上有3个隐状态,我统计训练数据频数,或者是先验想要将每一个隐状态…

应用场景其实很多,比如说HMM模型中的3个参数矩阵在baum-welch期望迭代中,需要设置1个初始化的起点,假如说我有1个强先验的假设,比如说我手头上有3个隐状态,我统计训练数据频数,或者是先验想要将每一个隐状态在初始状态分布(概率)设置为[0.8, 0.1, 0.1],即我希望第1个隐状态有80%左右的期望是状态1(或者0,在0-index下),然后状态2、3基本上不出现;

但是我们是随机初始化,所以如果限制死了参数又会和“随机”相互矛盾,我就希望:

大致围绕[0.8, 0.1, 0.1]参数可以任意次数随机生成1个概率,这个概率基本上有很大概率每次都是第1个状态给出很大的p值,或者说我随机生成100次,其中有绝大多数生成机会中(也就是频数意义中),状态1的取值(也就是p)是1个比2、3状态远远大的概率值。

那就得使用概率的概率,生成概率分布的概率,也就是狄利克雷分布。

关键在浓度参数的设置,即拟合概率的概率,python实现方式主要有2种:

1,numpy模块:

np.random.dirichlet

比如说:

import numpy as np
# 定义α参数
for i in range(10):alpha = np.array([0.8, 0.1, 0.1])# 生成一个概率行向量probability_vector = np.random.dirichlet(alpha)print(probability_vector)

import numpy as np
import matplotlib.pyplot as pltdef plot_dirichlet_probabilities(alpha, n_samples=10, figsize=(15, 8)):"""绘制狄利克雷分布生成的概率向量柱状图Args:alpha (array-like): 狄利克雷分布的α参数n_samples (int): 生成的样本数量,默认为10figsize (tuple): 图形大小,默认为(15, 8)"""# 生成概率向量alpha = np.array(alpha)probability_vectors = []for i in range(n_samples):prob_vector = np.random.dirichlet(alpha)probability_vectors.append(prob_vector)print(f"Sample {i+1}: {prob_vector}")# 转换为numpy数组便于处理prob_matrix = np.array(probability_vectors)# 设置图形fig, ax = plt.subplots(figsize=figsize)# 设置柱状图参数x = np.arange(n_samples)width = 0.25state_labels = ['State 0 (+)', 'State 1 (-)', 'State 2 (Neutral)']colors = ['red', 'blue', 'gray']# 绘制每个状态的柱状图for i in range(3):bars = ax.bar(x + i * width, prob_matrix[:, i], width, label=state_labels[i], color=colors[i], alpha=0.7)# 在柱子上添加数值标签for j, bar in enumerate(bars):height = bar.get_height()ax.text(bar.get_x() + bar.get_width()/2., height + 0.01,f'{height:.3f}', ha='center', va='bottom', fontsize=8)# 设置图形属性ax.set_xlabel('Sample Index')ax.set_ylabel('Probability')ax.set_title(f'Dirichlet Distribution Probability Vectors (α={alpha})')ax.set_xticks(x + width)ax.set_xticklabels([f'Sample {i+1}' for i in range(n_samples)])ax.legend()ax.set_ylim(0, 1.1)# 添加网格ax.grid(True, alpha=0.3)plt.xticks(rotation=45 if n_samples > 20 else 0)plt.tight_layout()plt.show()return prob_matrix# 使用示例
if __name__ == "__main__":# 定义α参数alpha = [0.8, 0.1, 0.1]# 生成并绘制10个样本print("=== 10个样本 ===")prob_matrix_10 = plot_dirichlet_probabilities(alpha, n_samples=10)# 生成并绘制100个样本print("\n=== 100个样本 ===")prob_matrix_100 = plot_dirichlet_probabilities(alpha, n_samples=100, figsize=(20, 10))

可以很直观看出来,基本上(频数意义上),生成的序列中都是第1个状态的值最大

如果是100个样本的话,

规律其实就比较明显了,当然堆叠比并行要好可视化点:

import numpy as np
import matplotlib.pyplot as pltdef plot_dirichlet_stacked_bars(alpha, n_samples=10, figsize=(15, 8)):"""绘制狄利克雷分布生成的概率向量堆叠柱状图Args:alpha (array-like): 狄利克雷分布的α参数n_samples (int): 生成的样本数量,默认为10figsize (tuple): 图形大小,默认为(15, 8)"""# 生成概率向量alpha = np.array(alpha)probability_vectors = []for i in range(n_samples):prob_vector = np.random.dirichlet(alpha)probability_vectors.append(prob_vector)print(f"Sample {i+1}: {prob_vector}")# 转换为numpy数组便于处理prob_matrix = np.array(probability_vectors)# 设置图形fig, ax = plt.subplots(figsize=figsize)# 设置参数x = np.arange(n_samples)state_labels = ['State 0 (+)', 'State 1 (-)', 'State 2 (Neutral)']colors = ['red', 'blue', 'gray']# 绘制堆叠柱状图bottom = np.zeros(n_samples)for i in range(3):bars = ax.bar(x, prob_matrix[:, i], bottom=bottom, label=state_labels[i], color=colors[i], alpha=0.8)# 在每个堆叠部分添加数值标签for j, bar in enumerate(bars):height = bar.get_height()if height > 0.05:  # 只有当高度足够大时才显示标签ax.text(bar.get_x() + bar.get_width()/2., bottom[j] + height/2,f'{height:.3f}', ha='center', va='center', fontsize=8, color='white', fontweight='bold')# 更新底部位置bottom += prob_matrix[:, i]# 设置图形属性ax.set_xlabel('Sample Index')ax.set_ylabel('Probability')ax.set_title(f'Dirichlet Distribution Stacked Probability Vectors (α={alpha})')ax.set_xticks(x)ax.set_xticklabels([f'Sample {i+1}' for i in range(n_samples)])ax.legend()ax.set_ylim(0, 1.05)# 添加网格ax.grid(True, alpha=0.3, axis='y')# 添加水平线表示总和为1ax.axhline(y=1, color='black', linestyle='--', alpha=0.5, linewidth=1)plt.xticks(rotation=45 if n_samples > 15 else 0)plt.tight_layout()plt.show()return prob_matrix# 使用示例,替换原来的调用
if __name__ == "__main__":# 定义α参数alpha = [0.8, 0.1, 0.1]# 生成并绘制10个样本print("=== 10个样本 ===")prob_matrix_10 = plot_dirichlet_stacked_bars(alpha, n_samples=10)# 生成并绘制100个样本print("\n=== 100个样本 ===")prob_matrix_100 = plot_dirichlet_stacked_bars(alpha, n_samples=100, figsize=(20, 10))

这个就很清晰了,虽然有个别蓝色的生成不符合我们的单次期望,但是从频数意义上讲,我们大多数随机化的设置中,都生成了期望的向量序列:

2,scipy模块

from scipy.stats import dirichletdirichlet.rvs

文章转载自:

http://VJutSyZF.rLqqy.cn
http://pe4UIavc.rLqqy.cn
http://dTHh2nIs.rLqqy.cn
http://GaQZCAg5.rLqqy.cn
http://rs0QraCB.rLqqy.cn
http://MmZzc0Gd.rLqqy.cn
http://kNvoH9Cp.rLqqy.cn
http://Njo0d9V0.rLqqy.cn
http://5rILga8M.rLqqy.cn
http://qDWXna3k.rLqqy.cn
http://K84OpUiw.rLqqy.cn
http://zezOFqbf.rLqqy.cn
http://XeDyWSTV.rLqqy.cn
http://2r4ArJ0d.rLqqy.cn
http://uNWEDO9g.rLqqy.cn
http://hktqTqVN.rLqqy.cn
http://LYb6x7qn.rLqqy.cn
http://EvjZMrED.rLqqy.cn
http://HKUgyY0k.rLqqy.cn
http://B91Gn5Vd.rLqqy.cn
http://u1FQACcq.rLqqy.cn
http://VGc7KhUM.rLqqy.cn
http://ZTKACgT8.rLqqy.cn
http://MVTauseM.rLqqy.cn
http://6zqZ9Lrz.rLqqy.cn
http://GCO82n6r.rLqqy.cn
http://ydsjhUKA.rLqqy.cn
http://G2DxxYzS.rLqqy.cn
http://V4K27NCv.rLqqy.cn
http://GnCMGVsZ.rLqqy.cn
http://www.dtcms.com/wzjs/741520.html

相关文章:

  • 农家乐网站 建设做企业平台的网站
  • php大型网站开发书籍wordpress 如何调试
  • 红酒论坛网站建设中国四大软件外包公司是哪四个
  • 怎么把做的网页放入网站免费建站哪家好
  • 泉州专业制作网站开发网线制作过程简述
  • 培训中心网站建设方案seo网站推广专员招聘
  • 网站建设技术可行性分析做小程序的平台
  • 清远住房和城乡建设局网站装饰公司网站
  • 建造网站需要什么网站商城建设哪家好
  • 成都便宜做网站的360关键词指数查询
  • seo建站公司手机端steam
  • 网站卖了对方做违法吗外贸自建站平台排名
  • 做网站实验体会装修效果图实景案例
  • 网页跳转到其它网站旅行网站建设的规划书
  • 自己做的网站如何调入dede仿网站后台怎么做
  • 如何购买网站空间拉新app推广平台
  • 企业网站建立费用 作什么科目镇江网友之家手机版
  • 国内有做外汇的正规网站吗手机销售网站建设项目书
  • 做经营性的网站需要注册什么沈阳正规的男科医院
  • wordpress网站如何添加内链门户网站的推广
  • 公司网站建设推进表h5工具
  • 做网站宜宾前端网站开发流程
  • 技术支持 金华网站建设广汉做网站
  • 咖啡网站建设设计规划书苏州网站建设营销q479185700刷屏
  • 聊城市网站制作聊天app开发源码
  • 湛江市建设规划局网站百度搜索app
  • 网站建设公司排名企业管理生产管理系统
  • 动漫建模代做网站百度一下南京建筑信息平台
  • 网站备案依据企业网站的建设包括哪些
  • 如何做服装企业商城网站如何做微信网站防封