女生是如何选择配偶的? 利用信息熵帮助我们找到其中的规律.
信息增益公式
信息增益 (IG,Information Gain) 表示某个消息 (X) 能够消除系统 (Y) 中不确定性的数量, 最常用的计算方法是用没有这个消息之前系统的信息熵减去已知这个消息后系统的信息熵, 即:
某个消息的信息增益越大, 就表示这个消息对最终结果的影响越大.
信息熵的计算公式是每种可能性概率 P(x)的对数的概率加权和, 即:
利用信息熵公式可以分别求出某个条件值对应的信息量, 然后用概率加权就和就得到了条件熵:
更多内容请参考信息增益 - 2
女生择偶标准数据
我们假设女生选择老公主要受四个因素影响: 颜值, 身高, 性格, 财富. 假设我们有一组数据如下:
这个数据纯属虚构, 不代表任何实际情况.
四个因素我们也叫做四个特征, 但是哪个特征对最终 "嫁与不嫁" 影响最大呢?
感性上说, 哪个特征与嫁否一栏重合度高, 那么影响就大. 但是如果我们需要深入评估每个特征对结果的影响程度, 那么就不能只靠感性, 而应该使用更加科学的数学方法.
系统的信息熵
我们先只看没有任何已知条件的情况下,"嫁否" 的随机性, 这就像随机扔硬币的正反两面数据:
共 12 次, 6 次嫁 6 次否, 各占一半, 和均匀硬币的结果一样, 系统的信息熵是:
颜值的信息增益
如果我们知道了一个人的颜值高低, 那么我们就应该更有把握猜测女生是否会选择嫁给这个人. 这里面确定性的增加, 就是颜值特征的信息增益.
这里是颜值和嫁否的对照表:
高颜值共 8 个,{1,3,5,6,7,9,11,12}, 对应的是
{否, 嫁, 否, 否, 嫁, 嫁, 否, 否}
, 即 5 否 3 嫁.
低颜值共 4 个,{2,4,8,10}, 对应的是
{否, 嫁, 嫁, 嫁}
, 即 1 否 3 嫁.
那么分别求出高, 低两种颜值分别对应的信息熵:
再把 8 个高颜值和 4 个低颜值的信息熵合并, 得到颜值条件熵:
颜值条件对应的信息增益就是:
其他特征的信息增益
同样我们可以求得其他三个特征条件的信息增益值:
性格的信息增益是:
计算得到身高的条件熵是,
身高的信息增益是
计算得到财富的条件熵是,
财富的信息增益是
综上, 我们可以看到, 从数据来判断, 对于女生择偶来说, 财富和颜值的影响力是相同的(信息增益都是 0.0933), 这两者也是影响最小的, 而影响最大的是身高(信息增益是 0.4084).
从感性上看, 身高与婚否的匹配度也是最高的, 其中 3 个高 2 个中都是嫁, 7 个矮对应了 6 个否 1 个嫁, 可以说只要知道高矮就可以有极大的把握判断是否会选择嫁了.
结语
信息增益的多少表示了这个条件和最终结果的吻合度, 也表示了这个条件的重要性和影响力.
信息增益的一个典型应用就是把增益最大的特征来作为决策树的根节点(最先判断的条件), 这样可以让决策树达到最高效的情况. 比如我们的女生择偶示例中, 应该把身高作为根节点, 也就是说遇到类似的相亲情况, 首先应该问 "这个男生个子高吗?"
来源: http://www.jianshu.com/p/7272fb013d99