概率计算

概率分布之间的距离度量以及python实现(三)

瘦欲@ 提交于 2020-02-07 06:53:44
转自: https://www.cnblogs.com/denny402/p/7050779.html 概率分布之间的距离,顾名思义,度量两组样本分布之间的距离 。 1、卡方检验 统计学上的 χ 2 统计量,由于它最初是由英国统计学家Karl Pearson在1900年首次提出的,因此也称之为Pearson χ 2 ,其计算公式为   (i=1,2,3,…,k)   其中, A i 为i水平的观察频数, E i 为i水平的期望频数,n为总频数, p i 为i水平的期望频率。i水平的期望频数 E i 等于总频数n×i水平的期望概率 p i 。当n比较大时, χ 2 统计量近似服从k-1(计算 E i 时用到的参数个数)个自由度的卡方分布。 卡方检验经常用来检验某一种观测分布是不是符合某一类典型的理论分布(如二项分布,正态分布等)。 观察频数与期望频数越接近,两者之间的差异越小, χ 2 值越小;如果两个分布完全一致, χ 2 值为0; 反之,观察频数与期望频数差别越大,两者之间的差异越大, χ 2 值越大。 换言之,大的 χ 2 值表明观察频数远离期望频数,即表明远离假设。小的 χ 2 值表明观察频数接近期望频数,接近假设。因此, χ 2 是观察频数与期望频数之间距离的一种度量指标,也是假设成立与否的度量指标。如果 χ 2 值“小”,研究者就倾向于不拒绝 H 0 ;如果 χ 2 值大

MATLAB数学建模:智能优化算法-遗传算法

让人想犯罪 __ 提交于 2020-02-07 02:55:58
遗传算法 遗传算法是模拟自然界生物进化机制进行迭代优化的算法. 它通过模拟"适者生存, 优胜劣汰" 的法则, 在所有可能的解决方法中找出最符合该问题所要求的条件的解决办法. 文章目录 遗传算法 1. 基本原理 1.1 选择 1.2 交叉 1.3 变异 1.4 终止条件 2. 程序设计 1. 基本原理 在遗传算法中, 通过编码组成初始群体后, 遗传操作的任务就是通过对群体中的每个个体进行适应度评评估进而进行筛选, 从而实现"优胜劣汰"的"进化"过程. 从优化搜索的角度而言, 遗传操作可使问题的解一代代地优化, 从而逼近最优解. 遗传算法包含三个基本遗传算子(genetic operator): 选择, 交叉和变异. 需要注意的是, 虽然个体遗传算子的操作都是在随机扰动的情况下进行的, 但这种随机化操作和传统的随机搜索方法存在差别: 遗传操作所进行的是高效有向的搜索. 遗传操作的效果和上述三个遗传算子所取的操作概率, 编码方法, 群体大小, 初始群体和适应度函数的设定密切相关. 1.1 选择 我们称"从群体中选择优胜的个体, 淘汰劣质的个体"的操作为 选择 . 选择算子又称再生算子. 选择操作建立在群体中个体的适应度评估之上. 目前常用的选择算子有: 适应度比例法 , 随机遍历抽样法 , 局部选择法 . 轮盘赌选择法 是最简单最常用的选择法. 在该方法中,

Robberies [hdu-2955]

走远了吗. 提交于 2020-02-07 00:24:58
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2955 可怜的POIUYTREWQ最近想买下dota2的商品,但是手头缺钱。他想起了之前看过的一部大片,觉得抢银行也许是个不错的选择。他认为,坏人被抓是因为没有预先规划。于是他在之前的几个月对各大银行进行了一次评估; 评估内容包括安全性和可盗窃金额: 他想知道在在某个风险系数下可以偷窃的最大金额 Input 第一行给出了一个整数T, 表示有T组测试数据. 对于每一组数据,第一行给出了一个浮点数P, 表示POIUYTREWQ允许被抓的最大概率, 和一个整数N,表示他计划去抢劫的N个银行. 接下来N行, 每行给出一个整数数Mj和浮点数Pj. 抢劫银行 j 可获得 Mj 百万美金, 被抓的概率是 Pj . Output 对于每组数据,每行输出一个整数,表示POIUYTREWQ在被抓概率小于P的情况下,可抢到的最多的金钱。 Notes and Constraints 0 < T <= 100 0.0 <= P <= 1.0 0 < N <= 100 0 < Mj <= 100 0.0 <= Pj <= 1.0 你可以认为每家银行都是独立的。 Sample Input 3 0.04 3 1 0.02 2 0.03 3 0.05 0.06 3 2 0.03 2 0.03 3 0.05 0.10 3

深度学习入门笔记(十四):Softmax

泄露秘密 提交于 2020-02-05 07:03:22
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进添砖加瓦。 文章目录 欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 深度学习入门笔记(十四):Softmax 1、Softmax 回归 2、训练一个 Softmax 分类器 推荐阅读 参考文章 深度学习入门笔记(十四):Softmax 1、Softmax 回归 如果是二分分类的话,只有两种可能的标记——0或1,如果是猫咪识别例子,答案就是:这是一只猫或者不是一只猫; 如果有多种可能的类型的话呢?有一种 logistic 回归的一般形式,叫做 Softmax 回归,能在试图识别某一分类时做出预测,或者说是多种分类中的一个,不只是识别两个分类,一起看一下。 假设不单单需要识别猫,而是想识别猫,狗和小鸡,其中把猫称为类1,狗为类2,小鸡是类3,如果不属于以上任何一类,就分到“其它”或者说“以上均不符合”这一类

[acm1203]

让人想犯罪 __ 提交于 2020-02-05 00:53:16
问题: Problem Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakless估计了他得到这个学校offer的可能性b。不同学校之间是否得到offer不会互相影响。“I NEED A OFFER”,他大叫一声。帮帮这个可怜的人吧,帮助他计算一下,他可以收到至少一份offer的最大概率。(如果Speakless选择了多个学校,得到任意一个学校的offer都可以)。 Input 输入有若干组数据,每组数据的第一行有两个正整数n,m(0<=n<=10000,0<=m<=10000) 后面的m行,每行都有两个数据ai(整型),bi(实型)分别表示第i个学校的申请费用和可能拿到offer的概率。 输入的最后有两个0。 Output 每组数据都对应一个输出,表示Speakless可能得到至少一份offer的最大概率。用百分数表示,精确到小数点后一位。 Sample Input 10 3 4 0.1 4 0.2 5 0.3 0 0 Sample Output 44.0% Hint

归一化(softmax)、信息熵、交叉熵

旧巷老猫 提交于 2020-02-03 14:08:34
机器学习中经常遇到这几个概念,用大白话解释一下: 一、归一化 把几个数量级不同的数据,放在一起比较(或者画在一个数轴上),比如:一条河的长度几千甚至上万km,与一个人的高度1.7m,放在一起,人的高度几乎可以被忽略,所以为了方便比较,缩小他们的差距,但又能看出二者的大小关系,可以找一个方法进行转换。 另外,在多分类预测时,比如:一张图,要预测它是猫,或是狗,或是人,或是其它什么,每个分类都有一个预测的概率,比如是猫的概率是0.7,狗的概率是0.1,人的概率是0.2... , 概率通常是0到1之间的数字,如果我们算出的结果,不在这个范围,比如:700,10,2 ,甚至负数,这样就需要找个方法,将其转换成0-1之间的概率小数,而且通常为了满足统计分布,这些概率的和,应该是1。 最常用的处理方法,就是softmax,原理如上图(网上淘来的)。 类似的softmax(1)=0.12,softmax(-3)=0,这个方法在数学上没毛病,但是在实际运用中,如果目标值x很大,比如10000,那e的10000次方,很可能超出编程语言的表示范围,所以通常做softmax前,要对数据做一下预处理(比如:对于分类预测,最简单的办法,所有训练集整体按比例缩小) 二、信息熵 热力学中的热熵是表示分子状态混乱程度的物理量,而且还有一个所谓『熵增原理』,即:宇宙中的熵总是增加的,换句话说

NLP之中文分词cppjieba

柔情痞子 提交于 2020-02-02 19:06:02
jieba简介 jieba库是一个简单实用的中文自然语言处理分词库。 jieba分词属于概率语言模型分词。概率语言模型分词的任务是:在全切分所得的所有结果中求某个切分方案S,使得P(S)最大。 jieba支持三种分词模式: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 精确模式,试图将句子最精确地切开,适合文本分析; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 jieba分词原理 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG) 1. 根据dict.txt生成trie树,字典在生成trie树的同时, 把每个词的出现次数转换为频率(jieba自带一个dict.txt的词典, 里面有2万多条词, 包含了词条出现的次数和词性(作者基于人民日报语料等资源训练得出来)。trie树结构的词图扫描, 说的就是把这2万多条词语, 放到一个trie树中, trie树是有名的前缀树, 也就是说一个词语的前面几个字一样, 就表示他们具有相同的前缀, 就可以使用trie树来存储, 具有查找速度快的优势)。 2.对待分词句子, 根据dict.txt生成的trie树, 生成DAG, 通俗的讲, 就是将句子根据给定的词典进行查词典操作, 生成所有可能的句子切分

[白话解析] 深入浅出最大熵模型

。_饼干妹妹 提交于 2020-01-31 16:35:42
[白话解析] 深入浅出最大熵模型 0x00 摘要 本文将尽量使用易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来解释最大熵模型。并且从名著中找了几个具体应用场景来帮助大家深入这个概念。 0x01 背景概念 1. 什么是熵? 熵这个概念可以从多个角度来理解。 1.1 从物理学角度理解熵 熵最早来原于物理学。德国物理学家鲁道夫·克劳修斯首次提出熵的概念,用来表示任何一种能量在空间中分布的均匀程度,能量分布得越均匀,熵就越大。即,熵是表示物质系统状态的一种度量,用它来表征系统的无序程度。 熵越大,系统越无序,意味着系统结构和运动的不确定和无规则; 熵越小,系统越有序,意味着系统具有确定和有规则的运动状态。 1.2 从系统复杂度理解熵 信息熵还可以作为一个系统复杂程度的度量,即物质系统有序化,组织化,复杂化状态的一种度量。 如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。 如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,对应的信息熵为0),此时的信息熵较小。 熵越大则该系统不确定性就越大,该系统未来发展就存在越多的可能性。 1.3 熵的推导&定义 熵的定义是:𝐇(𝐱) = −𝒔𝒖𝒎(𝒑(𝒙)𝒍𝒐𝒈𝟐𝒑(𝒙)) 其中,𝑝(𝑥)代表随机事件𝑥的概率,H(X) 就被称为随机变量 x 的熵,它是表示随机变量不确定的度量

针对隐马尔可夫模型第一个问题的解决方法之前向算法

笑着哭i 提交于 2020-01-31 13:05:58
复习, 状态序列(state sequence),观测序列(observation sequence) 问题一 概率计算问题 转载链接:https://zhuanlan.zhihu.com/p/27056207 给定模型的情况下,求某种观测序列出现的概率。 一般方法: 前向、后向算法 举例来说明一下,例子如下:(例子来源于维基百科) 考虑一个村庄,所有村民都健康或发烧,只有村民医生才能确定每个人是否发烧。医生通过询问患者的感受来诊断发烧。村民只能回答说他们觉得正常,头晕或感冒。 医生认为,他的患者的健康状况作为离散的马可夫链。 “健康”和“发烧”有两个状态,但医生不能直接观察他们;健康与发烧的状态是隐藏的。每天都有机会根据患者的健康状况,病人会告诉医生他/她是“正常”,“感冒”还是“头昏眼花”。 比如,给定的HMM模型参数已知,求出三天观察是(Dizzy,Cold,Normal)的概率是多少?对应的HMM模型参数已知的意思,就是说A(trainsition_probability),B(emission_probability),pi 矩阵是已经知道的。 这里仅算两天 这个问题我们最容易想到的解法就是将路径全部遍历一遍, 假如第一天为 Healthy 第一天为Healthy的概率为:0.6 在第一天为Healthy的基础上,观察为Dizzy的概率为: P(Dizzy|Healthy

隐马尔可夫模型深入理解——转载

蹲街弑〆低调 提交于 2020-01-31 10:28:58
隐马尔可夫模型(Hidden Markov model, HMM)是一种结构最简单的动态贝叶斯网的生成模型,它也是一种著名的有向图模型。它是典型的自然语言中处理标注问题的统计机器学模型,本文将重点介绍这种经典的机器学习模型。 转载链接: https://mp.weixin.qq.com/s?src=11&timestamp=1580378766&ver=2128&signature=id557IJtuCw7XYAqKzyjaqPMD2B88eVFQXaFhx2lZw3QnWFB NQjXJF8fcOVsomhyf5qL 81QZO0SbN8mwLWNn2sayM-0r s8uj7Q64aI7RtpULW d1L-je4qHKpiS55&new=1 “ 摇骰子问题 ” —— 经典 1. 引言 假设有三个不同的骰子(6面、4面、8面),每次先从三个骰子里面选择一个,每个骰子选中的概率为1/3,如下图所示,重复上述过程,得到一串数值[1,6,3,5,2,7]。这些 可观测变量组成可观测状态链 。同时,在隐马尔可夫模型中还有一条由 隐变量组成的隐含状态链 ,在本例中即 骰子的序列 。比如得到这串数字骰子的序列可能为[D6, D8, D8, D6, D4, D8]。 隐马尔可夫型示意图如下所示: 图中,箭头表示变量之间的依赖关系。图中各箭头的说明如下: 在任意时刻, 观测变量 (骰子)