C++ Dirichlet 分布
在做五子棋 AI 的时候,遇到一处要使用 dirichlet 分布。查阅了一下资料还挺复杂的,不过好在可以使用 gamma 分布来生成:
#include <random>void dirichlet(double* out, int k, double a) {std::gamma_distribution<double> gamma(a);std::random_device rd;double *y = alloca(sizeof(double)*k); // stack allocationdouble sum=0;for (int i=0; i<k; ++i) {y[i] = gamma(rd);sum += y[i];}for (int i=; i<k; ++i) {out[i] = y[i]/sum;}
}void dirichlet(double* out, int k, double const* a) {using Gamma = std::gamma_distribution<double>;Gamma gamma;std::random_device rd;double *y = alloca(sizeof(double)*k); // stack allocationdouble sum=0;for (int i=0; i<k; ++i) {y[i] = gamma(rd, Gamma::param_type(a[i], 1));sum += y[i];}for (int i=0; i<k; ++i) {out[i] = y[i]/sum;}
}
C++ Dirichlet 分布相关推荐
- 关于Beta分布、二项分布与Dirichlet分布、多项分布的关系
from:http://blog.csdn.net/u010140338/article/details/41344853 From : http://www.cnblogs.com/wybang/p ...
- 机器学习知识点(二十八)Beta分布和Dirichlet分布理解
1.二者关系: Dirichlet分布是Beta分布的多元推广.Beta分布是二项式分布的共轭分布,Dirichlet分布是多项式分布的共轭分布. 通常情况下,我们说的分布都是关于某个参数的函数,把对 ...
- Dirichlet分布与多项分布的共轭性
Dirichlet分布与多项分布的共轭性 二项分布与Beta分布的共轭性 Dirichlet分布与多项分布的共轭性 关于多项分布与Dirichlet分布的基础可以参考: UA MATH564 概率论 ...
- UA MATH564 概率论 Dirichlet分布
UA MATH564 概率论 Dirichlet分布 在UA MATH564 概率论IV 次序统计量中,我们介绍了均匀分布U(0,1)U(0,1)U(0,1)的多个次序统计量的联合分布就是Dirich ...
- 深度学习核心技术精讲100篇(二十一)-深入理解Dirichlet分布及过程
前言 Dirichlet分布(Dirichelt Distribution)和Dirichlet过程 (Dirichlet Process)广泛应用于信息检索.自然语言处理等领域,是理解主题模型的重要 ...
- 机器学习的数学基础(1)--Dirichlet分布
这一系列(机器学习的数学基础)主要包括目前学习过程中回过头复习的基础数学知识的总结. 基础知识:conjugate priors共轭先验 共轭先验是指这样一种概率密度:它使得后验概率的密度函数与先验概 ...
- NLP之TopicModel:朴素贝叶斯NB的先验概率之Dirichlet分布的应用
NLP之TopicModel:朴素贝叶斯NB的先验概率之Dirichlet分布的应用 目录 1.Dirichlet骰子先验和后验分布的采样 2.稀疏Dirichlet先验的采样 1.Dirichlet ...
- 机器学习中的数学——常用概率分布(十一):狄利克雷分布(Dirichlet分布)
分类目录:<机器学习中的数学>总目录 相关文章: · 常用概率分布(一):伯努利分布(Bernoulli分布) · 常用概率分布(二):范畴分布(Multinoulli分布) · 常用概率 ...
- NLP之TM之Dirichlet:朴素贝叶斯NB的先验概率之Dirichlet分布的应用
NLP之TM之Dirichlet:朴素贝叶斯NB的先验概率之Dirichlet分布的应用 目录 1.Dirichlet骰子先验和后验分布的采样 2.稀疏Dirichlet先验的采样 1.Dirichl ...
最新文章
- 神器:REST测试工具[wiztools.org restclient]客户端Jar依赖Java安装环境
- (0052)iOS开发之沙盒(sandbox)机制和文件操作(二)
- 从软件工程的角度解读任正非的新年公开信
- opencv for linux mac,opencv for Java在MacOS 10.10安装
- 电子信息科学与技术计算机科学与技术会计学,我是本三学生 学的电子信息科学与技术专业 今年大三 从没接触过会计 想考注册会计师 可以么 ?...
- Dubbo Zookeeper Quick Start
- 软件加license的一种实现方法
- python 运维包_python运维常用模块
- (转,记录用)jQuery页面加载初始化的3种方法
- Golang标准库RPC实践及改进
- 【面经】关于Transformer,面试官们都怎么问
- java 计算限行尾号(北京)
- ug添加imachining变量_UG变量设置)
- 一个浏览器播放5个或者6个flv的视频就不能播放了
- latex 花体之英文字母
- 有趣的算法:捞鱼问题
- Java 恋爱纪念日(日期问题)
- 考研英语(一)——简单句
- SDNU_ACM_ICPC_2020_Winter_Practice_4th [Reproduced]
- Python小记:14.数据分析基础知识点汇总