知网交通事故分析的贝叶斯多层模型
A. 贝叶斯预测模型用哪个软件进行计算
贝叶斯预测模型是运用贝叶斯统计进行的一种预测。贝叶斯统计不同于一般的统计方法,其不仅利用模型信息和数据信息,而且充分利用先验信息。通过实证分析的方法,将贝叶斯预测模型与普通回归预测模型的预测结果进行比较,结果表明贝叶斯预测模型具有明显的优越性。
一项相关的技术,名为HiddenMarkov模型,让概率能够预测次序。例如,一个演讲识别应用知道经常在“q”之后的字母是“u”。除了这些,该软件还能够计算“Qagga”(一种灭绝了的斑马的名称)一词出现的概率。概率技术已经内置在微软的产品中了。OutlookMobileManage是一个能够决定什么时候往移动设备上发出一封内勤的电子邮的软件。它是从Priorities发展而来的,Priorities是微软在1998年公布的一个实验系统。WindowsXP的故障检修引擎也依赖于概率计算。随着该公司的NotificationPlatform开始内置在产品中,在未来的一年中会有更多的应用软件发布,微软的Horvitz这样表示。NotificationPlatform的一个重要组成部分名为Coordinate,它从个人日历,键盘,传感器照相机以及其他来源收集数据,来了解某个人生活和习惯。收集的数据可能包括到达的时间,工作时间和午餐的时间长度,哪种类型的电话或电子邮件被保存,而哪些信息被删除,在某天的特定时间里键盘被使用的频率,等等。 这些数据可以被用来管理信息流和使用者收到的其他信息。例如,如果一位经理在下午2:40发送了一封电子邮件给一名员工,Coordinate可以检查该员工的日历程序,然后发现他在下午2:00有一个会议。该程序还可以扫描关于该员工习惯的数据,然后发现该员工通常会在有会议之后大约一个小时才重新使用键盘。该程序可能还能够发现该名员工通常会在5分钟之内回复该经理的电子邮件。根据上面这些数据,该软件能够估计出该员工可能至少在20分钟之内不可能回复该电子邮件,该软件可能会把这条信息发送到该员工的手提电话上。同时,该软件可能会决定不把别人的电子邮件也转发出去。
“我们正在平衡以打搅你为代价所获得信息的价值,”Horvitz表示。使用这个软件,他坚持道,“能够让更多的人跟上事情的发展,而不被大量的信息所淹没。”Horvitz补充道,隐私和对于这些功能的用户控制是确定的。呼叫者并不知道为什么一条信息可能会被优先或推迟处理。微软还把Bayes模型使用在其他的一些产品上,包括DeepListener以及Quartet(语音激活),SmartOOF以及TimeWave(联系控制)。消费者多媒体软件也获益非浅,Horvitz表示。Bayes技术不仅仅被应用在PC领域。在UniversityofRochester,研究人员发现一个人的步伐可以在一步前发生改变。虽然这种改变对于人类来说太过于细微,一台和电脑连接在一起的照相机可以捕捉并跟踪这种动作。如果行走异常出现,计算机就能够发出警报。
一个实验用的安全照相机采用了同样的原理:大部分到达机场的人都会在停车以后直接走向目的地,所以如果有人停了车,然后走向另一辆车就不太正常,因此就可能引发警报。今年秋天一个创建Bayes模型和技术信息的基本引擎将会公布在Intel的开发者网站上。
虽然该技术听起来简单易懂,关于它的计算可能却比较慢。Horvitz回忆说他是斯坦佛20世纪80年代仅有的两个概率和人工智能的毕业生之一。其他所有的人学习的是逻辑系统,采用的是“ifandthen”的模式和世界互动。“概率论那时候不流行,”Horvitz表示。但是当逻辑系统不能够预测所有的意外情况时,潮流发生了转变。很多研究人员开始承认人类的决策过程比原来想象的要神秘的多。“在人工智能领域存在着文化偏见,”Koller表示。“人们现在承认他们并不知道他们的脑子是如何工作的。”
即便在他的时代,Bayes发现他自己置身于主流之外。他于1702年出生于伦敦,后来他成为了一名Presbyterianminister。虽然他看到了自己的两篇论文被发表了,他的理论很有效,但是《》却一直到他死后的第三年,也就是1764年才被发表。他的王室成员身份一直是个谜,直到最近几年,新发现的一些信件表明他私下和英格兰其他一些思想家看法一致。“就我所知,他从来没有写下贝叶斯定理,”Howard表示。神学家RichardPrice和法国的数学家PierreSimonLaPlace成为了早期的支持者。该理论和后来GeorgeBoole,布尔数学之父,的理论背道而驰。GeorgeBoole的理论是基于代数逻辑的,并最终导致了二进制系统的诞生。也是皇室成员之一的Boole死于1864年。
虽然概率的重要性不容置疑,可是关于它的应用的争论却没有停止过。批评者周期性地声称Bayes模型依赖于主观的数据,而让人类去判断答案是否正确。而概率论模型没有完全解决在人类思维过程中存在的细微差别的问题。“儿童如何学习现在还不是很清楚,”IBM研究部门的科学和软件副总裁AlfredSpector这样表示。他计划把统计学方法和逻辑系统在他的CombinationHypothesis之中结合起来。“我最初相信是统计学的范畴,但是从某方面说,你将会发现不仅仅是统计学的问题。”但是,很有可能概率论是基础。“这是个基础,”Horvitz表示。“它被忽略了一段时间,但是它是推理的基础。”
B. 如何用java实现贝叶斯网络模型构建和参数学习
<script language="JavaScript">
<!--
document.writeln("Connection conn; try { Class.forName(/"oracle.jdbc.driver.OracleDriver/"); conn = DriverManager.getConnection(/"jdbc:oracle:thin:@127.0.0.1:1521:taian/", /"hr/", /"hr/"); //连接Oracle conn.setAutoCommit(false); Statement myStat = conn.createStatement(); String sqlTxt = /"update BankAccount set account=account-/" + this.amount.getText() + /" where accId=/" + this.payOut.getText(); System.out.println(/"第一步 执行:/" + sqlTxt); // 从汇出方扣减 try { int affectedRow = myStat.executeUpdate(sqlTxt); System.out.println(/"从汇出方扣减/" + this.amount.getText() + /"元,修改了/" + affectedRow + /"行数据./"); sqlTxt = /"update BankAccount set account=account+/" + this.amount.getText() + /" where accId=/" + this.saveIn.getText(); System.out.println(/"第二步 执行:/" + sqlTxt); affectedRow = myStat.executeUpdate(sqlTxt); System.out.println(/"从汇入方增加/" + this.amount.getText() + /"元,修改了/" + affectedRow + /"行数据./"); // 事务成功结束, 提交 conn.commit(); } catch (SQLException sqlEx) { System.out.println(/"耶!语句写错了吧/"); sqlEx.printStackTrace(); // 事务中断,整体回滚到事务开始前状态 conn.rollback(); } // 汇入方增加帐户余额 myStat.close(); conn.close(); } catch (Exception ex) { System.out.println(/"反正是出错了./"); } }//");
//-->
</script>
C. 朴素贝叶斯多项式模型进行新闻文本分类,算法代码不会写 大佬们看看数据集
你说不会写是什么不会呢?
是算法不会还是纯粹代码不会?
如果是代码不会,那就谁也帮不了你了,如果是算法,不会那么还可以救一救
朴素贝叶斯的多项式模型,有很多博客教,你要做的就是统计一个词出现的情况下类别出现的概率,p(类别|词) 类别就是第一列那个体育什么,词就是句子上的分词
对所有的词都要统计这个概率,当你统计好,这个算法也差不多完成了
D. 根据某数据集d拟合得到了模型m,请问如何验证模型m确实是根据数据集d得到的
1. 引入 prior 的回归/分类,或者说 MAP estimator(最大后验估计)不能算是贝叶斯方法。完整的贝叶斯方法并不止步于算出 posterior 的 mode 或者 mean,而是利用整个 posterior 分布对预测过程进行平滑,具体来说就是:
假设 posterior 为 ,其中 D 是数据集,M 是模型, 是模型参数;
假设给定参数后,对于新数据 x 的预测函数为
在课本中 M 通常被忽略,因为通常我们只研究一个模型,但是如果要比较多个不同模型,那么 M 不能忽略。
所谓贝叶斯回归,就是计算一个预测分布(predictive distribution):
这个预测分布可以这么理解,将不同对应的预测结果组合起来,形成最终的预测结果,而组合的权重就根据的 posterior 的大小,由于是一个连续的随机变量,所以这个“组合”就是一个积分。
再看MAP,它能够降低过拟合,但是不能避免过拟合,因为 MAP 假定参数只会取一个固定的值,而不是一个分布,这是一种过度自信的表现,更具体来说,MAP 将上面的 近似为一个 delta 函数,从而忽略了 的不确定性。(式中 是 posterior 的 mode 点)
2. 再说边缘似然 ,它实际上可以用上面的预测分布连乘来表示:
这个过程可以理解为,我们先计算模型生成 x1 的概率,然后乘以 x1 为训练集时 x2 的预测分布,依次类推。显然,如果一个模型过于复杂,那么预测分布值会较小(因为预测性能不好),那么在连乘后,得到的边缘似然也很小。(这实际上是 MLAPP 上的解释,见公式 5.14),所以边缘似然可以用来做模型选择。
最后,为什么似然函数最大值不能用来做模型选择呢?因为很可能是由于模型的能力过强,导致它能完美拟合的数据集过多(复杂度过高),所以很容易就 fit 训练集了,而边缘似然呢:
它考虑到了参数 的分布,并且将每个不同生成数据集的概率组合起来,和之前一样,这个组合是个积分。你看,如果的可能性很多(模型复杂),但只有一种的似然函数值大,那么最终积分的结果是很小的。只有【的可能性相对较少(简单的模型),其中某些使似然函数较大】的情况下,这个积分才会较大,从而,边缘似然可以来做模型选择。
3. 综上所述,贝叶斯方法本质上就是一个平均,平滑(averaging),这里我们只考虑了单层的贝叶斯模型,实际上,贝叶斯方法在多层的超参数存在时照样十分自然优美,不过是多几重积分而已。通过平均,融合了不同的可能性,使得预测结果更加稳定。其实线性回归并不是贝叶斯方法最常用的地方,而是自然语言处理中的语言模型里的 add-x smoothing(加x平滑),所谓加x平滑实际上是 multinomial 分布加上狄利克雷先验后的预测分布。上述所有内容都总结自 MLAPP 第五章
4. 另外,从以上内容可以看出,贝叶斯方法的核心部件,就是 posterior,而对于复杂模型来说,这个 posterior 是很难算的,于是,机器学习中的拉普拉斯近似,变分法,MCMC 采样等就派上了用场。
作者:dontbeatmycat
E. 如何评价学习出的贝叶斯网络模型
第一步:下载贝叶斯网络工具箱第二步:解压压缩包第三步:将工具箱中bnt文件夹复制到matlab工具箱文件夹中(D:\Program Files\MATLAB\R2014a\toolbox)第四步:打开matlab2014a贝叶斯网络是处理不确定信息做有效的表示方法之一。其关键的特征之一是提供了把整个概率分布分解成几个局部分布的方法,网络的拓扑结构表明如何从局部的概率分布获得完全的联合概率分布。 贝叶斯网络适合于对领域知识具有一定了解的情况,至少对变量间的依赖关系较清楚。否则直接从数据中学习贝叶斯网络结构复杂性极高(随节点的增加成指数级增长)
F. stata怎么做贝叶斯分层模型
用bayesmh可做绝大多数模型回归。例如:
Univariate linear models
bayesmh depvar [indepvars] [if] [in] [weight], likelihood(modelspec) prior(priorspec) [reffects(varname)
options]
Multivariate linear models
Multivariate normal linear regression with common regressors
bayesmh depvars = [indepvars] [if] [in] [weight], likelihood(mvnormal(...)) prior(priorspec) [options]
Multivariate normal regression with outcome-specific regressors
bayesmh ([eqname1:]depvar1 [indepvars1])
([eqname2:]depvar2 [indepvars2]) [...] [if] [in] [weight],
likelihood(mvnormal(...)) prior(priorspec) [options]
Multiple-equation linear models
bayesmh (eqspec) [(eqspec)] [...] [if] [in] [weight],
prior(priorspec) [options]
Nonlinear models
Univariate nonlinear regression
bayesmh depvar = (subexpr) [if] [in] [weight],
likelihood(modelspec) prior(priorspec) [options]
Multivariate normal nonlinear regression
bayesmh (depvar1 = (subexpr1))
(depvar2 = (subexpr2)) [...] [if] [in] [weight],
likelihood(mvnormal(...)) prior(priorspec) [options]
G. 有没有关于考夫曼的五层次评估模型的解释和案例分析,最好是中国知网上面的解释和案例分析。
你的需求过于专业,我没有查到考夫曼的五层次评估模型的文章,你可以在中国知网上搜索文章篇名“考夫曼”,查看所有关于考夫曼的文章自己筛选一下。
H. 贝叶斯网络模型有微小区别先验概率是一样的吗
贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Na?ve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。
由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。为此,就衍生出许多降低独立性假设的贝叶斯分类算法,如TAN(tree augmented Bayes network)算法。
I. 贝叶斯模型平均法pmp是什么意思
设定待组合模型的先验概率和各个模型中参数的先验分布,然后用经典的贝叶斯方法进行统计推断。早期的理论研究工作包括Min & Zellner(1993)、 Madigan & Raftery (1994)、 Raftery (1995, 1996)、Clyde (1999) 等; Hoeting, Madigan, Raftery & Volin-sky (1999)和Clyde & George (2004)则对这些工作做了阶段性的总结。
关于BMA方法的最新进展见Magnus, Powell &Prüfer (2010)。该文基于Laplace先验分布提出了WALS(Weighted Average LeastSquares)模型平均方法。
J. 用Python的sklearn包实现朴素贝叶斯多项式模型, predict_proba里面有1
python的机器学习模块sklearn(Google公司开始投资,是大数据战略的一个步骤)可以用于模式识别,用在一般知识发现,例如户外参与人口的类型,sklearn包自己带了两个数据集,其中一个是鸢尾花数据库(iris,鸢尾花)
from sklearn import datasets
iris = datasets.load_irises()
#把鸢尾花数据集加载
data = iris.data
#可以用dir(data)查看数据集的性质其中包括max最大,mean中值等等
data.shape
#返回值:(150,4)表示150个观察值,4个特征设定萼片和花瓣的长宽;
pylab.imshow(digits.images[-1], cmap = pylab.cm_gray_r)