贝叶斯网(2)Netica:从数据中学习CPT
1. 离散节点
在官方Tutorial中是有详细的案例的,就是B篇3.3节,你可以动手把天气预报这个实现一下:
http://www.norsys.com/tutorials/netica/secB/tut_B3.htm#LearningProbTables

2. 连续节点
假如我想输入的不是离散的状态,而是连续的数值,则不能像上一个案例一样做了。
* 离散状态:难,易;阴,晴,雨;是,否……这些都是多选一问题,天气只能是“阴,晴,雨”三选一,课程难度只有“难,易”两个选项,而不是“0为最易10为最难下,难度系数为5.312...”。
* 连续数值:房屋的面积,平均房间数(因为是平均房间所以可以是4.6这样的数而非整数)。仍然以最简单的贝叶斯网A→B为例,A为房屋面积,B为房价,则A可以是连续的数值。
Netica对连续节点的处理是:划分区间,看给定的连续数值落在哪个区间内。这一操作被称之为“离散化”。怎么理解离散化呢,这让我想起几年前学习正态分布的时候网上提供的可视化程序均是通过绘制柱状图,而柱状图划分的越细,就越接近连续状态下的正态分布曲线。

下面给一个简单的案例,波士顿房价,其中网络结构由自己搭建(箭头的指向自定义),节点之间的关联采取“从数据中学习”的方式获得(本质上是从数据中学习CPT,数据来源:波士顿房价数据集(Boston House Price Dataset)(下载地址:http://t.cn/RfHTAgY),简化起见,在此我挑选了一氧化氮浓度、犯罪率以及平均房间数这三列)。
step 1: 把这个数据粘贴到txt文件中。
// ~->[CASE-1]->~
crime air room price
0.00632 0.5380 6.5750 24.00
0.02731 0.4690 6.4210 21.60
0.02729 0.4690 7.1850 34.70
0.03237 0.4580 6.9980 33.40
0.06905 0.4580 7.1470 36.20
0.02985 0.4580 6.4300 28.70
0.08829 0.5240 6.0120 22.90
0.14455 0.5240 6.1720 27.10
0.21124 0.5240 5.6310 16.50
0.17004 0.5240 6.0040 18.90
0.22489 0.5240 6.3770 15.00
step 2: 载入txt文件,自动生成节点,并且在弹出的对话框中指定“离散成多少个区间”。

step 3: 根据大致的因果关系手动连接节点构建网络。
step 4: 再次载入同一个txt文件以学习节点与节点之间的关联。

本质上所学习到的就是条件概率表(CPT)。

现在整个贝叶斯网就搭建好了。各个节点均为连续节点,也就是说我在获取新数据的时候,可以直接输入新数据(如:air=0.49):

然后根据数值所属区间,Netica会自动给你归入到low NO或high NO(总感觉和想象的有点不一样,这样略粗糙啊,不过这就是Netica的设定)。
现在对搭建好的网络玩一下。可以发现将air调到“NO浓度最小”,crime调到“犯罪率最低”,room调到“房间数最多”的时候,房价属于“高房价区间”的可能性是最大的,这符合人类的基本认知。

2018.9.26
by 悠望南山
贝叶斯网(2)Netica:从数据中学习CPT的更多相关文章
- 贝叶斯网引论 by 张连文
贝叶斯网(Bayesian networks)是一种描述随机变量之间关系的语言,构造贝叶斯网是为了概率推理,理论上概率推理基于联合概率分布就行了,但是联合概率分布(基于表)的复杂度会呈指数增长,贝叶斯 ...
- 概率图模型(PGM):贝叶斯网(Bayesian network)初探
1. 从贝叶斯方法(思想)说起 - 我对世界的看法随世界变化而随时变化 用一句话概括贝叶斯方法创始人Thomas Bayes的观点就是:任何时候,我对世界总有一个主观的先验判断,但是这个判断会随着世界 ...
- 贝叶斯网(1)尝试用Netica搭建简单的贝叶斯网并使用贝叶斯公式解释各个bar的结果
近来对贝叶斯网十分感兴趣,按照博客<读懂概率图模型:你需要从基本概念和参数估计开始>给出的第一个例子,试着搭建了一个student网. (1)点击绿F,对条件概率表予以输入(包括两个祖先节 ...
- PGM:贝叶斯网的参数估计
http://blog.csdn.net/pipisorry/article/details/52578631 本文讨论(完备数据的)贝叶斯网的参数估计问题:贝叶斯网的MLE最大似然估计和贝叶斯估计. ...
- PGM:贝叶斯网表示之朴素贝叶斯模型naive Bayes
http://blog.csdn.net/pipisorry/article/details/52469064 独立性质的利用 条件参数化和条件独立性假设被结合在一起,目的是对高维概率分布产生非常紧凑 ...
- 基于贝叶斯网(Bayes Netword)图模型的应用实践初探
1. 贝叶斯网理论部分 笔者在另一篇文章中对贝叶斯网的理论部分进行了总结,在本文中,我们重点关注其在具体场景里的应用. 2. 从概率预测问题说起 0x1:条件概率预测模型之困 我们知道,朴素贝叶斯分类 ...
- PGM:贝叶斯网的参数估计2
http://blog.csdn.net/pipisorry/article/details/52599321 没时间看了,下次再看... 具有共享参数的学习模型 全局参数共享 局部参数共享 具有 共 ...
- Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习
http://blog.csdn.net/pipisorry/article/details/44245575 关于怎么学习python,并将python用于数据科学.数据分析.机器学习中的一篇非常好 ...
- 白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现
离去年“马尔可夫链进行彩票预测”已经一年了,同时我也计划了一个彩票数据框架的搭建,分析和预测的框架,会在今年逐步发表,拟定了一个目录,大家有什么样的意见和和问题,可以看看,留言我会在后面的文章中逐步改 ...
随机推荐
- Unity Android && Ant Automate Build 之一
这几天抽空研究下Android SDK 自动化打包.顺便温习下Unity 与 Android 交互机制. 一.Unity 与 Android 的 消息传递机制 Example: 导出 Android ...
- Android自己定义button实现长按功能
Android自己定义button实现长按功能 通过自己定义BUTTON,写一个LongTouchBtn类,在按下的时候运行onTouchEvent事件,通过这个事件使用回调函数来实现长按功能! XM ...
- lodash _.size
返回collection(集合)的长度,如果集合是类数组或字符串,返回其 length :如果集合是对象,返回其可枚举属性的个数. _.size([1, 2, 3]); // => 3 _.si ...
- 【Excle】在方框内打勾
在excel中,输入☑可以用控件,也可以用设置windings 2字体来设置. 如下图所示D列,字体设置成Wingdings 2字体后,输入R显示☑,输入S显示☒. 下面实现2个功能 从下拉菜单输入 ...
- android:id="@android:id/tabhost" 、android:id="@+id/llRoot" 、android:id="@id/llRoot" 之间的区别
由于快要放暑假了,所以最近这俩周把Android方面的知识复习一下,准备找个实习工作. 顺便把自己的总结更大家分享一下,共同进步,谢谢.... 一. android:id="@android ...
- Linux管理员必须知道的sudo命令
"Sudo"是Unix/Linux平台上的一个很实用的工具,它同意系统管理员分配给普通用户一些合理的"权利",让他们执行一些仅仅有超级用户或其它 特许用户才干完 ...
- Angularjs学习笔记3_datepicker
1.使用jquery-ui +angular <script src="http://libs.useso.com/js/jquery/1.11.1/jquery.js&qu ...
- mysql之replicate_do_table/replicate_ingore_table/replicate_wide_do_table/replicate_wide_ingore_table
参考:http://yhqlzz.blog.51cto.com/2557314/1159084/ mysql官网:http://dev.mysql.com/doc/refman/5.1/en/repl ...
- Vue 组件6内联模板
如果子组件有inline-template特性,组件将把它的内容当做模板,而不是把它当做分发内容,这样模板更灵活. <my-component inline-template> <d ...
- 高分辨率转HTML成PDF(ephtmltopdf.dll)
今天看到园友分享的 wkhtmtopdf--高分辨率转HTML成PDF(三) 想起我做 一键保存网页为PDF_V1.2 的时候,也研究过一段时间这个,一开始也看的是wkhtmltopdf,不过发现wk ...