摘要:本文是我在从事AIOps研发工作中做的基于MCTS的多维可加性指标的异常根因定位方案,方案基于清华大学AIOPs实验室提出的Hotspot算法,在此基础上做了适当的修改. 1        概述 1.1   研究对象 拥有多维度属性(如省份.运营商.数据中心)的可加性KPI,如页面访问量. 1.2   要解决的问题 对KPI总量(如总页面访问量)进行监控,如果监测到异常,希望快速定位到导致该异常的是哪一个或那几个维度值组合(根因集合),如(北京,移动)或者(上海,联通)或者{(北京,移动)…
1. 蒙特卡罗方法(Monte Carlo method) 0x1:从布丰投针实验说起 - 只要实验次数够多,我就能直到上帝的意图 18世纪,布丰提出以下问题:设我们有一个以平行且等距木纹铺成的地板(如图), 现在随意抛一支长度比木纹之间距离小的针,求针和其中一条木纹相交的概率.并以此概率,布丰提出的一种计算圆周率的方法——随机投针法.这就是蒲丰投针问题(又译“布丰投针问题”). 我们来看一下投针算法的步骤: 取一张白纸,在上面画上许多条间距为a的平行线 取一根长度为l(l≤a) 的针,随机地向…
在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基于模型的强化学习方法:基于模拟的搜索(Simulation Based Search). 本篇主要参考了UCL强化学习课程的第八讲,第九讲部分. 1. 基于模拟的搜索概述 什么是基于模拟的搜索呢?当然主要是两个点:一个是模拟,一个是搜索.模拟我们在上一篇也讨论过,就是基于强化学习模型进行采样,得到样…
转载请声明 http://blog.csdn.net/u013390476/article/details/50925347 前言: 围棋的英文是 the game of Go,标题翻译为:<用深度神经网络和树搜索征服围棋>.译者简单介绍:大三,211,计算机科学与技术专业,平均分92分,专业第一.为了更好地翻译此文.译者查看了非常多资料.译者翻译此论文已尽全力,不足之处希望读者指出. 在AlphaGo的影响之下,全社会对人工智能的关注进一步提升. 3月12日,AlphaGo 第三次击败李世石…
简介 最近AlphaGo Zero又火了一把,paper和各种分析文章都有了,有人看到了说不就是普通的Reinforcement learning吗,有人还没理解估值网络.快速下子网络的作用就放弃了. 实际上,围棋是一种零和.信息对称的combinatorial game,因此AlphaGo用的是蒙特卡罗树搜索算法的一种,在计算树节点Q值时使用了ResNet等神经网络模型,只是在论文中也归类为增强学习而已. 如果你想真正了解AlphaGo的原理(或者不被其他AI将统治人类的文章所忽悠),理解蒙特…
蒙特卡洛树搜索: MCTS使用蒙特卡洛模拟来估计每个节点的价值. 其默认策略为贪婪算法, 即每次选择价值最高的节点进行模拟, 在每次模拟得到结果后, 将结果反馈回每个上级节点, 更新节点价值. 通常来讲, 每个访问到的节点都会加入到树中, 实际上为了节省内存每次只加入一个子节点, 可以通过对旧节点剪枝或多次模拟后再加入新节点来进一步节省内存. 贪婪算法的缺点在于对于一个节点, 如果产生了一次或几次不利的结果后, 搜索树就会避开访问这个节点, 这意味着搜索树的广度会降低, 可能会忽略更好的选择.…
蒙特卡罗树搜索+深度学习 -- AlphaGo原版论文阅读笔记     目录(?)[+]   原版论文是<Mastering the game of Go with deep neural networks and tree search>,有时间的还是建议读一读,没时间的可以看看我这篇笔记凑活一下.网上有一些分析AlphaGo的文章,但最经典的肯定还是原文,还是踏踏实实搞懂AlphaGo的基本原理我们再来吹牛逼吧. 需要的一些背景 对围棋不了解的,其实也不怎么影响,因为只有feature e…
郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中心 本文档适用人员:研发和运维 提纲: 曾经的基于MongoDB的筛选+排序解决方案 MongoDB方案的缺陷 看中了搜索引擎的facet特性 看中了ES的简洁 看中了ES的天生分布式设计 窝窝的ES方案 ES的几次事故和教训 ES自身存在的问题   首先要感谢王超和胡耀华两位研发经理以严谨治学的研…
基于trie树做一个ac自动机 #!/usr/bin/python # -*- coding: utf-8 -*- class Node: def __init__(self): self.value = None self.children = {} # children is of type {char, Node} self.fre = 0 self.father = None self.fail = None def CMP(a, b): return b.fre - a.fre cla…
关于B树,不想写太多了,因为花在基于树的查找上的时间已经特么有点多了,就简单写写算了,如果以后有需要,或者有时间,可以再深入写写 首先说一下,为什么要有B树,以及B树是什么,很多数据结构和算法的书上来就上B树的定义,然后讲基于B树的几个操作,什么插入啊,建立啊,分裂啊,最后写个查找算法了事 我想,请问一下,编书的人这样搞是什么意思,这样还不如直接画算法的示意图,接下来是源码就够了,这样学下来,各种查找,搜索算法之间都是孤立开来的,无法领会到他们为什么这样做,他们是怎样想出来的,算了,不扯了,心里…