精华内容
下载资源
问答
  • Netica用于构建贝叶斯网络教程
    万次阅读 多人点赞
    2019-05-29 15:13:33

    最近在尝试构建贝叶斯网络,找了很多方式,发现用Netica工具是最容易上手的。构建成的贝叶斯网络节点的变量是离散型(连续型在构建的过程中Netica会用区间的形式化为离散)

    以下是找到的参考资料:

    1.Netica下载链接。Netica32破解.exe文件可以直接运行

    http://www.jz5u.com/Soft/trade/Other/178077.html

    2.下面是找到的几个例子,跟着练一次就差不多上手了。

    (1)下面例子是直接用数据文件来构建网络节点(更喜欢这个方法),缺点是操作过程讲的不细致

    http://www.mamicode.com/info-detail-2461833.html

    (2)下面这个链接是手动构建节点的方式(比较麻烦,懒人不太喜欢),优点是Netica的操作讲的是比较细致的

    http://www.catalina.com.cn/info_224404.html

    (3)这个是纯英文官方的介绍。

    https://www.norsys.com/tutorials/netica/secD/tut_D1.htm

    以上几个例子可以结合着看一下,共勉!!!

    3.直接通过txt构建网络时,务必要严格遵循格式。

    更多相关内容
  • GeNIe 用户指南
  • GeNIe几乎算是构建分析贝叶斯网络最简单的模型之一,不需要编程,方便易行。教程为2020版最新教程
  • 详细的介绍了贝叶斯网络可视化软件GeNIe使用说明,适合初学者
  • 无需编程,可视化窗口贝叶斯建模工具,适于用来建模仿真及数据分析。
  • 贝叶斯网络建模分析软件,十分方便好用,欢迎大家下载。
  • 贝叶斯网络软件SMILE和GENIE的使用

    千次阅读 2020-12-22 19:26:32
    贝叶斯推理--更新权值与设定参数有关 这些方法将在后面的小节中(设定参数与进行推论中)分别介绍如何使用。 int UpdateBeliefs(); void SetDefaultBNAlgorithm(int algorithm); void SetDefaultIDAlgorithm(int ...

    [TOC]

    For Beginners

    预备步骤

    下载和使用库文件

    在官方网站上下载对应版本的SMILE库,解压文件后将库文件放在debug文件夹下。需要声明的是,SMILE有两个版本,只有Academic版本才是免费的,Commercial版本需要购买license。如果在Windows下,只需要在工程文件中包含SMILE头文件的地址,并引入头文件即可,此时头文件会自动根据系统设置选择库文件。

    在Linux下,需要在g++中运行(假设库文件放在*.cpp文件同文件夹的子文件夹smile下),编译库文件并链接动态库(libsmile.a),系统输出二进制文件(可执行文件a.out)。

    g++ -DNDEBUG -O3 -I./smile -L./smile -lsmile *.cpp

    使用GeNIe可视化建图

    使用GeNIe建图后,将文件保存成xdsl文件。具体参考文献[1]。当然,如果没有安装GeNIe就得自己写xdsl文件。

    建立模型

    建立网络

    DSL_network

    SMILE中有关网络的类是DSL_network该类的头文件在"network.h"中,除了构造函数外,成员函数包括:读写文件

    int ReadFile(const char *filename, int fileType = 0, void *reserved = NULL);

    int WriteFile(const char *filename, int fileType = 0, void *reserved = NULL);

    int ReadString(const char *xdslString, void *reserved = NULL); //读xdslString的内容

    int WriteString(std::string &xdslOutputString, void *reserved = NULL);建网络有关(点、边)

    int FindNode(const char *nodeId) const;

    DSL_node* GetNode(int handle);

    弄清楚这两个函数的前提是能够用xdsl建图。在xdsl建图中结点的nodeID即是标识符(identifier),对应到SMILE库中就是const char *nodeID,这个在xdsl文件中必须指定,而且不能相同。以上两个函数的作用,FindNode是找到我们用identifier设置的node在系统中分配的handle是多少(int类型)。GetNode是真正用handle来获得该结点,GetNode的输入是handle,输出是结点类的指针(DSL_node),需要注意的是,handle并不是常值可能会改变,因此GetNode不能用一个定值handle,必须配合FindNode。FindNode的输出是handle,输入是标识符字符const char *nodeID。另外,还有一些特殊的函数:int MakeUniform();用以统一所有Node的definition。与目标结点有关

    在SMILE库中,目标结点是指在推断算法中会进行更新的结点,其他没有被设为目标的结点,不能保证被更新(跟具体的更新算法有关)。如果用户没有设置目标结点,那么系统默认所有的结点都是目标结点。

    int SetTarget(int nodeHandle);

    int UnSetTarget(int nodeHandle);

    int ClearAllTargets();

    int IsTarget(int nodeHandle); //yes:non-zero;no:zero;invalid handle:negative与记录有关

    在SMILE中,记录是用case来实现的。

    DSL_simpleCase * AddCase(const std::string & name);

    DSL_simpleCase * GetCase(int index) const;

    int DeleteCase(int index);

    void DeleteAllCases();

    int GetNumberOfCases() const;

    void EnableSyncCases(bool sync);贝叶斯推理--更新权值与设定参数有关

    这些方法将在后面的小节中(设定参数与进行推论中)分别介绍如何使用。

    int UpdateBeliefs();

    void SetDefaultBNAlgorithm(int algorithm);

    void SetDefaultIDAlgorithm(int algorithm);

    int InvalidateAllBeliefs()

    bool CalcProbEvidence(double &pe, bool forceChainRule = false);

    int ClearAllEvidence();

    DSL_node/DSL_nodeDefinition/DSL_nodeValue

    SMILE中有关结点的类是DSL_node、DSL_nodeDefinition、DSL_nodeValue,这些类的头文件分别在"node.h","nodedef.h","nodeval.h"中,除了构造函数外,成员函数包括:DSL_nodeDefinition、DSL_nodeValue分别是结点的定义与条件概率的设定的关键,另外DSL_node还有一些与概率推论无关的,而与结点的颜色、name等属性有关的函数。返回推论相关的DSL_nodeDefinition、DSL_nodeValue指针

    DSL_nodeDefinition *Definition();

    DSL_nodeValue *Value();返回node其他的性质

    const char* GetId() const; //nodeid 就是xdsl中identifier,所以返回值是一个字符串char*

    int SetId(const char *newId);

    DSL_nodeInfo &Info();

    DSL_network *Network();

    int Handle();

    DSL_userPropertiesDSL_nodeDefinition [todo]

    DSL_nodeValue [todo]

    DSL_Dmatrix

    SMILE中有关概率分布的类是DSL_Dmatrix,类的头文件在"dmatrix.h" 条件概率在DSL_Dmatrix用double类型的vector保存。具体的顺序参考手册中下图。

    定位可以用coordinate或者是index的相加。 DSL_Dmatrix还可以用在功效表以及边缘概率分布中。

    设定参数(enter observation, set evidence)节点(node)的表示:net.FindNode函数,该参数对应GeNIe中节点的标识符,而不是显示的Name!节点标识符对大小写敏感,并且命名规范为:起始字母为字符,只有字符、数字和下划线。节点状态的表示:net.GetNode函数与GetOutcomesNames函数,FindPosition函数。

    设定evidence:注意的是,不是直接设置string函数,而是设定已有的状态,并用其index作为输入。

    进行推论(perform inference, retrieve results)

    UpdateBeliefs

    参数学习

    参数学习最好的方法也是通过GeNIe直接操作。

    #include

    #include

    #include <.>

    using namespace std;

    int main(int argc, char *argv[])

    {

    ErrorH.RedirectToFile(stdout);

    DSL_network net;

    int res = net.ReadFile("VentureBN.xdsl");

    if (DSL_OKAY != res)

    {

    return res;

    }

    int handle = net.FindNode("Forecast");

    if(handle < 0)

    {

    return handle;

    }

    DSL_node *f = net.GetNode(handle);

    int idx= f->Definition()->GetOutcomesNames() ->FindPosition("Poor");

    if (idx < 0)

    {

    return idx;

    }

    f->Value()->SetEvidence(idx);

    net.UpdateBeliefs();

    handle=net.FindNode("Success");

    if (handle < 0)

    {

    return handle;

    }

    DSL_node *s = net.GetNode(handle);

    const DSL_Dmatrix &beliefs = *s->Value()->GetMatrix();

    const DSL_idArray &outcomes = *s->Definition()->GetOutcomesNames();

    for (int i=0;i

    {

    printf("%s=%g\n",outcomes[i],beliefs[i]);

    }

    cout << "Hello World!" << endl;

    return DSL_OKAY;

    }

    常见问题

    1.Windows下QT编译报错.error: LNK1104: cannot open file 'smile_dbg.lib'。 这种时候,不需要再额外去添加动态库,如下图。相反可以将所有的影子文件夹删除,并且重复几次“清理”和“构建”,并设置项目中的run运行配置。多等待几分钟会自动恢复。(这是非常奇怪的现象,个人猜测或许是Qt版本的原因,但今天确实遇到这个问题,尝试各种办法之后仍然无效,最后又自动恢复正常)

    参考文献

    展开全文
  • 可视化软件,UI非常友好 省去了Matlab编程的烦恼,极适合新接触BN的用户使用
  • 图形化的界面,建立贝叶斯网络很方便,比MATLAB下的FullBNT简单,没有代码。
  • 软件介绍: 此版本为2019年02月28日更新版本。GeNIe是一款可视化很强的贝叶斯网络软件,拥有良好的用户界面、直观透明,这也是多年来GeNIe界面开发的主要思想。总的来说,这款开源软件非常适合新手学习。上手
  • 可视化软件,UI非常友好 省去了Matlab编程的烦恼,极适合新接触BN的用户使用亲测好用,挺不错的资源,需要的人,就快来下载吧!很有用的!
  • GeNIe 2.0 可用于贝叶斯网络的计算工具 计算贝叶斯网络的工具,好用,可惜没有中文版的
  • 贝叶斯可视化窗口建模工具,适于用来建模仿真及数据分析,文件包里含有已有建模模型,以及GeNIe模型用户使用手册,非常详细!!!
  • 想用GeNIe建动态贝叶斯,结果发现网上要么没有要么要钱,贫穷的我发现人家官网不仅有教程而且还不要钱,(只不过是英文的,找一个免费的翻译软件翻译一下就好啦~) 官网地址:GeNIe Modeler – BayesFusion 学术...

    想用GeNIe建动态贝叶斯,结果发现网上要么没有要么要钱,贫穷的我发现人家官网不仅有教程而且还不要钱,(只不过是英文的,找一个免费的翻译软件翻译一下就好啦~)

    官网地址:GeNIe Modeler – BayesFusion

      学术下载是免费的。(只不过软件页面上有大大的学术专用水印)

     等一下账户就可以免费下载用户手册(全英)和软件了。

     这里需要填写姓名学校的,非师生应该不行吧。

     

    展开全文
  • MSBNX贝叶斯网络工具

    2020-05-26 16:36:07
    微软提供的贝叶斯网络建模、分析工具,操作简单、界面友好,并提供C#API接口及使用示例,可运行于X64系统。
  • 计算贝叶斯网络的工具,好用,可惜没有中文版的
  • netica贝叶斯仿真软件

    2020-01-23 06:30:25
    一个实用的贝叶斯网络仿真软件。能够实现大部分贝叶斯分类及推理。图形化的界面,上手很快 一个实用的贝叶斯网络仿真软件。能够实现大部分贝叶斯分类及推理。图形化的界面,上手很快
  • 2款贝叶斯网络绘制和分析的软件
  • 贝叶斯网络建模工具GeNie2.0安装程序

    热门讨论 2011-08-01 23:05:03
    界面友好,可视化操作。 可以通过样本数据学习网络参数,支持读取多种格式的样本数据文件。 可视化添加有向边约束等。 比Matlab下的贝叶斯工具简单易用。
  • 贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯网络的参数学习研究贝叶斯...
  • GeNIe是构建图决策理论模型的环境开发工具,可以方便进行多种概率图模型的构建、推理和学习。本资源是GeNIe官网教程2020版本,全英文。
  • 贝叶斯网络相关工具

    千次阅读 2021-11-10 19:53:52
    谷歌的贝叶斯网络软件列表。 商业的: AgenaRisk ,可视化工具,结合贝叶斯网络和统计模拟(免费一个月评估)。 Analytica ,基于影响图的可视化环境,用于创建和分析概率模型 (Win/Mac)。 AT-Sigma Data Chopper ...
    1. 概览页面

    Kevin Murphy 的贝叶斯网络软件包 页面
    谷歌的贝叶斯网络软件列表。

    1. 商业的:
      AgenaRisk ,可视化工具,结合贝叶斯网络和统计模拟(免费一个月评估)。
      Analytica ,基于影响图的可视化环境,用于创建和分析概率模型 (Win/Mac)。
      AT-Sigma Data Chopper ,用于分析数据库和寻找因果关系。
      BayesiaLab ,一套完整的贝叶斯网络工具,包括有监督和无监督学习,以及分析工具箱。
      Bayes Server ,高级贝叶斯网络库和用户界面。 支持分类、回归、分割、时间序列预测、异常检测等。 提供免费试用和演练。
      Bayesware Discoverer 1.0 ,一种自动建模工具,能够通过搜索最可能的模型从数据中提取贝叶斯网络
      BNet ,包括用于快速创建信念网络、输入信息和获取结果的 BNet.Builder 和用于将信念网络技术整合到您的应用程序中的 BNet.EngineKit。
      DXpress ,用于构建和编译贝叶斯网络的基于 Windows 的工具。
      Flint 在基于逻辑编程规则的环境中结合了贝叶斯网络、确定性因素和模糊逻辑。
      HUGIN ,全套贝叶斯网络推理工具
      Netica ,贝叶斯网络工具(Win 95/NT),提供演示。
      PrecisionTree ,用于直接在电子表格中构建决策树和影响图的 Microsoft Excel 插件
    2. 自由:
      BAYDA 1.0
      贝叶斯信念网络软件(Win95/98/NT/2000) ,来自J. Cheng,包括BN PowerConstructor:一个从数据中学习BN结构和参数的高效系统; BN PowerPredictor:用于数据建模/分类/预测的数据挖掘程序。
      Java 中的贝叶斯网络工具 (BNJ) :用于概率学习和推理的开源 Java 工具套件(堪萨斯州立大学 KDD 实验室)
      Chordalysis 是一种用于大数据的对数线性分析方法,它通过将复杂模型表示为三角形结构(又名弦图)的组合来利用图论中的最新发现。
      FDEP ,从给定的输入关系中引入函数依赖。 (GNU C)。
      GeNIe 和 SMILE ,一个完全可移植的 C++ 类库,实现了图形决策理论方法,例如贝叶斯网络和影响图。
      Java贝叶斯
      jBNC ,一个用于训练、测试和应用贝叶斯网络分类器的 Java 工具包。
      JNCC2,Naive Credal Classifier 2 (在 Java 中),Naive Bayes 对不精确概率的扩展; 它旨在返回稳健的分类,即使在小和/或不完整的数据集上也是如此。
      MSBN:微软信念网络工具 ,用于创建、评估和评价贝叶斯信念网络的工具。 非商业研究用户免费。
      Stan 是开源软件,与最流行的数据分析语言(R、Python、shell、MATLAB、Julia、Stata)相连接,并在所有主要平台上运行。
      PNL:开源概率网络库 ,一种用于处理图形模型的工具,支持有向和无向模型、离散和连续变量、各种推理和学习算法。
      Pulcinella ,基于 Shenoy 和 Shafer 框架的通过本地计算传播不确定性的工具。 (普通 Lisp)

    参考网页
    网页1:
    网页2:
    网页3:

    展开全文
  • 动态贝叶斯网络

    2016-01-03 15:39:50
    动态贝叶斯网络
  • GeNle教程.txt

    2020-03-30 12:30:38
    上传的这个文档里有教程的链接,点击可以直接下载 有HTML、PDF、CHM版本
  • 在此基础上,建立了带有Genie的动态贝叶斯网络模型,并对其在海上风电场生命周期不同阶段进行风险分析的有效性进行了评估。 研究结果表明,动态贝叶斯网络方法可以有效,灵活地进行风险评估,以响应海上风电建设的...
  • GeNie 贝叶斯网络工具

    热门讨论 2010-02-03 13:57:28
    GeNie is a software for constructing Bayesian Network. It is simple and useful.
  • 为解决因缺乏实际数据而无法准确计算叉装车制动系统部件的故障概率问题,提出一种结合模糊集理论和贝叶斯网络的模糊贝叶斯网络...通过GeNIe软件对所建立的叉装车制动系统故障诊断模型仿真分析,验证了该方法的有效性。
  • GeNie为平台构建煤矿瓦斯爆炸致因贝叶斯网络模型,并采用交叉验证方法对其可靠性和准确性进行验证;通过贝叶斯网络参数学习、敏感性分析等对模型中各节点变量进行分析,计算不同条件下相关节点的条件概率分布和后...

空空如也

空空如也

1 2 3 4
收藏数 71
精华内容 28
关键字:

贝叶斯网络软件genie教程

友情链接: javafxlloginandsignup.zip