为了账号安全,请及时绑定邮箱和手机立即绑定

大数据计数原理1+0=1这你都不会算(七)No.59

标签:
大数据

今天的干货,不是一般的干,噎死人那种干。没下面这些准备的话直接退出吧,回去度娘啊谷哥啊弄懂是什么东西再回来。

知识储备必须有这些:

BitMap知识。概率论二项分布。泰勒展开。函数求极限。求期望值。求方差、标准差。log对数变换。极大似然估计。

来了喔。

真的来了喔。

我们先定义几个代数。

整个BitMap 有m个坑,还要有u个坑还没被占。我们已经假设了值经过 Hash 后近似服从独立均匀分布。

对事件进行定义:

A = “经过n个元素进行Hash后,第j个桶值为0”

https://img1.sycdn.imooc.com//5df8d87200012baa01490037.jpg

则A出现的概率如上。意思就是坑为1的概率都是1/m,那么坑为0的概率为 (1 - 1/m),如此重复n次 ,就得到上面的式子了。

又因为每个桶都是独立的,所以整个BitMap的期望值为A的概率直接乘以m。

https://img1.sycdn.imooc.com//5df8d873000189c402630041.jpg

做一个小小的trick(小把戏)变换,也就是强行把内部满足某个求极限的式子。喏,这个。

https://img1.sycdn.imooc.com//5df8d8730001d83703960157.jpg

        https://img1.sycdn.imooc.com//5df8d8730001f74101830033.jpg

当m和n都趋向于无穷大的时候,求一下极限,就得到了这个

https://img1.sycdn.imooc.com//5df8d8730001b6f101280036.jpg

这个是有u个坑的估计,而我们想知道的是基数n,做一下log变换。

https://img1.sycdn.imooc.com//5df8d8730001725801480043.jpg

根据极大似然估计的判定定理。

https://img1.sycdn.imooc.com//5df8d873000151c505180027.jpg

既然https://img1.sycdn.imooc.com//5df8d8730001725801480043.jpg是可逆的,那么这样我们就得到了下面这个估计了。

https://img1.sycdn.imooc.com//5df8d8740001f8a001140038.jpg

好了,刚刚我们已经得到期望,现在我们求一下方差和比率t的方差和期望,后面有用,至于怎么求的,自行找一下怎么求。

https://img1.sycdn.imooc.com//5df8d8740001b83c06400193.jpg

我们定义一下函数f。https://img1.sycdn.imooc.com//5df8d8c90001b6da01960028.jpg

然后对https://img1.sycdn.imooc.com//5df8d8740001f8a001140038.jpg进行泰勒展开,得到下面这串玩意。

https://img1.sycdn.imooc.com//5df8d8cc00013f3006400146.jpg

取前三项。原论文里说,因为第二项展开的期望为0,所以保留前三项,求期望得到

https://img1.sycdn.imooc.com//5df8d8cd0001932b03340061.jpg

代入前面求到的期望值,化简可以得到。

https://img1.sycdn.imooc.com//5df8d8cd00014ec802830070.jpg

所以直接除于n,可以得到偏差比率为:

https://img1.sycdn.imooc.com//5df8d8cd000192ac04020092.jpg

至此,偏差比率的推导就完成啦,能看到这里的都是大神,说实话。

那标准差又是怎么样的呢?

还是它,泰勒展开。

https://img1.sycdn.imooc.com//5df8d8cc00013f3006400146.jpg

这里启发性地取前两项。

https://img1.sycdn.imooc.com//5df8d8cd0001b0bd02470079.jpg

一步一步推导下来,再配合前面求的方差,嗯相信你可以的。

https://img1.sycdn.imooc.com//5df8d8ce000145bf04510259.jpg

所以标准差就是这样。

https://img1.sycdn.imooc.com//5df8d8ce000107cf03800081.jpg

至此,原理,偏差率,标准差都推导完毕,但是还有一点点问题。就是,这样去算有什么条件呢,对于m的取值?启发性地取泰勒展开前三项和前两项又分别代表什么?这个大家自己去论文看,我要是开心,我可能也会说说看。

是不是很干货?我也知道很干,但是真的要细细阅读,读完最好搭配上原始论文好好看一下,我看了蛮久的说实话。

这个阶段,可以认为基础踏实阶段已经把 20% 学习得比较好了,可以暂时放在旁边一小段时间了,至少在思考的时候要放下。这个阶段思维模式要有一阵转变,对于业务中使用到的任何技术,都应该是不惑的程度,不要经常性地钻入到基础踏实阶段的牛角尖里边,认真思考关于业务需求、业务流程、模型、安全、部署 等方面的事情。

协同合作阶段

协同合作阶段,主要是关注合作伙伴的状态是否满足预期,关注对于团队成员的公共贡献,关注自己对于整个项目的整体的贡献。需要自己实现的业务逻辑那就自己实现,需要帮助被人设计的就帮助别人设计。这个阶段可以认为 80% 的业务需求对于你来说都没有什么大的难度了,驾轻就熟适当,任何需求在你眼中都是在一瞬间就能描述出流程、逻辑、部署事宜,不需要太多关注。

不同的阶段,我们有不同的思维模式,也有不同的努力点,别让这些槛阻碍着你的迭代式成长。基础踏实阶段关注基础,业务服务阶段关注实现路径,协同合作阶段关注伙伴。可以不断迭代踏实更加深的基础,但不要在同一时间来回切换,影响效率,原地踏步,阻碍自己的迭代式成长。



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消