概率计算

手撸决策树代码——原理详解(1)(python3)

江枫思渺然 提交于 2019-12-14 07:07:51
前提 了解信息熵 简单提一下,学过物理化学的小伙伴都明白: 熵是无序分子运动紊乱程度的一种度量 ,熵值越大,内部的混乱程度越大。 因此,信息熵是 对某个事件里面所包含的信息的混乱程度 在数学上: 当一件事是不太可能发生的时候,我们获取的信息量较大 当一件事是极有可能发生的时候,我们获取的信息量较小 例如: 1.特朗普其实是中国的卧底 2.特朗普是zz。 结论: 信息的量度应该依赖于概率分布, 所以说熵h(X)应该是概率P(X)的单调函数。 推导过程: 当x事件与y事件不相关时:(x事件与y事件独立) 我们获取x事件和y事件的信息量总和=x事件信息量+y事件信息量 即:h(X,Y) = h(X) + h(Y)————————————(1) 同理:由于x,y事件独立 x,y事件同时发生的概率 = x事件概率*y事件概率 即:P(XY) = P(X) * P(Y) 对其两边取对数 lgP(XY)=lg(P(X)*P(Y)) = lgP(X) + lgP(Y)——————(2) 由(1),(2)式得出结论 h(X)应该是概率P(X)的log函数 P(X)概率在0到1内log后为负数,(常理信息熵h(X)应为正数) 所以我们需要将在公式前添负号。 至于log以谁为底,计算机中一般以2(bit)为底,机器学习中一般以e为底。 所以:事件X单个随机变量xi的信息熵为

分析模型案例解析:决策树分析法

旧城冷巷雨未停 提交于 2019-12-10 18:13:20
1. 概念含义 1.1. 基本概念 决策树分析法又称概率分析决策方法,是指将构成决策方案的有关因素,以树状图形的方式表现出来,并据以分析和选择决策方案的一种系统分析法。它是风险型决策最常用的方法之一,特别式勇敢于分析比较复杂的问题。她以损益值为依据,比较不同方案的期望损益值(简称期望值),决定方案的取舍,其最大特点是能够形象地显示出整个决策问题在时间上和不同阶段上的决策过程,逻辑思维清晰,层次分明,非常直观。 2. 主要内容 2.1. 结构 决策树是由不同结点和方案枝构成的树状图形。决策树图像如图 1 所示。 图 1 中,图中符号说明如下: □表示决策点。需要决策一次,就有一个决策点。从决策点上引出的分枝称为方案枝,方案枝的枝数表示可行方案的个数。 ○表示方案的状态结点(也称自然状态点)。从结点上引出的分枝称为状态枝,状态枝的枝数表示可能出现的自然状态。 △表示结果点(也称末稍)。在结果点旁列出不同状态下的收益值或损失值, 供决策之用。 2.2. 种类 决策树根据问题的不同可分为: 单级决策树 单级决策树是只需进行一次决策(一个决策点)就可以选出最优方案的决策。 多级决策树 需要进行两次或两次以上的决策,才能选出最优方案的称为多级决策。其决策原理与单级决策相同,但要分级计算收益期望值。 3. 工具应用 3.1. 绘制步骤 决策树的绘制方法如下: 首先确定决策点,决策点一般用“口

一种概率变化的骰子模型

社会主义新天地 提交于 2019-12-10 13:40:17
玩家初始金币数为100 有一面骰子,玩家投掷到2,3,5 点的时候,获得金币数为当前金币数*对应的点数 其余点数,获得金币数为,当前金币数*0.5 若连续两次得到0.5的点数,则投掷结束 设计规则,计算期望 代码如下 import numpy as np #导入包名 import matplotlib.pyplot as plt win_time=np.array([2,3,5,0.5])#各个奖励 ls_gold=[] best_gold=[] for j in range(5): #单次游戏 i=0 d=0.1 score=[] win_gold=100 gold_record=[] while True: x = (1 - d)*0.5 #(*2点*) b = (1 - d)*0.3 #(*3点*) c = (1 - d)*0.2 #(*5点*) score.append(np.random.choice(a=win_time, size=1, replace=True, p=[x, b, c ,d]))#注意不要使用Append=() win_gold=win_gold*float(score[i])#获得奖金数等于上次奖金*本次奖励倍数 gold_record.append(win_gold)#用来记录投掷次数不同时获得奖金数,寻找最佳停止时间 if i>0 and

比特币:一种点对点电子货币系统

落花浮王杯 提交于 2019-12-10 09:59:37
摘要. 一种完全的点对点电子货币应当允许在线支付从一方直接发送到另一方 而不需要通过一个金融机构。数字签名提供了部分解决方案,但如果仍需一个 可信任第三方来防止双重支付,那就失去了电子货币的主要优点。我们提出一 种使用点对点网络解决双重支付问题的方案。该网络通过将交易哈希进一条持 续增长的基于哈希的工作量证明链来给交易打上时间戳,形成一条除非重做工 作量证明否则不能更改的记录。最长的链不仅是被见证事件序列的证据,而且 也是它本身是由最大 CPU算力池产生的证据。只要多数的 CPU算力被不打 算联合攻击网络的节点控制,这些节点就将生成最长的链而超过攻击者。这种 网络本身只需极简的架构。信息将被尽力广播,节点可以随时离开和重新加入 网络,只需接受最长的工作量证明链作为它们离开时发生事件的证据。 1. 简介 互联网贸易已经变得几乎完全依赖金融机构作为可信任第三方来处理电子支付。尽管对于 大部分交易这种系统运行得足够好,但仍需忍受基于信任模型这个固有缺点。由于金融机 构不可避免的需要仲裁纠纷,完全的不可撤销交易实际是做不到的。仲裁成本增加了交易 成本,限制了最小实际交易额度从而杜绝了日常小额交易的可能性,而且由于不支持不可 撤销支付,对不可撤销服务进行支付将需要更大的成本。由于存在交易被撤销的可能性, 对于信任的需求将更广泛。商家必须警惕他们的客户,麻烦他们提供更多他本不必要的信 息

概率论迷思

白昼怎懂夜的黑 提交于 2019-12-10 00:32:55
当你抛起一枚硬币,你不知道它会是正面还是反面,但你确切的知道正面与反面的概率都是50%。 概率论的神奇之处在于,它居然能从不确定性中找到确定性。 本文不教科书,只是阐述我的观点和思考,如有谬误,欢迎讨论或指正。 一些有趣的观点: 一个事情有N种发生的可能性,我们不能确信哪种会发生,是因为我们不能控制结果的发生,影响结果的许多因素不在我们的支配范围之内,这些因素影响结果的机理或者我们不知道,或者太复杂以至于超出了我们大脑或电脑的运算能力。比如:我们不确定掷硬币得到正面或反面,是因为我们的能力不足以用一些物理方程来求解这个结果。再比如:你不能断定你期末能考88分,因为出题、阅卷的不是你。 对于未发生之事,我们无法掌握其所有参数或无法计算。对于已经发生之事,事情都已经发生了,结果已定,也会因为掌握的信息不全而产生所谓概率。 即过去发生的事情虽然事实上是确定的,但因为我们的无知,它成了随机的。 我们在某个地方挖出了一块瓷器的碎片,它可能是孔子的夜壶,可能是秦始皇的餐具,也可能是隔壁老王的破茶壶从他家到垃圾站又被埋在了这个地方。 因此:概率在实质上就是无知,而不是说事物本身是随机的。 这一点很重要,不要误以为概率应该是客观事实。如果你有上帝视角的话,那么一切都是注定,任何事的概率都是100%,也就没有所谓概率之说了。 所以概率论是建立在人们有限的认知中的,不是真正的客观事实

数学基础 | (3) cs229概率论基础

陌路散爱 提交于 2019-12-09 20:52:56
目录 1. 概率的基本要素 2. 随机变量 3. 两个随机变量 4. 多个随机变量 1. 概率的基本要素 为了定义集合上的概率,我们需要一些基本元素: 样本空间 :随机实验的所有结果的集合(所有样本点的集合)。在这里,每个结果(样本点) 可以被认为是实验结束时现实世界状态的完整描述。 事件集(事件空间) F:事件 ,事件A是 的子集,即 是一个实验可能结果的集合(包含一些样本点)。 F需要满足以下三个条件: 概率(度量)P:函数P是一个 (事件集到实数集的映射),满足: 以上三条性质被称为 概率公理 。 例子 性质 条件概率与独立性 2. 随机变量 考虑一个实验,我们翻转 10 枚硬币,我们想知道正面硬币的数量。这里,样本空间 的元素是长度为 10 的序列。例如,我们可能有: 然而,在实践中,我们通常不关心获得任何特定正反序列的概率。相反,我们通常关心结果的实值函数,比如我们 10 次投掷中出现的正面数。在某些技术条件下,这些函数被称为 随机变量 。 更正式地说,随机变量X是一个 (样本空间/样本集到实数集的映射)的函数。通常,我们将使用大写字母 或更简单的X(其中隐含对随机结果 的依赖)来表示随机变量。我们将使用小写字母x来表示随机变量的值。 例子 在我们上面的实验中,假设 是在投掷序列 中出现的正面的数量。假设投掷的硬币只有 10 枚,那么 只能取有限数量的值,因此它被称为

集成学习 - 决策树-随机森林

吃可爱长大的小学妹 提交于 2019-12-09 00:40:33
认识 我觉得决策树+ 随机森林 应该是 ML 中最为重要的算法之一了吧, 反正我是很喜欢用的. 算法难度低, 可解释性很强, 能可视化 能处理非线性, 可扩展为随机森林(集成学习) 建立决策树的判别依据有很多, 比较主流的有经典的 ID3 算法(熵), C4.5 , 基尼系数等. 我是这种基于熵的理解了, 上学时学过熵的概念, 在<> 和 <> 有讲到. 其余的也没仔细看, 暂时能深入理解一个就可以了. 信息熵 衡量信息的不确定性 或 混乱程度的指标 不确定性越大, 则熵值越大 直观认知 举几个栗子: a. 大海捞针: 几乎不可能, 熵值很大 b. 扔一次硬币: 不确定性也很大, 熵值很大 c. 詹姆斯强攻篮下: 进球概率大, 不确定性很小, 因此熵值小 d. 斗地主时我已经推出对方剩下的牌: 这个信息量就很大了, 对于局势不确定性减少, 则熵变小. 通过直观, 我们用 信息熵 这个概念来 衡量信息的不确定性大小 , 如何对这个概念直观定性呢? 信息量,感觉上跟 概率 有关系, 概率很多, 信息量就很多 信息量, 应该是可以 相加 的 信息量, 应该是一个 单调的 信息量, 应该 不能为负数 , 最多只能有, 最差情况是 没有信息含量 , 不能说负吧 理性认知 也可以从系统论的观点来认识 (系统 = 多个元素的 相互联系). 可以肯定一点, 既然跟概率有关, 那 概率取值是 [0

假设检验的几个常见误区

僤鯓⒐⒋嵵緔 提交于 2019-12-08 20:54:43
误区一 :如果不能拒绝原假设,那么便接受原假设 (错误) 在多大数假设检验的应用中(即显著性检验),虽然对发生第一类错误的概率进行了控制,但并没有控制第二类错误发生的概率。因此,如果样本数据不能拒绝原假设,我们决定接受原假设的话,其实并不能确定该决策有多大的可信度。因此,我们在叙述中通常用“不能拒绝原假设”,而不是“接受原假设”。 “不能拒绝原假设”说明我们对判断持保留意见。只要未对第二类错误发生的概率加以控制,就不能得出接受原假设的结论。在这种情况下,我们只能得出两种结论:拒绝原假设或不能拒绝原假设。 误区二 :p值代表事件发生的概率,p值越小,说明事件越不可能发生 (错误) 如果p<=α,我们拒绝原假设,这不是说原假设发生的可能性非常小,而是说当原假设为真时,我们错误拒绝原假设的概率非常小。 p值表示的是:当原假设为真时,出现样本检验统计量的具体值或更极端结果的概率。p 值用来度量样本所提供的证据对原假设的支持程度 。p 值越小,说明拒绝原假设 的证据越多。也可以说,p 值是实际的显著性水平 。 误区三 :把α值设置的越小越好 (错误) 对于给定的样本量,减小α会使β增大,反之,增大α会使β减小。因此,不能毫无必要地选择非常小的显著性水平α,否则会增大第二类错误β发生的概率。 误区四 :如果p<=0.05,结果就是显著的 (错误) 通常,人们会把α值设为0.05

概率-期望粗学

折月煮酒 提交于 2019-12-08 15:26:32
引用:https://blog.csdn.net/auto_ac/article/details/9907881 很多概率题总逃不开用dp转移。 期望题总是倒着推过来的,概率是正着推的,多做题就会理解其中的原因 有些期望题要用到有关 概率 或 期望的常见公式或思想 遇到dp转移方程(组)中有环的,多半逃不出高斯消元(手动 和 写代码 两种) 这套题中还有道树上的dp转移,还用dfs对方程迭代解方程, 真是大开眼界了 当然还有与各种算法结合的题,关键还是要学会分析 当公式或计算时有除法时, 特别要注意分母是否为零 入门题:http://acm.hdu.edu.cn/showproblem.php?pid=3853 题意:一开始在矩阵左上角,每次有三种可能的选择(有对应的概率)向下走、向右走、原地不动,每次都有2的消耗,问到矩阵右下角的期望消耗是多少? 分析:设dp[i][j]表示从位置[i,j]到右下角的期望,那么dp[i][j]=dp[i][j]*(原地不动的概率)+dp[i+1][j]*(向下走的概率)+dp[i][j+1]*(向右走的概率)移项得公式 #include<cstdio> using namespace std; const int M=1003; double p[M][M][5],dp[M][M]; int main(){ int n,m; while(

漫谈逆向强化学习 - A Brief Review to Inverse Reinforcement Learning

被刻印的时光 ゝ 提交于 2019-12-08 05:37:03
下面我们来探讨下逆向强行学习的基本原理和典型方法,我们假设您已经对强化学习和凸优化的基本原理有一定的了解。 文章目录 概述 基于最大边际的逆向强化学习 学徒学习 最大边际规划(MMP) 基于结构化分类的方法 神经逆向强化学习 基于最大熵的逆向强化学习 基于最大信息熵的逆向强化学习 基于相对熵的逆向强化学习 深度逆向强化学习 GAIL 概述 我们先介绍下逆向强化学习的概念预分类: 什么是逆向强化学习呢?当完成复杂的任务时,强化学习的回报函数很难指定,我们希望有一种方法找到一种高效可靠的回报函数,这种方法就是逆向强化学习。我们假设专家在完成某项任务时,其决策往往是最优的或接近最优的,当所有的策略产生的累积汇报函数期望都不比专家策略产生的累积回报期望大时,强化学习所对应的回报函数就是根据示例学到的回报函数。即逆向强化学习就是从专家示例中学习回报函数。当需要基于最优序列样本学习策略时,我们可以结合逆向强化学习和强化学习共同提高回报函数的精确度和策略的效果。逆向强化学习的基本理论可参考如下论文: Ng A Y, Russell S J. Algorithms for Inverse Reinforcement Learning. ICML, 2000 逆向强化学习一般流程如下: 随机生成一个策略作为初始策略; 通过比较“高手”的交互样本和自己交互样本的差别,学习得到回报函数;