SVM能不能用于回归分析以及用法

回复

徐铭 发起了问题 • 0 人关注 • 0 个回复 • 133 次浏览 • 2016-12-15 00:56 • 来自相关话题

#专题分享会第二期#LR和GBDT的区别

孟凡赛 发表了文章 • 0 个评论 • 750 次浏览 • 2016-12-13 16:53 • 来自相关话题

                           LR和GBDT的区别
算法简介
LR:
  LR(Logistic Regression,逻辑回归)是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。
  关于LR的详细介绍,参看超群同学的博文 【逻辑回归模型介绍以及优化算法】。
GBDT:
 GBDT(Gradient Boosting Decision Tree,迭代决策树) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法。近些年更因为被用于搜索排序的机器学习模型而引起大家关注。
 网上找到几篇关于GBDT的博文, 推荐先看一下这两篇文章,再看下面的内容。
GBDT(MART) 迭代决策树入门教程 从残差的角度解释GBDT,比较容易理解。
GBDT(Gradient Boosting Decision Tree) 没有实现只有原理详细介绍了GBDT的原理  
 
LR和GBDT的主要区别
1. 应用方面
  LR是线性模型,具有很好的可解释性,分布式计算迭代速度快,  GBDT几乎可用于所有回归问题(线性/非线性模型),具有更好的表达能力。LR是广义线性模型,与传统线性模型相比,LR使用了Logit变换将函数值映射到0~1区间,映射后的函数值就是预估值。LR这种线性模型很容易并行化,处理上亿条训练样本不是问题,但线性模型学习能力有限,需要大量特征工程预先分析出有效的特征、特征组合,从而去间接增强LR的非线性学习能力。
2. 数据需求方面
  LR可以很好的利用正则化解决稀疏性问题,尤其特征维数非常大,大到千亿级别。LR这种线性模型很容易并行化,处理上亿条训练样本不是问题,GBDT基于集成学习中的boosting思想,每次迭代都在减少残差的梯度方向新建立一颗决策树,迭代多少次就会生成多少颗决策树,所以在处理高维矩阵时运算效率相对偏低。
3. 特征选择方面
  LR模型中的特征组合很关键, 但又无法直接通过特征笛卡尔积解决,只能依靠人工经验,耗时耗力同时并不一定会带来效果提升。如何自动发现有效的特征、特征组合,弥补人工经验不足,缩短LR特征实验周期,是亟需解决的问题。Facebook 2014年的文章介绍了通过GBDT(Gradient Boost Decision Tree)解决LR的特征组合问题,随后Kaggle竞赛也有实践此思路。GBDT的迭代累加思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。
 
 
此外,GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合,决策树的路径可以直接作为LR输入特征使用,省去了人工寻找特征、特征组合的步骤。这种通过GBDT生成LR特征的方式(GBDT+LR),业界已有实践(Facebook,Kaggle-2014),且效果不错,是非常值得尝试的思路。
GBDT与LR的融合方式,Facebook的paper有个例子如下图所示,图中Tree1、Tree2为通过GBDT模型学出来的两颗树,x为一条输入样本,遍历两棵树后,x样本分别落到两颗树的叶子节点上,每个叶子节点对应LR一维特征,那么通过遍历树,就得到了该样本对应的所有LR特征。由于树的每条路径,是通过最小化均方差等方法最终分割出来的有区分性路径,根据该路径得到的特征、特征组合都相对有区分性,效果理论上不会亚于人工经验的处理方式。




  GBDT模型的特点,非常适合用来挖掘有效的特征、特征组合。业界不仅GBDT+LR融合有实践,GBDT+FM也有实践,2014 Kaggle CTR竞赛冠军就是使用GBDT+FM,可见,使用GBDT融合其它模型是非常值得尝试的思路。
感兴趣的同学可以看一下这篇关于GBDT与LR结合的博文,CTR预估中GBDT与LR融合方案
 
参考文献:
【1】http://www.csdn.net/article/2014-02-13/2818400-2014-02-13 详解并行逻辑回归
【2】http://www.imtechcenter.com/?/article/50 逻辑回归模型介绍以及优化算法
【3】http://blog.csdn.net/lilyth_lilyth/article/details/48032119/  CTR预估中GBDT与LR融合方案
【4】https://www.zhihu.com/question/23652394 为什么LR可以用来做CTR预估 查看全部
                           LR和GBDT的区别
算法简介
LR:
  LR(Logistic Regression,逻辑回归)是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。
  关于LR的详细介绍,参看超群同学的博文 【逻辑回归模型介绍以及优化算法】
GBDT:
 GBDT(Gradient Boosting Decision Tree,迭代决策树) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法。近些年更因为被用于搜索排序的机器学习模型而引起大家关注。
 网上找到几篇关于GBDT的博文, 推荐先看一下这两篇文章,再看下面的内容。
GBDT(MART) 迭代决策树入门教程 从残差的角度解释GBDT,比较容易理解。
GBDT(Gradient Boosting Decision Tree) 没有实现只有原理详细介绍了GBDT的原理  
 
LR和GBDT的主要区别
1. 应用方面
  LR是线性模型,具有很好的可解释性,分布式计算迭代速度快,  GBDT几乎可用于所有回归问题(线性/非线性模型),具有更好的表达能力。LR是广义线性模型,与传统线性模型相比,LR使用了Logit变换将函数值映射到0~1区间,映射后的函数值就是预估值。LR这种线性模型很容易并行化,处理上亿条训练样本不是问题,但线性模型学习能力有限,需要大量特征工程预先分析出有效的特征、特征组合,从而去间接增强LR的非线性学习能力。
2. 数据需求方面
  LR可以很好的利用正则化解决稀疏性问题,尤其特征维数非常大,大到千亿级别。LR这种线性模型很容易并行化,处理上亿条训练样本不是问题,GBDT基于集成学习中的boosting思想,每次迭代都在减少残差的梯度方向新建立一颗决策树,迭代多少次就会生成多少颗决策树,所以在处理高维矩阵时运算效率相对偏低。
3. 特征选择方面
  LR模型中的特征组合很关键, 但又无法直接通过特征笛卡尔积解决,只能依靠人工经验,耗时耗力同时并不一定会带来效果提升。如何自动发现有效的特征、特征组合,弥补人工经验不足,缩短LR特征实验周期,是亟需解决的问题。Facebook 2014年的文章介绍了通过GBDT(Gradient Boost Decision Tree)解决LR的特征组合问题,随后Kaggle竞赛也有实践此思路。GBDT的迭代累加思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。
 
 
此外,GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合,决策树的路径可以直接作为LR输入特征使用,省去了人工寻找特征、特征组合的步骤。这种通过GBDT生成LR特征的方式(GBDT+LR),业界已有实践(Facebook,Kaggle-2014),且效果不错,是非常值得尝试的思路。
GBDT与LR的融合方式,Facebook的paper有个例子如下图所示,图中Tree1、Tree2为通过GBDT模型学出来的两颗树,x为一条输入样本,遍历两棵树后,x样本分别落到两颗树的叶子节点上,每个叶子节点对应LR一维特征,那么通过遍历树,就得到了该样本对应的所有LR特征。由于树的每条路径,是通过最小化均方差等方法最终分割出来的有区分性路径,根据该路径得到的特征、特征组合都相对有区分性,效果理论上不会亚于人工经验的处理方式。
20150827190225375.png

  GBDT模型的特点,非常适合用来挖掘有效的特征、特征组合。业界不仅GBDT+LR融合有实践,GBDT+FM也有实践,2014 Kaggle CTR竞赛冠军就是使用GBDT+FM,可见,使用GBDT融合其它模型是非常值得尝试的思路。
感兴趣的同学可以看一下这篇关于GBDT与LR结合的博文,CTR预估中GBDT与LR融合方案
 
参考文献:
【1】http://www.csdn.net/article/2014-02-13/2818400-2014-02-13 详解并行逻辑回归
【2】http://www.imtechcenter.com/?/article/50 逻辑回归模型介绍以及优化算法
【3】http://blog.csdn.net/lilyth_lilyth/article/details/48032119/  CTR预估中GBDT与LR融合方案
【4】https://www.zhihu.com/question/23652394 为什么LR可以用来做CTR预估

深度学习tensorflow入门-4

张帅 发表了文章 • 0 个评论 • 85 次浏览 • 2016-12-10 20:45 • 来自相关话题

这篇文章的例子很简单,使用DNNClassifer做IRIS数据的分类。深度学习tensorflow入门-4 查看全部
这篇文章的例子很简单,使用DNNClassifer做IRIS数据的分类。深度学习tensorflow入门-4

深度学习tensorflow入门-3

张帅 发表了文章 • 0 个评论 • 80 次浏览 • 2016-12-10 18:25 • 来自相关话题

Tensorflow现在已经可以用windows跑了,亲测可用,不再用装虚拟机了。
深度学习tensorflow入门-3 查看全部
Tensorflow现在已经可以用windows跑了,亲测可用,不再用装虚拟机了。
深度学习tensorflow入门-3

深度学习tensorflow入门-2

张帅 发表了文章 • 2 个评论 • 125 次浏览 • 2016-12-08 15:15 • 来自相关话题

这个使用的CNN,正确率达到了100%。
 tensorflow深度学习入门2 查看全部
这个使用的CNN,正确率达到了100%。
 tensorflow深度学习入门2

深度学习tensorflow入门

张帅 发表了文章 • 1 个评论 • 99 次浏览 • 2016-12-07 18:12 • 来自相关话题

自己的博客,来繁荣版面。
 
深度学习tensorflow入门
自己的博客,来繁荣版面。
 
深度学习tensorflow入门

#专题分享会第二期#SVM(支持向量机)算法简介

史昱天 发表了文章 • 0 个评论 • 121 次浏览 • 2016-12-07 15:56 • 来自相关话题

支持向量机SVM(Support Vector Machine)是一种原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率。源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser、Guyon、Vapnik发表在1992年。思想直观,但细节异常复杂,内容涉及凸分析算法、核函数、神经网络等高深的领域。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
其思路是简单情况,线性可分,把问题转化为一个凸优化问题,可以用拉格朗日乘子法简化,然后用既有的算法解决。复杂情况,线性不可分,用映射函数将样本投射到高维空间,使其变成线性可分的情形。利用核函数来减少高维度计算量。



















利用拉格朗日乘子法解决约束问题的求解










将该式代回得到以下推导










求对偶变量alpha的值,一般使用SMO算法,此处只介绍公式,不再展开,如果感兴趣可以参考文末链接(支持向量机通俗导论(理解SVM的三层境界)





接下来谈谈线性不可分的情况,因为线性可分这种假设实在是太有局限性了:下图就是一个典型的线性不可分的分类图,我们没有办法用一条直线去将其分成两个区域,每个区域只包含一种颜色的点。 要想在这种情况下的分类器,有两种方式,一种是用曲线去将其完全分开,曲线就是一种非线性的情况,跟之后将谈到的核函数有一定的关系。 






简而言之:在线性不可分的情况下,支持向量机通过某种事先选择的非线性映射(核函数)将输入变量映射
到一个高维特征空间,在这个空间中构造最优分类超平面。我们使用支持向量机进行数据集分类工作的过程
首先是同预先选定的一些非线性映射将输入空间映射到高维特征空间










由于求解核函数的内容过多,且大多为公式和图片,如果有兴趣的同学可以直接到以下链接查看内容
http://blog.csdn.net/macyang/article/details/38782399/
支持向量机通俗导论(理解SVM的三层境界) 查看全部
支持向量机SVM(Support Vector Machine)是一种原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率。源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser、Guyon、Vapnik发表在1992年。思想直观,但细节异常复杂,内容涉及凸分析算法、核函数、神经网络等高深的领域。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
其思路是简单情况,线性可分,把问题转化为一个凸优化问题,可以用拉格朗日乘子法简化,然后用既有的算法解决。复杂情况,线性不可分,用映射函数将样本投射到高维空间,使其变成线性可分的情形。利用核函数来减少高维度计算量。
QQ截图20161207151748.png


2.png


3.png


4.png

利用拉格朗日乘子法解决约束问题的求解

5.png


6.png

将该式代回得到以下推导

7.png


8.png

求对偶变量alpha的值,一般使用SMO算法,此处只介绍公式,不再展开,如果感兴趣可以参考文末链接(支持向量机通俗导论(理解SVM的三层境界)

9.png

接下来谈谈线性不可分的情况,因为线性可分这种假设实在是太有局限性了:下图就是一个典型的线性不可分的分类图,我们没有办法用一条直线去将其分成两个区域,每个区域只包含一种颜色的点。 要想在这种情况下的分类器,有两种方式,一种是用曲线去将其完全分开,曲线就是一种非线性的情况,跟之后将谈到的核函数有一定的关系。 

10.png


简而言之:在线性不可分的情况下,支持向量机通过某种事先选择的非线性映射(核函数)将输入变量映射
到一个高维特征空间,在这个空间中构造最优分类超平面。我们使用支持向量机进行数据集分类工作的过程
首先是同预先选定的一些非线性映射将输入空间映射到高维特征空间

11.png


12.png

由于求解核函数的内容过多,且大多为公式和图片,如果有兴趣的同学可以直接到以下链接查看内容
http://blog.csdn.net/macyang/article/details/38782399/
支持向量机通俗导论(理解SVM的三层境界)

共轭梯度法(Conjugate Gradient Method)

王开新 发表了文章 • 0 个评论 • 76 次浏览 • 2016-11-27 21:14 • 来自相关话题

例行转载
共轭梯度法(Conjugate Gradient Method)

尺度-排序转换算法及其统一路径

戚尔鹏 发表了文章 • 2 个评论 • 198 次浏览 • 2016-11-15 14:56 • 来自相关话题

以下内容并非严格意义上的算法,但它确实传递了一种巧妙的转换思想。内容取自叶鹰教授和我合作的一片论文《漂移幂函数的数值拟合与理论分析》,已被《情报学报》录用,贴出来的目的有二:一是供数据挖掘小组交流使用,二是供研究生发文参考。出于版权考虑,现将主要思想说明如下:
在信息生产过程(information production processes, IPPs)中,源(source)可以产出项(item)。尺度-频数(size-frequency)函数f和排序-频数(rank-frequency)函数g两类模型可以定量描述这类过程。










以上便是尺度-排序的转换思想,接下来举例说明。为便于理解,我们将背景设为信息计量学,以论文为源,以引文为项,构建h指数及相关统计量的理论表达。
1、说明性例子之“漂移幂函数”




















 
2、说明性例子之“负指数函数”

























 
研究发现,以上经典模型用于一般理论参考无可厚非,但实际数据并非尽善尽美,我们也发现一些问题,并已作相关报道。若有人有兴趣,我会在合适的时间贴出来。
 
参考文献:
戚尔鹏,叶鹰. 漂移幂函数的数值拟合与理论分析[J]. 《情报学报》, in press.
Ye F Y. A theoretical approach to the unification of informetric models by wave-heat equations[J]. Journal of the American Society for Information Science and Technology, 2011, 62(6): 1208-1211.
Ye F Y. A progress on the shifted power function for modeling informetric laws[J]. Malaysian Journal of Library and Information Science, 2014, 19(1): 1-15.
Egghe  L., Rousseau R. Introduction to Informetrics [M]. Elsevier Science Publisher, 1990.
Egghe L, Rousseau R. Generalized Success-Breeds-Success principle leading to time-dependent informetric distributions[J]. Journal of the American Society for Information Science, 1995, 46(6): 426-445.
Egghe L. General evolutionary theory of information production processes and applications to the evolution of networks[J]. Journal of Informetrics, 2007, 1(2): 115-122.
Egghe L. Lotkaian informetrics and applications to social networks[J]. Bulletin of the Belgian Mathematical Society-Simon Stevin, 2009, 16(4): 689-703.
Rousseau R. A table for estimating the exponent in Lotka law[J]. Journal of Documentation, 1993, 49(4): 409-412.
Egghe L, Rousseau R. Theory and practice of the shifted Lotka function[J]. Scientometrics, 2012, 91(1): 295-301.
Egghe L, Rousseau R. The Hirsch index of a shifted Lotka function and its relation with the impact factor[J]. Journal of the American Society for Information Science and Technology, 2012, 63(5): 1048-1053. 查看全部
以下内容并非严格意义上的算法,但它确实传递了一种巧妙的转换思想。内容取自叶鹰教授和我合作的一片论文《漂移幂函数的数值拟合与理论分析》,已被《情报学报》录用,贴出来的目的有二:一是供数据挖掘小组交流使用,二是供研究生发文参考。出于版权考虑,现将主要思想说明如下:
在信息生产过程(information production processes, IPPs)中,源(source)可以产出项(item)。尺度-频数(size-frequency)函数f和排序-频数(rank-frequency)函数g两类模型可以定量描述这类过程。

1.png


2.png

以上便是尺度-排序的转换思想,接下来举例说明。为便于理解,我们将背景设为信息计量学,以论文为源,以引文为项,构建h指数及相关统计量的理论表达。
1、说明性例子之“漂移幂函数”

3.png


4.png


5.png


6.png

 
2、说明性例子之“负指数函数”

7.png


8.png


9.png


10.png


11.png

 
研究发现,以上经典模型用于一般理论参考无可厚非,但实际数据并非尽善尽美,我们也发现一些问题,并已作相关报道。若有人有兴趣,我会在合适的时间贴出来。
 
参考文献:
戚尔鹏,叶鹰. 漂移幂函数的数值拟合与理论分析[J]. 《情报学报》, in press.
Ye F Y. A theoretical approach to the unification of informetric models by wave-heat equations[J]. Journal of the American Society for Information Science and Technology, 2011, 62(6): 1208-1211.
Ye F Y. A progress on the shifted power function for modeling informetric laws[J]. Malaysian Journal of Library and Information Science, 2014, 19(1): 1-15.
Egghe  L., Rousseau R. Introduction to Informetrics [M]. Elsevier Science Publisher, 1990.
Egghe L, Rousseau R. Generalized Success-Breeds-Success principle leading to time-dependent informetric distributions[J]. Journal of the American Society for Information Science, 1995, 46(6): 426-445.
Egghe L. General evolutionary theory of information production processes and applications to the evolution of networks[J]. Journal of Informetrics, 2007, 1(2): 115-122.
Egghe L. Lotkaian informetrics and applications to social networks[J]. Bulletin of the Belgian Mathematical Society-Simon Stevin, 2009, 16(4): 689-703.
Rousseau R. A table for estimating the exponent in Lotka law[J]. Journal of Documentation, 1993, 49(4): 409-412.
Egghe L, Rousseau R. Theory and practice of the shifted Lotka function[J]. Scientometrics, 2012, 91(1): 295-301.
Egghe L, Rousseau R. The Hirsch index of a shifted Lotka function and its relation with the impact factor[J]. Journal of the American Society for Information Science and Technology, 2012, 63(5): 1048-1053.

#专题分享会第二期# 最大熵模型

戚尔鹏 发表了文章 • 0 个评论 • 172 次浏览 • 2016-11-15 14:24 • 来自相关话题

监督学习的模型可以是概率模型,也可以是非概率模型,分别用条件概率分布P(Y|X)和决策函数Y=f(X)表示,最大熵模型(Maximum Entropy Model)属于前者。
“熵”概念最初由德国物理学家鲁道夫·克劳修斯提出,表示一个系統在不受外部干扰时,其内部最稳定的状态。中国学者在翻译时,考虑到熵是能量(Q)跟温度(T)的商且跟火有关,便译作熵。
参照这个定义,Shannon于1948年把信息熵定义为离散随机事件的出现概率。如果一个随机变量X的可能取值为X={x1, x2,…, xk},概率分布为P(X = xi) = pi(i =1, 2, ... , n),则随机变量X的熵为





最大熵原理是概率模型学习中一个准则,思想是:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则在满足已知约束的条件集合中选择熵最大模型。换言之,对一个随机事件的概率分布进行预测时,除了要满足全部已知约束外,千万不要对未知情况做任何假设,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。
举例:假设X有5个取值{A, B, C, D, E},现要估计各值概率,当然满足约束条件(概率之和为1)的概率分布有无穷多个,若无其他信息,则各值概率均为1/5。若存在约束条件P(A)=1/2,则其余4值概率均为1/8。
在此背景下,最大熵模型即要求p(Y|X)熵最大。实际上,p(Y|X)熵为条件熵,记作H(Y|X),它表示:在X发生的前提下,Y发生所“新”带来的熵定义为Y的条件熵,等于(X,Y)发生所包含的熵减去X单独发生包含的熵,即H(Y|X) = H(X,Y) – H(X),推导为:





用统计建模的形式来描述最大熵模型:给定训练数据


,现在要通过最大熵原则来建立一个概率判别模型,该模型的任务是对于给定的X=x以条件概率分布p(Y|X=x)输出Y。
首先引入特征函数f(x,y)描述x和y之间的某一事实,定义为:





特征函数本质为一种信号指示,二值取法又便于计数。
其次来看经验分布,即我们能从训练集中直接得到的概率分布,包括联合分布的经验分布


和边缘分布的经验分布


,有




上述经验概率怎么得到?动手数一数就可以了。
特征函数f(x,y)关于经验分布


的期望,用


表示为




同样地,特征函数f(x,y)关于模型p(Y|X)的期望,用


表示为




上式问题在于,如果我们已经知道了P(x,y)的表达形式,我们不就可以解出模型p(Y|X)了吗?还一本正经地运用最大熵模型干啥呢?实际上,我们从训练集并不能直接得出P(x,y),换言之,它是经验的。但我们的目标从始至终都没有改变,即训练得到p(Y|X),所以采取策略为:




于是有




条件熵H(Y|X)(记作H(P))亦可调整为




如果训练是有效的,即我们能用训练得到的结果去预测测试集数据,那么有


,于是




以上便是最大熵模型思想,其结构化表述是




参考文献
李航《统计学习方法》
http://www.tuicool.com/articles/6RzqeyF
http://www.cnblogs.com/ooon/p/5677098.html
http://blog.csdn.net/erli11/ar ... 18655
 
  查看全部
监督学习的模型可以是概率模型,也可以是非概率模型,分别用条件概率分布P(Y|X)和决策函数Y=f(X)表示,最大熵模型(Maximum Entropy Model)属于前者。
“熵”概念最初由德国物理学家鲁道夫·克劳修斯提出,表示一个系統在不受外部干扰时,其内部最稳定的状态。中国学者在翻译时,考虑到熵是能量(Q)跟温度(T)的商且跟火有关,便译作熵。
参照这个定义,Shannon于1948年把信息熵定义为离散随机事件的出现概率。如果一个随机变量X的可能取值为X={x1, x2,…, xk},概率分布为P(X = xi) = pi(i =1, 2, ... , n),则随机变量X的熵为

1.png

最大熵原理是概率模型学习中一个准则,思想是:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则在满足已知约束的条件集合中选择熵最大模型。换言之,对一个随机事件的概率分布进行预测时,除了要满足全部已知约束外,千万不要对未知情况做任何假设,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。
举例:假设X有5个取值{A, B, C, D, E},现要估计各值概率,当然满足约束条件(概率之和为1)的概率分布有无穷多个,若无其他信息,则各值概率均为1/5。若存在约束条件P(A)=1/2,则其余4值概率均为1/8。
在此背景下,最大熵模型即要求p(Y|X)熵最大。实际上,p(Y|X)熵为条件熵,记作H(Y|X),它表示:在X发生的前提下,Y发生所“新”带来的熵定义为Y的条件熵,等于(X,Y)发生所包含的熵减去X单独发生包含的熵,即H(Y|X) = H(X,Y) – H(X),推导为:

2.png

用统计建模的形式来描述最大熵模型:给定训练数据
3.png
,现在要通过最大熵原则来建立一个概率判别模型,该模型的任务是对于给定的X=x以条件概率分布p(Y|X=x)输出Y。
首先引入特征函数f(x,y)描述x和y之间的某一事实,定义为:

4.png

特征函数本质为一种信号指示,二值取法又便于计数。
其次来看经验分布,即我们能从训练集中直接得到的概率分布,包括联合分布的经验分布
5.png
和边缘分布的经验分布
6.png
,有
7.png

上述经验概率怎么得到?动手数一数就可以了。
特征函数f(x,y)关于经验分布
8.png
的期望,用
9.png
表示为
10.png

同样地,特征函数f(x,y)关于模型p(Y|X)的期望,用
11.png
表示为
12.png

上式问题在于,如果我们已经知道了P(x,y)的表达形式,我们不就可以解出模型p(Y|X)了吗?还一本正经地运用最大熵模型干啥呢?实际上,我们从训练集并不能直接得出P(x,y),换言之,它是经验的。但我们的目标从始至终都没有改变,即训练得到p(Y|X),所以采取策略为:
13.png

于是有
14.png

条件熵H(Y|X)(记作H(P))亦可调整为
15.png

如果训练是有效的,即我们能用训练得到的结果去预测测试集数据,那么有
16.png
,于是
17.png

以上便是最大熵模型思想,其结构化表述是
18.png

参考文献
李航《统计学习方法》
http://www.tuicool.com/articles/6RzqeyF
http://www.cnblogs.com/ooon/p/5677098.html
http://blog.csdn.net/erli11/ar ... 18655