代码改变世界

随笔档案-2014年03月

熵、信息增益以及其他

2014-03-09 18:28 by 夜与周公, 2100 阅读, 收藏,
摘要: 很长一段时间,都对熵、信息增益懵懵懂懂,一知半解。最近,正巧碰到研究决策树算法,于是乎,恶补了这方面的知识。 1.什么是熵(Entropy) 在信息论里面,熵是对不确定性的测量,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。熵度衡量了系统的不确定性,当我们缺乏对某个系统的知识,... 阅读全文

位运算

2014-03-09 14:42 by 夜与周公, 317 阅读, 收藏,
摘要: 有关位运算(与运算,或运算,异或运算,左移和右移)是C/C++语言偏向底层的操作。市面上有很多有关位运算的算法技巧,特在此做了整理。 1.Bitmap 什么事Bitmap? Bitmap的核心思想就是“索引”技术,某个比特位作为key,而该比特上的值作为value(可以理解为状态位:0 or 1)。Bitmap既然利用了索引的思想,那么Bitmap这种数据结果的核心就是如何取到某个索引(即定位到某个bit)。 实现手段上肯定是利用位运算,如果想索引到第 i 比特,可以用如下代码:(p + i /8) | (0x1 > 1) a & b,则取出了a与b中相同的位,a与b相同位的平均 阅读全文