集成学习

集成学习--随机森林

混江龙づ霸主 提交于 2020-02-02 04:08:12
集成学习—Bagging和随机森林 Bagging Bagging就是 B ootstrap agg regat ing ,自举汇聚法,亦称为装袋法。 与Boosting的不同: Boosting在训练时会使用所有的数据集,而Bagging有其独特的采样方法,也就是Bootstrap 假设有m个样本 D D D ,则每次从样本总体中 随机 选取一个放入 D i D_i D i ​ 中,注意的是该样本并没有在原样本总体中剔除,这样重复m次,得到新的样本 D i D_i D i ​ , D i D_i D i ​ 中可以有重复的样本,并没有包含 D D D 中所有样本 一个样本在取样的过程中都没有被选到的概率为 ( 1 − 1 m ) m (1-\frac{1}{m})^m ( 1 − m 1 ​ ) m ,当 m → + ∞ m \rightarrow + \infty m → + ∞ 时,概率趋于 1 e \frac{1}{e} e 1 ​ ,则说明在m很大时,新选取的样本是原样本总体的约 64% Boosting的每个基分类器有自身的系数,每次训练时数据集的权重也不同,而Bagging的每个基分类器,每个数据集都是平等同阶的 Boosting的每个基学习器需基于上一个学习器的结果进行学习,所以是串行计算,而Bagging能够实现并行计算 Boosting只能处理二分类任务

react 学习--App创建文件规范

那年仲夏 提交于 2020-01-30 23:18:07
------仅记录个人学习 借助文件名为index时的特性, 再利用import引入文件和react创建class或者function来架接模块之间的链接, 放在Components下面的index.js中进行抛出, 从而集中在一个App.js文件上, 然后再次嫁接在一个index.js文件上完成架构; 以上可以完成一个react多组件框架 TodoHeader中的index.js TodeInput中的index.js TodoList中的TodeItem.js(它被抛出给了同级的index.js) 以上三个通过Components下index.js的集成抛出,在app.js中接收 它是主要操作组件的集成文件 来源: https://www.cnblogs.com/rebackl/p/12244142.html

集成学习--Boosting

偶尔善良 提交于 2020-01-30 02:18:26
集成学习——Boosting 集成学习 什么是集成学习? 集成学习通过构建并结合多个学习器来完成学习任务,这多个学习器通常叫“基学习器”或“弱学习器”,这些学习器是简单的学习器如决策树学习器或神经网络学习期,性能只是比随机好一点。 多个学习器的学习结果通过一定方法结合起来得到最终的学习结果 Boosting Boosting是一种常见的集成学习算法,各个个体学习器具有串行的关系,何为串行的关系,下文可以看到。 其中最常见的是AdaBoost算法(adapt boosting) 符号说明: 符号 含义 h i h_i h i ​ 第i个个体学习器函数 H t H_t H t ​ t个个体学习器集成的最终学习器函数 D i D_i D i ​ 第i个数据集取值分布 D D D 数据集{ ( x 1 , y 1 x_1,y_1 x 1 ​ , y 1 ​ ),( x 2 , y 2 x_2,y_2 x 2 ​ , y 2 ​ ),( x 3 , y 3 x_3,y_3 x 3 ​ , y 3 ​ ),( x 4 , y 4 x_4,y_4 x 4 ​ , y 4 ​ ) ⋯ \cdots ⋯ ( x N , y N ) (x_N,y_N) ( x N ​ , y N ​ ) },即N个数据 ϵ t \epsilon_t ϵ t ​ 第t个学习器的学习误差 α t \alpha_t α t

集成学习

梦想的初衷 提交于 2020-01-29 19:45:21
集成学习 通过将多个弱分类器集成在一起,使它们共同完成学习任务,构建一个强分类器。 理论基础 在PAC学习框架中,一个概念,如果存在一个多项式的学习算法能够学习它,学习的正确率略好,那么就称这个概念是弱可学习的。 Schapire证明强可学习和弱可学习是等价的,也就是说,在PAC学习框架下,一个概念强可学习的充分必要条件是这个概念是弱可学习的。 两类集成方法 Bagging(bootstrap aggregating) Boosting(提升方法) Bagging:基于数据随机重抽样的分类器构建方法 1.利用bootstrap方法从整体数据集中采取有效放回抽样得到N个数据集 2.在每个数据集上学习出一个模型 3.利用N个模型的输出投票得到最后的预测结果 Boosting(Adaptive Boosting的简称)基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器。 1.初始的分布应为等概分布 2.每次循环后提升错误样本的分布概率,分错的样本在训练集中所占权重增大,使得下一次循环的基分类器权重越低 集成学习:严格来说,这不算是一种机器学习算法,而更像是一种优化手段或者策略,它通常是结合多个简单的弱机器学习算法,去做更可靠的决策,类似于开会做决策。 Bagging与Boosting都采用 采样-学习-组合的方式,不同在于:Bagging中每个训练集互不相关

集成学习voting Classifier在sklearn中的实现

痞子三分冷 提交于 2020-01-29 01:57:52
投票法(voting)是集成学习里面针对分类问题的一种结合策略。基本思想是选择所有机器学习算法当中输出最多的那个类。 分类的机器学习算法输出有两种类型:一种是直接输出类标签,另外一种是 输出类概率 ,使用前者进行投票叫做硬投票(Majority/Hard voting),使用后者进行分类叫做 软投票(Soft voting) 。 sklearn中的VotingClassifier是投票法的实现。 硬投票 硬投票是选择算法输出最多的标签,如果标签数量相等,那么按照升序的次序进行选择。下面是一个例子: from sklearn import datasets from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression from sklearn.naive_bayes import GaussianNB from sklearn.ensemble import RandomForestClassifier from sklearn.ensemble import VotingClassifier iris = datasets.load_iris() X, y = iris.data[:,1:3], iris.target clf1 =

AdaBoost算法理解

时光总嘲笑我的痴心妄想 提交于 2020-01-25 17:51:33
AdaBoost的前身和今世 强可学习和弱可学习 在概率近似正确(PAC)学习框架中, 一个类如果存在: 一个多项式复杂度的学习算法,正确率略大于随机猜测(例如二分类问题中大于1/2),称 弱可学习的 一个多项式复杂度的学习算法,并且正确率很高,称 强可学习的 Kearns和Valiant证明了强可学习和弱可学习是 等价 的 The Strength of Weak Learnability Adaboost算法就是将弱学习器组成强学习器的算法 Explaining AdaBoost 算法受到工业界和学术界的关注, 充分的理论研究 (统计学习方法证明) AdaBoost算法是为了证明弱可学习和强可学习算法等价而提出的 ,随后,人们发现该类集成算法能够有效的提升一个学习器的作用,基于AdaBoost演化出了诸多的算法,例如在各大数据挖掘上大放光彩的XGBoost,几乎霸占了诸多数据竞赛榜单的前几多年(从2017开始),在数据预处理上填充空值常用的随机森林算法等等。 随后,学术界纷纷把关注点投向了这个算法的理论证明。得到了该类算法的统计学派角度的证明, 即为AdaBoost是在指数损失函数、模型是加性模型、算法是前向分布算法 。进一步的,给出了学习算法的训练误差界,说明了其训练过程中的最坏情况,并且表明其训练误差是以指数级别下降的。在明白了AdaBoost的统计意义后

集成学习

强颜欢笑 提交于 2020-01-18 19:34:30
Bagging,Boosting以及Stacking (1)Bagging + 决策树 = 随机森林 (2)AdaBoost + 决策树 = 提升树 (3)Gradient Boosting + 决策树 = GBDT 一、Boosting 1)Adaboost https://www.cnblogs.com/willnote/p/6801496.html 2)Gradient Boosting https://www.cnblogs.com/massquantity/p/9174746.html 二、Bagging (bootstrap aggregating) https://www.cnblogs.com/zongfa/p/9304353.html 相比与Adaboost,不考虑权重 三、Stacking https://blog.csdn.net/maqunfi/article/details/82220115 https://www.kaggle.com/arthurtok/introduction-to-ensembling-stacking-in-python (Introduction to Ensembling/Stacking in Python) 来源: CSDN 作者: huanglv997 链接: https://blog.csdn.net/weixin

集成算法之GBDT和xgboost

大兔子大兔子 提交于 2020-01-18 01:47:57
大家知道,我们在进行建模时,会求解一个目标函数;目标函数又称代价函数,在机器学习中普遍存在,一般形式为: o b j ( θ ) = L ( θ ) + Ω ( θ ) obj(\theta)=L(\theta)+\Omega(\theta) o b j ( θ ) = L ( θ ) + Ω ( θ ) ; 其中: L ( θ ) L(\theta) L ( θ ) 为训练误差,衡量模型在训练集上的表现; Ω ( θ ) \Omega(\theta) Ω ( θ ) 是正则化惩罚,衡量模型的复杂度。 训练集误差: L = ∑ i = 1 n l ( y i , y i ^ ) L=\sum_{i=1}^{n}l(y_i,\hat{y_i}) L = ∑ i = 1 n ​ l ( y i ​ , y i ​ ^ ​ ) square loss: l ( y i , y i ^ ) = ( y i − y i ^ ) 2 l(y_i,\hat{y_i})=(y_i-\hat{y_i})^2 l ( y i ​ , y i ​ ^ ​ ) = ( y i ​ − y i ​ ^ ​ ) 2 logistic loss: l ( y i , y i ^ ) = y i l n ( 1 + e − y i ^ ) + ( 1 − y i ) l n ( 1 + e y i ^ ) l(y

08.模型集成

半城伤御伤魂 提交于 2020-01-16 04:31:00
机器学习实战教程(十):提升分类器性能利器-AdaBoost 模型融合方法总结 机器学习模型优化之模型融合 xgboost lightgbm 文章目录 集成方法 1、Bagging 2、Boosting 3、Bagging、Boosting二者之间的区别 4、AdaBoost 1) 计算样本权重 2) 计算错误率 3) 计算弱学习算法权重 4) 更新样本权重 5) AdaBoost算法 5.实例 Bagging Adaboost 集成方法 将不同的分类器组合起来,而这种组合结果则被成为 集成方法 (ensemble method)或者 元算法 (meta-algorithm)。 集成方法主要包括 Bagging 和 Boosting 两种方法,Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法,即将 弱分类器 组装成 强分类器 的方法。 1、Bagging 自举汇聚法 (bootstrap aggregating),也称为bagging方法。Bagging对训练数据采用自举采样(boostrap sampling),即有放回地采样数据,主要思想: 从原始样本集中抽取训练集( 每次都是从训练集中做有放回的随机采样 )。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本

集成学习-Stacking

◇◆丶佛笑我妖孽 提交于 2020-01-14 14:41:46
在集成学习中,结合策略也是影响集成模型性能的重要因素之一。传统的结合策略有多数投票、加权平均等。Stacking的本质是设计合适的结合策略,达到比传统结合策略更优的集成效果。首先,Stacking训练一组基学习器,用以参与后续的集成构建。其次, 算法将这些学习器的输出和期望的样本标签视为新的学习任务,通过机器学习或其他策略得到一个新的模型,其中模型的输入为基学习器的输出,目的是通过构建的新模型使基学习器的输出能够更好的逼近理想输出 。 Stacking着重于集成学习中的结合策略。 伪代码如下所示: Stacking 输入: 训练集 D ={( x 1, y 1), ( x 2, y 2), ··· , ( xm , ym )}; 基学习器训练方法; 次级学习算法; 基学习器个数 T ; Step1: 根据基学习器训练方法训练 T 个基学习器; Step2: 对 T 个基学习器的输出进行整合,将其作为次级训练集和 D ´; Step3: 利用次级学习算法对新训练集{ D ´, Y }进行训练,得到次级学习器 H ; // H 可视为各基学习器输出的加权。 输出: 次级学习器 H 。 为了更进一步说明,Stacking原理图如下: 来源: CSDN 作者: Panpan Wei 链接: https://blog.csdn.net/jodie123456/article/details