概率计算

概率图模型

岁酱吖の 提交于 2019-12-20 05:41:47
过去的一段时间里,忙于考试、忙于完成实验室 要求的任务 、更忙于过年,很长时间没有以一种良好的心态来回忆、总结自己所学的东西了。这几天总在想,我应该怎么做。后来我才明白,应该想想我现在该做什么,所以我开始写这篇博客了。这将是对概率图模型的一个很基础的总结,主要参考了《PATTERN RECOGNITION and MACHINE LEARNING》。看这部分内容主要是因为 LDPC码 中涉及到了相关的知识。概率图模型本身是值得深究的,但我了解得不多,本文就纯当是介绍了,如有错误或不当之处还请多多指教。 0. 这是什么? 很多事情是具有不确定性的。人们往往希望从不确定的东西里尽可能多的得到确定的知识、信息。为了达到这一目的,人们创建了概率理论来描述事物的不确定性。在这一基础上,人们希望能够通过已经知道的知识来推测出未知的事情,无论是现在、过去、还是将来。在这一过程中,模型往往是必须的,什么样的模型才是相对正确的?这又是我们需要解决的问题。这些问题出现在很多领域,包括模式识别、差错控制编码等。 概率图模型是解决这些问题的工具之一。从名字上可以看出,这是一种或是一类模型,同时运用了概率和图这两种数学工具来建立的模型。那么,很自然的有下一个问题 1. 为什么要引入概率图模型? 对于一般的统计推断问题,概率模型能够很好的解决,那么引入概率图模型又能带来什么好处呢?

AUC计算方法总结

梦想与她 提交于 2019-12-20 04:34:44
一、roc曲线 1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。 横轴 :负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity) 纵轴 :真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率) 2针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况. (1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP) (2)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN) (3)若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP) (4)若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN) TP :正确的肯定数目 FN :漏报,没有找到正确匹配的数目 FP :误报,没有的匹配不正确 TN :正确拒绝的非匹配数目 列联表如下,1代表正类,0代表负类: 由上表可得出横,纵轴的计算公式: (1)真正类率(True Postive Rate)TPR: TP/(TP+FN) ,代表分类器预测的

词向量的发展

只愿长相守 提交于 2019-12-20 02:13:39
一、n-gram-model 谈到词向量则必须要从语言模型讲起,传统的统计语言模型是对于给定长度为m的句子,计算其概率分布P(w1, w2, ..., wm),以表示该句子存在的可能性。该概率可由下列公式计算得到: 但实际过程中句子的长度稍长便会为估计带来很大难度,因此n-gram 模型对上述计算进行简化:假定第i个词的出现仅与其前n-1个词有关,即: 实际计算中,通常采用n元短语在语料中出现的频率来估计其概率: 为保留句子原有的顺序信息,我们当然希望n越大越好,但实际上当n略大时,该n元短语在语料中出现的频率就会越低,用上式估计得到的概率就容易出现数据稀疏的问题。而神经网络语言模型的出现,有效地解决了这个问题。 二、Neural Network Language Model(NNLM) 神经网络语言模型不 使用频率来估计n元短语出现的概率 ,而是通过神经网络训练得到一个语言模型,所以会有如下优势: 首先将原始文本进行one-hot编码,在分别乘以词嵌入矩阵,得到每个词的词向量表示,拼接起来作为输入层。输出层后加上softmax,将y转换为对应的概率值。模型 采用随机梯度 下降对 进行最大化。 三、CBOW(continous Bag of words) CBOW的主要思想是将一句话中的某个词挖去,用其上下文对其进行预测,输出的时候是一个哈夫曼树,或者称之为分层softmax,

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

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

雷达

送分小仙女□ 提交于 2019-12-18 02:21:58
雷达原理知识点汇总 第一章 绪论 1、雷达概念(Radar): radar的音译,“Radio Detection and Ranging ”的缩写。原意是“无线电探测和测距”,即用无线电方法发现目标并测定它们在空间的位置。 2、雷达工作原理: 发射机在定时器控制下,产生高频大功率的脉冲串,通过收发开关到达定向天线,以电磁波形式向外辐射。在天线控制设备的控制下,天线波束按照指定方向在空间扫描,当电磁波照射到目标上,二次散射电磁波的一部分到达雷达天线,经收发开关至接收机,进行放大、混频和检波处理后,送到雷达终端设备,能判断目标的存在、方位、距离、速度等。 3、雷达的任务: 利用目标对电磁波的反射来发现目标并对目标进行定位。随着雷达技术的发展,雷达的任务不仅仅是测量目标的距离、方位和仰角,而且还包括测量目标的速度,以及从目标回波中获取更多有关目标的信息。 4、从雷达回波中可以提取目标的哪些有用信息,通过什么方式获取这些信息? 斜距R : 雷达到目标的直线距离OP。 方位角α: 目标斜距R在水平面上的投影OB与某一起始方向(正北、正南或其它参考方向)在水平面上的夹角。 俯仰角β:斜距R与它在水平面上的投影OB在铅垂面上的夹角,有时也称为倾角或高低角。 5、雷达工作方式 连续波和脉冲波 6、雷达测距原理 R=(C∆t)/2 式中,R为目标到雷达的单程距离,

抽奖概率-三种算法

自作多情 提交于 2019-12-16 12:26:10
本文转载自: https://www.cnblogs.com/younggun/p/3249772.html 作者:younggun 转载请注明该声明。 一、逢“几”中奖 逢“几”中奖,即通过预估抽奖人数和奖品数来判断,“几”=(抽奖人数/奖品数)*N。这是一种最简单抽奖 概率 +三种算法.html' target='_self'>算法,适合抽奖人数众多,而且互相无联系的情况。如今大为流行的微博转发得奖就常常使用这种算法,即根据转发次数来决定奖品归属,透明而且具有激励性。 当然这个“几”也不单只次数,还可能是时间,逢某个时间点就可以抽中,不过这种方案可能产生无人中奖和很多人中奖的情况,时间点的安排很关键!这个时间点一旦公布出去,那就是秒杀,霍霍。。 逢“几”中奖有很多弊端,但是非常简单,很容易实现,被很多抽奖活动所采用,有些会公布抽奖规则,激励抽奖,有些则不会公布,其实后台运行的可能也是这个算法,简单高效又不失公平。在信息不透明的情况下,鬼知道你是第几个抽奖的,哈哈。。 二、概率抽奖 所谓概率抽奖是最容易想到的抽奖算法了,这个概率可以是一成不变的,也可以是一直在变化调整的,最难的是采用多大的概率,何种情况下采用何种概率。这个也没有什么通用的方案,不同的应用场景,所用的概率算法不同。下面介绍一种算法,根据奖品的过期日期来计算它当前时间的中奖率,当时间逐渐接近奖品过期时间时

浅析Word2Vec

烈酒焚心 提交于 2019-12-16 02:08:06
浅析Word2Vec 1 预备内容 1.1 NLP任务 1.2 Distributional Semantics 1.3 one-hot向量 1.4 softmax函数 2 浅析Word2Vec 2.1 概述 2.2 Skip-Gram模型 2.2.1 模型的细节 2.2.2 隐层 2.2.3 输出层 2.2.4 小结 2.3 Continuous Bag of Words模型(CBOW) 2.4 加速策略1——Hierarchical Softmax 2.5 加速策略2——Negative Sampling 2.5.1 Subsampling Frequent Words 2.5.2 负采样 Negative Sampling 2.5.3 选择负样本 2.6 加速策略小结 2.7 模型训练的一些参数设定 参考文献 1 预备内容 1.1 NLP任务 NLP的目标是设计算法让计算机去理解自然语言并去解决某些问题。 所有NLP任务德第一步,就是如何将单词表示为模型的输入。为了使得大多数NLP任务表现良好,我们首先需要能够用向量表示单词的相似性和差异性。有了这些词向量,我们可以简单的用向量自身的能力来计算相似性(如Jaccard, cos等) 1.2 Distributional Semantics A word’s meaning is given by the words that

社区检测与高密子图挖掘(上)

扶醉桌前 提交于 2019-12-15 04:52:17
前面我们说过图的第二个优点是拉帮结派,在图里面是很容易形成团伙结构,近年来,研究这个问题的论文也是汗牛充栋。本章,我们就这一问题所衍生出来的两个方面:社区检测(Community Detection)和高密子图挖掘(Dense Subgraph Mining)作相关讲解。 本文,我们先讲社区检测的相关算法。社区检测的任务是什么呢?举个例子,给定如下图。 直观印象告诉我们,该图存在以下的社区结构: 像这样,从给定图中,将各节点划分到相应社团的任务称为社区检测。值得注意的一点是,一般当我们在说社区检测的时候,节点都是同态的,类型都一样。 本文会重点介绍三个最流行的社区检测算法 Louvain、Lpa、Infomap ,最后对社区检测作一些补充说明。 Louvain算法 Louvain算法是一种基于模块度的社区检测算法,由于其良好的效率与稳定性而广受欢迎。网上也有基于Spark GraphX 的开源实现版本。 模块度(Modularity) 同很多无监督的聚类算法一样,衡量指标是一个至关重要的因素,很多时候,我们只需要定义好这个指标,然后选择启发式的更新方法去不断优化这个值。一个算法的大概骨架也就出来了。当然一个好的社区衡量指标要符合基本逻辑:社区内联系紧密,社区间联系松散。在06年《Modularity and Community structure in networks 》一文中

什么是似然函数?是条件概率吗?

徘徊边缘 提交于 2019-12-14 23:00:25
之前看书上的一直不理解到底什么是似然,最后还是查了好几篇文章后才明白,现在我来总结一下吧,要想看懂最大似然估计,首先我们要理解什么是似然,不然对我来说不理解似然,我就一直在困惑最大似然估计到底要求的是个什么东西,而那个未知数θ到底是个什么东西TT 原博主写的太好了,这里 我就全盘奉上~ 似然与概率 在统计学中,似然函数(likelihood function,通常简写为likelihood,似然)是一个非常重要的内容,在非正式场合似然和概率(Probability)几乎是一对同义词,但是在统计学中似然和概率却是两个不同的概念。概率是在特定环境下某件事情发生的可能性,也就是结果没有产生之前依据环境所对应的参数来预测某件事情发生的可能性,比如抛硬币,抛之前我们不知道最后是哪一面朝上,但是根据硬币的性质我们可以推测任何一面朝上的可能性均为50%,这个概率只有在抛硬币之前才是有意义的,抛完硬币后的结果便是确定的;而似然刚好相反,是在确定的结果下去推测产生这个结果的可能环境(参数),还是抛硬币的例子,假设我们随机抛掷一枚硬币1,000次,结果500次人头朝上,500次数字朝上(实际情况一般不会这么理想,这里只是举个例子),我们很容易判断这是一枚标准的硬币,两面朝上的概率均为50%,这个过程就是我们根据结果来判断这个事情本身的性质(参数),也就是似然。 结果和参数相互对应的时候

Word2Vec详解

亡梦爱人 提交于 2019-12-14 19:59:42
原文地址:https://www.cnblogs.com/guoyaohua/p/9240336.html 2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。随着深度学习(Deep Learning)在自然语言处理中应用的普及,很多人误以为word2vec是一种深度学习算法。其实word2vec算法的背后是一个浅层神经网络。另外需要强调的一点是,word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型。很多人以为word2vec指的是一个算法或模型,这也是一种谬误。接下来,本文将从统计语言模型出发,尽可能详细地介绍word2vec工具背后的算法模型的来龙去脉。 Statistical Language Model 在深入word2vec算法的细节之前,我们首先回顾一下自然语言处理中的一个基本问题: 如何计算一段文本序列在某种语言下出现的概率?之所为称其为一个基本问题,是因为它在很多NLP任务中都扮演着重要的角色。 例如