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

回复

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

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

数据挖掘孟凡赛 发表了文章 • 0 个评论 • 748 次浏览 • 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)

#专题分享会第一期#资料汇总以及下期预告

兴趣小组周思佳 发表了文章 • 0 个评论 • 123 次浏览 • 2016-11-22 13:09 • 来自相关话题

数据挖掘兴趣小组本学期第一次分享会于11月18日18:30在院楼224举行。分享会共有六位同学展示了自己最近的实践经历和学习成果,讨论从18:30持续到22:00。
 
来看看大家都讨论了哪些问题吧:
 





首先,14级情报学硕士刘伙玉以自己作为算法工程师的实习经历为切入点,给大家分享了构建推荐系统的流程,从推荐系统的框架到线上线下评估的方法,介绍了需要掌握的相关工具,让大家对推荐系统算法有了一个整体的了解。
 
同样是实践类的介绍,16级硕士李柯则选择了自己大三时的国创项目“木材切面纹理图像特征提取与选择”和毕业论文“基于视觉模型的量化索引调制数字水印算法研究”,主要介绍了算法设计选择的过程和改进方法。
 





而在算法方面,16级硕士陈超群主要介绍了逻辑回归(LR)算法,围绕逻辑回归模型,同时介绍了相关的优化算法,包括梯度下降算法、牛顿法、拟牛顿法、共轭梯度法等。14级本科生李新春则介绍了期望极大算法(EM),给出了含有隐变量的概率模型参数估计方法。
 
最后,16级硕士郜梦蕊从特征工程入手,介绍了特征清洗、特征采样、特征选择、特征监控等方面的内容;而14级本科生王开新则重点介绍了贝叶斯与多项式拟合、L1L2正则项、LARs算法、GBDT算法等多个方面。
 





附上相关资料链接:
 
【逻辑回归模型介绍以及优化算法】
http://www.imtechcenter.com/?/article/50
【如何处理正负样本不均衡】
http://www.imtechcenter.com/?/article/48
【特征降维】
http://www.imtechcenter.com/?/article/47
【特征选择】
http://www.imtechcenter.com/?/article/46
【EM算法的应用与关键步骤分析】
http://www.imtechcenter.com/?/article/41
【贝叶斯与多项式拟合】
http://www.imtechcenter.com/?/article/38
【LARS与Lasso和Forward Stagewise】
http://www.imtechcenter.com/?/article/43
【梯度提升(Gradient Boosting)】
http://www.imtechcenter.com/?/article/44
 
下期专题分享会预告
将会重点探讨概率图模型(HMM,MEMM,CRF等)、word2vecor、SVM等算法。
 
下期专题分享会预告
将会重点探讨深度学习等。

  查看全部
数据挖掘兴趣小组本学期第一次分享会于11月18日18:30在院楼224举行。分享会共有六位同学展示了自己最近的实践经历和学习成果,讨论从18:30持续到22:00。
 
来看看大家都讨论了哪些问题吧:
 
1.jpg


首先,14级情报学硕士刘伙玉以自己作为算法工程师的实习经历为切入点,给大家分享了构建推荐系统的流程,从推荐系统的框架到线上线下评估的方法,介绍了需要掌握的相关工具,让大家对推荐系统算法有了一个整体的了解。
 
同样是实践类的介绍,16级硕士李柯则选择了自己大三时的国创项目“木材切面纹理图像特征提取与选择”和毕业论文“基于视觉模型的量化索引调制数字水印算法研究”,主要介绍了算法设计选择的过程和改进方法。
 
2.jpg


而在算法方面,16级硕士陈超群主要介绍了逻辑回归(LR)算法,围绕逻辑回归模型,同时介绍了相关的优化算法,包括梯度下降算法、牛顿法、拟牛顿法、共轭梯度法等。14级本科生李新春则介绍了期望极大算法(EM),给出了含有隐变量的概率模型参数估计方法。
 
最后,16级硕士郜梦蕊从特征工程入手,介绍了特征清洗、特征采样、特征选择、特征监控等方面的内容;而14级本科生王开新则重点介绍了贝叶斯与多项式拟合、L1L2正则项、LARs算法、GBDT算法等多个方面。
 
3.jpg


附上相关资料链接:
 
【逻辑回归模型介绍以及优化算法】
http://www.imtechcenter.com/?/article/50
【如何处理正负样本不均衡】
http://www.imtechcenter.com/?/article/48
【特征降维】
http://www.imtechcenter.com/?/article/47
【特征选择】
http://www.imtechcenter.com/?/article/46
【EM算法的应用与关键步骤分析】
http://www.imtechcenter.com/?/article/41
【贝叶斯与多项式拟合】
http://www.imtechcenter.com/?/article/38
【LARS与Lasso和Forward Stagewise】
http://www.imtechcenter.com/?/article/43
【梯度提升(Gradient Boosting)】
http://www.imtechcenter.com/?/article/44
 
下期专题分享会预告
将会重点探讨概率图模型(HMM,MEMM,CRF等)、word2vecor、SVM等算法。
 
下期专题分享会预告
将会重点探讨深度学习等。

 

[转载]networkx绘图无法显示中文的解決方法

编程与开发王开新 发表了文章 • 0 个评论 • 104 次浏览 • 2016-11-19 17:06 • 来自相关话题

亲测可用。如果是python3,改的时候注意不要用unicode,因为在python3里将unicode()换成了str()
 
下面附链接networkx 繪圖無法顯示中文的解決方法 查看全部
亲测可用。如果是python3,改的时候注意不要用unicode,因为在python3里将unicode()换成了str()
 
下面附链接networkx 繪圖無法顯示中文的解決方法