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

做dnf辅助网站泰安企业网站seo

做dnf辅助网站,泰安企业网站seo,成都市微信网站建设,天津广告设计公司近期#xff0c;我们整理和开源了一个基于LaTeX的科技绘图项目#xff0c;并将其取名为awesome-latex-drawing#xff08;GitHub网址为#xff1a;https://github.com/xinychen/awesome-latex-drawing#xff09;#xff0c;案例包括贝叶斯网络、图模型、矩阵/张量示意图…近期我们整理和开源了一个基于LaTeX的科技绘图项目并将其取名为awesome-latex-drawingGitHub网址为https://github.com/xinychen/awesome-latex-drawing案例包括贝叶斯网络、图模型、矩阵/张量示意图以及技术框架所有案例均取自于我们近期的研究工作。截至目前awesome-latex-drawing项目已在GitHub社区获得超过500次标星 (star)。需要说明的是本文转载自awesome-latex-drawing项目如需阅读本文代码以及相关的说明文档欢迎访问tutorial/Bayesian_nets.md。一、基本介绍贝叶斯网络是一种应用极为广泛的概率图模型由节点和有向边构成能够通过有向边来描述变量之间的条件依赖关系。给定一个已经构造好的贝叶斯网络通常可以采用一些贝叶斯推断算法对其中的变量进行推断或者学习这些贝叶斯推断算法中既包括最为人所熟知的马尔可夫链蒙特卡洛算法也包括形式上略显抽象的变分推断算法。直观清晰的贝叶斯网络结构图可以帮助读者和研究者更好地理解贝叶斯网络而LaTeX在绘制贝叶斯网络结构方面具有天然的优势一是由于我们在使用LaTeX绘图的过程中LaTeX能够最大程度上支持复杂的公式符号二则得益于LaTeX的一系列兼容性极好的图模型绘制包其中最具代表性且使用最为广泛的工具库(对应于LaTeX则称为library)莫过于bayesnet。结合LaTeX中的绘图工具包tikz我们可以使用LaTeX画出近乎完美的贝叶斯网络。bayesnet库是基于LaTeX绘图工具包tikz构建起来的贝叶斯网络绘图工具库主要用于绘制贝叶斯网络、图模型以及有向图结构其GitHub开发主页为https://github.com/jluttine/tikz-bayesnet。本文将对几个具有代表性的贝叶斯网络案例进行拆分讲解通过介绍各行代码及其所对应的绘图图形逐步讲解如何用LaTeX绘制出复杂的贝叶斯网络在开始绘图之前我们不妨回顾一下贝叶斯网络所遵循的几项绘图原则观测变量或者观测值要使用灰色节点表示底层超参数无需用节点表示除观测变量和底层超参数外的其他变量要使用白色节点表示有向边箭头的指向表示贝叶斯角度的概率依赖关系。为了方便广大读者体验LaTeX绘图我们在在线LaTeX编辑系统overleaf.com中创建名称为latex-drawing-tutorial的项目接下来就在项目中开启贝叶斯网络的LaTeX绘图之旅。二、绘制贝叶斯网络的基本语句使用LaTeX绘制贝叶斯网络时我们需要用到一些最为基本的LaTeX命令documentclass[tikz, border 0.1cm]{standalone} usepackage{tikz} usetikzlibrary{bayesnet} usepackage{amsmath, amsthm, amssymb, amsfonts} tikzset{latex}begin{document} begin{tikzpicture}end{tikzpicture} end{document}在这几行基本命令中它们各自都发挥着一定的作用我们不妨来逐行看一下这些命令的“功效”准备阶段documentclass[tikz, border 0.1cm]{standalone}的作用在于指定所创建文件的类型确定tikz绘图风格的同时可设置绘图边框的页边距这里选取的页边距是0.1厘米。当然这里的页边距是可以根据我们自身的审美标准进行设置的。usepackage{tikz}的作用在于启用LaTeX中的绘图工具包tikz。usetikzlibrary{bayesnet}的作用在于调用绘制贝叶斯网络所需的bayesnet库。usepackage{amsmath, amsthm, amssymb, amsfonts}的作用在于启用LaTeX中支持公式编译的工具包。绘图阶段begin{document} end{document}是LaTeX编辑各类文档时首先要申明的语句在begin和end之间写语句才能有效地映射到所创建的文档中。begin{tikzpicture} end{tikzpicture}是用于生成tikz绘图的基本语句在tikzpicture中我们可以通过指定各个节点(node)的横纵坐标来进行绘图。三、绘制贝叶斯增强张量分解的贝叶斯网络绘图任务如何使用LaTeX绘制出如下贝叶斯增强张量分解的贝叶斯网络图: 贝叶斯增强张量分解的贝叶斯模型示意图1) 绘制观测变量节点以上述的几行LaTeX绘图的基本命令为基础我们不妨在begin{tikzpicture} end{tikzpicture}之间编写关于绘制观测变量节点的代码首先我们将观测变量节点命名为obs在node命令中指定该节点的位置为坐标原点(0,0)指定节点类型为circle另外令节点边框为黑色即draw black、节点大小为0.65厘米即minimum size 0.65cm。documentclass[tikz, border 0.1cm]{standalone} usepackage{tikz} usetikzlibrary{bayesnet} usepackage{amsmath, amsthm, amssymb, amsfonts} tikzset{latex}begin{document} begin{tikzpicture}node[circle, draw black, fill gray!20, inner sep 0pt, minimum size 0.65cm] (obs) at (0, 0) {{$y_{ijt}$}};end{tikzpicture} end{document}将这几行简单的代码复制粘贴到所创建的overleaf项目中即可得到的观测变量节点示意图。另外从下图可以看出左侧为代码区域右侧为画图文档区域。图: 绘制贝叶斯模型的观测变量节点2) 绘制模型参数节点与绘制观测变量节点类似我们可以通过node设计模型参数节点。documentclass[tikz, border 0.1cm]{standalone} usepackage{tikz} usetikzlibrary{bayesnet} usepackage{amsmath, amsthm, amssymb, amsfonts} tikzset{latex}begin{document} begin{tikzpicture}node[circle, draw black, fill gray!20, inner sep 0pt, minimum size 0.65cm] (obs) at (0, 0) {{$y_{ijt}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (ui) at (-0.9, 0.9) {{$boldsymbol{u}_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (vj) at (0, 1.8) {{$boldsymbol{v}_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (xt) at (0.9, 0.95) {{$boldsymbol{x}_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (phi) at (-0.9, -0.7) {{$phi_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (theta) at (0, -2) {{$theta_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (eta) at (0.9, -0.75) {{$eta_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (tau) at (2, 0) {{$tau$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (mu) at (-2, 0) {{$mu$}};end{tikzpicture} end{document}同样将这里的代码复制并粘贴到所创建的overleaf项目中即可得到观测变量节点和模型参数节点示意图。图: 新增贝叶斯模型的模型参数节点3) 绘制模型参数节点和观测变量节点之间的有向边紧接着上面绘制观测变量节点和模型参数节点的代码根据已经定义好的节点可以使用path来构造有向边其中模型参数节点和观测变量节点之间要用edge关联箭头方向为-。documentclass[tikz, border 0.1cm]{standalone} usepackage{tikz} usetikzlibrary{bayesnet} usepackage{amsmath, amsthm, amssymb, amsfonts} tikzset{latex}begin{document} begin{tikzpicture}node[circle, draw black, fill gray!20, inner sep 0pt, minimum size 0.65cm] (obs) at (0, 0) {{$y_{ijt}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (ui) at (-0.9, 0.9) {{$boldsymbol{u}_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (vj) at (0, 1.8) {{$boldsymbol{v}_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (xt) at (0.9, 0.95) {{$boldsymbol{x}_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (phi) at (-0.9, -0.7) {{$phi_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (theta) at (0, -2) {{$theta_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (eta) at (0.9, -0.75) {{$eta_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (tau) at (2, 0) {{$tau$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (mu) at (-2, 0) {{$mu$}};path [draw, -] (ui) edge (obs); path [draw, -] (vj) edge (obs); path [draw, -] (xt) edge (obs); path [draw, -] (tau) edge (obs); path [draw, -] (mu) edge (obs); path [draw, -] (phi) edge (obs); path [draw, -] (theta) edge (obs); path [draw, -] (eta) edge (obs);end{tikzpicture} end{document}将这里的代码复制并粘贴到所创建的overleaf项目中即可得到观测变量节点、模型参数节点以及有向边示意图。图: 新增贝叶斯模型观测变量节点和模型参数节点之间的有向边4) 绘制部分观测变量的元素集合对于部分观测变量它可能只包括矩阵或张量元素的部分索引因此需要指定出来。一般而言我们可以用plate在贝叶斯网络中进行标注标注的方法是在plate命令中罗列需要覆盖的变量。以第一个plate为例我们可以将{(obs) (ui) (m) (phi)}作为所需要覆盖的集合。documentclass[tikz, border 0.1cm]{standalone} usepackage{tikz} usetikzlibrary{bayesnet} usepackage{amsmath, amsthm, amssymb, amsfonts} tikzset{latex}begin{document} begin{tikzpicture}node[circle, draw black, fill gray!20, inner sep 0pt, minimum size 0.65cm] (obs) at (0, 0) {{$y_{ijt}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (ui) at (-0.9, 0.9) {{$boldsymbol{u}_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (vj) at (0, 1.8) {{$boldsymbol{v}_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (xt) at (0.9, 0.95) {{$boldsymbol{x}_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (phi) at (-0.9, -0.7) {{$phi_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (theta) at (0, -2) {{$theta_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (eta) at (0.9, -0.75) {{$eta_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (tau) at (2, 0) {{$tau$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (mu) at (-2, 0) {{$mu$}};path [draw, -] (ui) edge (obs); path [draw, -] (vj) edge (obs); path [draw, -] (xt) edge (obs); path [draw, -] (tau) edge (obs); path [draw, -] (mu) edge (obs); path [draw, -] (phi) edge (obs); path [draw, -] (theta) edge (obs); path [draw, -] (eta) edge (obs);node [text width 0.2cm] (m) at (-1.1, 0.3) {small{$m$}}; plate[] {plate1} {(obs) (ui) (m) (phi)} { }; node [text width 0.6cm] (n) at (0, -1.55) {small{$n$}}; plate[] {plate2} {(obs) (vj) (n) (theta)} { }; node [text width 0.2cm] (f) at (1.1, 0.3) {small{$f$}}; plate[] {plate3} {(obs) (xt) (f) (eta)} { };end{tikzpicture} end{document}将这里的代码复制并粘贴到所创建的overleaf项目中即可得到部分观测变量的元素集合示意图。图: 新增贝叶斯模型部分观测变量的元素集合5) 绘制超参数节点及其有向边在这里超参数分为待估计超参数和底层超参数待估计超参数顾名思义是一个变量而底层超参数则是常量。对于待估计超参数我们仍要像绘制模型参数一样绘制它而底层超参数则不需要带有“圆圈”不过需要注意的是两者都可以用node命令进行绘制。documentclass[tikz, border 0.1cm]{standalone} usepackage{tikz} usetikzlibrary{bayesnet} usepackage{amsmath, amsthm, amssymb, amsfonts} tikzset{latex}begin{document} begin{tikzpicture}node[circle, draw black, fill gray!20, inner sep 0pt, minimum size 0.65cm] (obs) at (0, 0) {{$y_{ijt}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (ui) at (-0.9, 0.9) {{$boldsymbol{u}_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (vj) at (0, 1.8) {{$boldsymbol{v}_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (xt) at (0.9, 0.95) {{$boldsymbol{x}_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (phi) at (-0.9, -0.7) {{$phi_{i}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (theta) at (0, -2) {{$theta_{j}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (eta) at (0.9, -0.75) {{$eta_{t}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (tau) at (2, 0) {{$tau$}}; node[circle, draw black, inner sep 0pt, minimum size 0.55cm] (mu) at (-2, 0) {{$mu$}};path [draw, -] (ui) edge (obs); path [draw, -] (vj) edge (obs); path [draw, -] (xt) edge (obs); path [draw, -] (tau) edge (obs); path [draw, -] (mu) edge (obs); path [draw, -] (phi) edge (obs); path [draw, -] (theta) edge (obs); path [draw, -] (eta) edge (obs);node [text width 0.2cm] (m) at (-1.1, 0.3) {small{$m$}}; plate[] {plate1} {(obs) (ui) (m) (phi)} { }; node [text width 0.6cm] (n) at (0, -1.55) {small{$n$}}; plate[] {plate2} {(obs) (vj) (n) (theta)} { }; node [text width 0.2cm] (f) at (1.1, 0.3) {small{$f$}}; plate[] {plate3} {(obs) (xt) (f) (eta)} { };node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (muv) at (-0.6, 2.8) {small{$boldsymbol{mu}_{v}$}}; node[circle, draw black, inner sep 0pt, minimum size 0.6cm] (lambdav) at (0.6, 2.8) {small{$Lambda_{v}$}}; node[text width 0.8cm] (gamma) at (2, 0.8) {small{$a_0,b_0$}}; node[text width 0.8cm] (hyper1) at (-2, 0.8) {small{$mu_{0},tau_{0}$}}; node[text width 0.8cm] (hyper2) at (1.2, -2) {small{$mu_{0},tau_{0}$}}; node[text width 0.8cm] (hyper3) at (2.1, -0.75) {small{$mu_{0},tau_{0}$}}; node[text width 0.8cm] (hyper4) at (-2.1, -0.7) {small{$mu_{0},tau_{0}$}}; node[text width 0.4cm] (mu0) at (-0.6, 3.6) {small{$boldsymbol{mu}_{0}$}}; node[text width 0.9cm] (wnu0) at (0.6, 3.6) {small{$W_{0},nu_{0}$}}; node[text width 0.6cm] (cdots1) at (-1, 1.6) {Largecolor{gray}{$cdots$}}; node[text width 0.6cm] (cdots2) at (1, 1.6) {Largecolor{gray}{$cdots$}};path [draw, -] (muv) edge (vj); path [draw, -] (lambdav) edge (vj); path [draw, -] (lambdav) edge (muv); path [draw, -] (mu0) edge (muv); path [draw, -] (wnu0) edge (lambdav); path [draw, -] (gamma) edge (tau); path [draw, -] (hyper1) edge (mu); path [draw, -] (hyper2) edge (theta); path [draw, -] (hyper3) edge (eta); path [draw, -] (hyper4) edge (phi);end{tikzpicture} end{document}将这里的代码复制并粘贴到所创建的overleaf项目中即可得到我们希望得到的包含了超参数节点及其有向边的贝叶斯网络结构图。图: 新增贝叶斯模型的超参数及其有向边到这里我们便完成了完整的贝叶斯网络绘制。LaTeX相关入门学习材料
http://www.yutouwan.com/news/55281/

相关文章:

  • 网站建设管理做什么dw免费网站模板
  • 国家建设部防化工程师网站官网免费图片制作
  • 做美食有哪些网站朋友帮忙做网站 费用多少
  • 公司网站域名在哪里备案创同盟做网站
  • 国际摄影作品网站美橙互联网站备案平台
  • 手机网站开发服务商网站为什么要服务器
  • 江苏建设培训网站做简单网站需要学什么软件有哪些
  • 手机网站模板 学校sem优化案例
  • 有没有做网站的电话国内网站建设排名
  • 建设银行网站怎么查余额品牌网十大品牌排行榜
  • 养殖推广网站怎么做网站注册商标属于哪一类
  • 网站开发找公司好还是个人自己做的网站怎么搜不到
  • 网站开发项目扶持政策有哪些做外贸的数据网站
  • 个人备案转企业网站期间平面设计师月薪多少
  • 网站建设的目的成都 网站
  • 搭建一个网站大概需要多少钱免费建站系统博客
  • 建设功能网站价格指定目录调用最新文章wordpress
  • 大连最好的网站制作公司外包公司名称
  • 忘记网站管理员密码做网站 斗地主
  • phpmyadmin做网站做销售在哪个网站找客户端
  • 那个网站可以做双色球号码对比的阳城做网站
  • 只做同城交易的网站网站更新的意义
  • 公司 网站建设 会计科目建站技术论坛
  • 企业展示型电商网站模板自贡彩灯制作公司
  • 网站项目报价单石家庄个人建站网站策划
  • 公司网站需求文档校园网的规划与设计
  • 网站icp备案号怎么查房地产最新消息房价会涨吗
  • 网络招商平台网站怎么做淮南网络运营公司
  • 做单页网站容易排名吗优质高等职业院校建设申报网站
  • 南京每月做社保明细在哪个网站查池州网站制作哪家好