做者在学习机器学习领域的各种算法时,就发现不少闪着智慧光点的各类metrics(度量)。其每每才是一个算法的灵魂,它能够是某种性能的度量,类似度的度量,优化目标的度量等等。做者在此总结学习到的各类度量衡,一者做为一个总结,供本身不时翻阅,两者抛砖引玉。 算法
1. entropy:(熵)反映一个几率分布的不肯定性,当咱们采用几率分布对事件进行建模时,熵能够做为该事件包含的信息量的度量,熵越大,信息量越少;反之,熵越小,信息量越大。有时候也用熵来度量一个几率分布(事件)的,不肯定度和置信度。当咱们但愿某个事件的不肯定度尽可能小时,能够把该事件的熵做为优化的目标函数。 机器学习
2. 如下三个度量在决策树算法中,用于肯定分支。 函数
information gain:信息量增量,反映的是分支后的信息量,相对于分支前的信息量的增长量。很显然,该度量采用了熵来衡量一个几率分布的信息量。选择信息量增量最大的特征,进行分支,其目标就是使得分支后的子树上的各样本的不肯定度下降,即各子树样本类别趋向于单一化,被用于ID3算法中。在处理各属性具备不一样取值数量的分类问题时,Information Gain偏向于选取取值数量更多的属性。C4.5算法引入了信息增益率。 性能
Gini impurity:反映的是,若根据各标签在样本中的分布,随机对元素打标签后,打标签错误的几率。当样本集中,全部样本的标签都相同时,该随机打标签错误的几率为0;若全部标签的样本均匀分布时,该随机打标签错误的几率最大。可见,该值的单调性和Information Gain相同,被用于CART算法中。 学习
variance reduction:被CART算法引入,应用于目标变量为连续值的状况。不须要计算目标变量的均值,直接估计样本集中,目标变量的方差。当样本集中,全部样本目标变量的值都相同时,该方差为0;全部样本目标变量的值趋于均匀分布时,该方差的最大。可见该值的单调性和Information Gain、Gini Impurity相同,其优势是应用于目标变量连续的状况时,不须要对目标变量进行离散化。 优化
3. 词频(TF):用于构建文本特征,能够采用一个单词在文档中出现的频次f表示,也能够采用0/1表示(1表示在该文档中出现过,0表示在该文档中没有出现),也能够对频次f取对数log(f+1)。
spa
逆文档频率(IDF):用单词在全部文档中出现的频繁程度,来反映该单词携带的信息量,假设全部文档数量为N,单词在n个文档中出现过,那么IDF能够取为log(N/n),或者作一下平滑log(1+N/n)。
orm
朴素贝叶斯算法的思想分析:说到TF-IDF那就天然离不开朴素贝叶斯算法。朴素贝叶斯算法的基本理论基础是贝叶斯公式,该公式告诉咱们能够经过先验几率来估计后验几率,通俗的理解就是如今咱们知道一堆特征,要预测某一事件发生的几率,这个问题能够经过计算咱们以前采集的样本中,在该事件发生时,该特征出现的几率来解决,这貌似就是将一件彻底不知道从何下手的事情,瞬间转化成以前已知的事情。其基本假设是用于支持分类标签的全部特征对分类标签的影响是相互独立的,也就是说全部特征对最终分类标签的影响能够分解为单个特征对最终分类标签的影响。这也符合一般咱们求解问题,喜欢将问题分解的思路。该假设也是朴素贝叶斯算法朴素二字的来由。
事件
在处理文档分类问题时,能够将单词在文档中的分布当作多项式分布,也能够当作伯努利(0/1)分布。多项式分布,只考虑文档中出现的单词,及其出现的次数。伯努利分布考虑文档集中全部的单词,根据其是否出如今文档中,计算文档属于某个标签的后验几率。在处理样本分布不太均匀的多标签分类问题时,还有一个思想是去考虑计算文档不属于某个标签的后验几率,这样能够减弱样本分布不均衡对朴素贝叶斯算法的影响,该方法也称为互补朴素贝叶斯算法。多项式朴素贝叶斯和伯努利朴素贝叶斯在spark的MLlib中有实现,多项式朴素贝叶斯和互补朴素贝叶斯在mahout中有实现。须要说明的是,mahout实现中计算TF-IDF的方式和上述略有差别,其计算公式为: d=sqrt(f)*(1+log(N/(n+1)))。其中f是单词在文档中出现的次数,这里TF采用了开根号的方式,IDF采用了平滑策略。 文档
【后续】