集成学习(三)集成学习之投票法与Bagging (作业四)

作业四
    1. 什么是bootstraps?
        在统计学中,Bootstrap法具体是指用原样本自身的数据抽样得出新的样本及统计量。是一种有放回的抽样方法.它是一类非参数Monte Carlo方法,其实质是对观测信息进行再抽样,进而对总体的分布特性进行统计推断。
      其核心思想和基本步骤如下:
        (1) 采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。
        (2) 根据抽出的样本计算给定的统计量T。
        (3) 重复上述N次(一般大于1000),得到N个统计量T。
        (4) 计算上述N个统计量T的样本方差,得到统计量的方差。
    1. bootstraps与bagging的联系
        Bagging采用均匀取样,而Boosting根据错误率来取样,因此Boosting的分类精度要优于Bagging。Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostlng的各轮训练集的选择与前面各轮的学习结果有关;Bagging的各个预测函数没有权重,而Boosting是有权重的;Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成(串行)。对于象神经网络这样极为耗时的学习方法。Bagging可通过并行训练节省大量时间开销。
    1. 什么是bagging?
        机器学习集成算法中的Bagging装袋算法就是基于bootstrap的一种算法,它其实和袋子没有什么关系,这么叫只是为了好听顺口和便于记忆,它的全称是Bootstrap aggregating自助聚合算法。所以看过本篇文章的你在以后再次看到Bagging时,希望你能在头脑中能立刻反应出:Bagging中打头的B代表Bootstrap--自助法,后面的agging代表aggregating--聚合,连起来就是“自助聚合算法”。
        bagging让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成,某个初始训练样本在某轮训练集中可以出现多次或根本不出现,训练之后可得到一个预测函数序列h1,⋯⋯hn , 最终的预测函数H对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。
    1. 随机森林与bagging的联系与区别。
        随机森林是对装袋法的一种改进,随机森林也需要对自助抽样训练集建立一系列的决策树,这和决策树类似。不过,随机森林在建立树的时候,不和装袋法一样,装袋法建树的时候是将所有预测变量都考虑进去,而随机森林则是考虑每一个分裂点时,都是从所有的预测变量p中随机选取m个预测变量,分裂点所用的预测变量只能从这m个变量中选择。在每个分裂点处都重新进行抽样,选出m个预测变量,通常m≈√p,对每一个分裂点来说,这个算法将大部分可用预测变量排除在外,虽然听起来crazy,但是这个原理是很巧妙的。
        其实当随机森林中的m=p时,随机森林和装袋法是一样的。随机森林考虑每个分裂点的子集相对来说比装袋法少很多。这样得到的树的平均值有更小的方差,因而树的可信度相对来说比较高。
    1. 使用偏差与方差理论阐述为什么bagging能提升模型的预测精度?
        bagging基模型为弱模型,导致了每个基模型的准确度都不是很高(因为其在训练集上的准确度不高)。随着基模型数的增多,整体模型的期望值增加,更接近真实值,因此,整体模型的准确度提高。但是准确度一定会无限逼近于1吗?仍然并不一定,因为训练过程中准确度的提高的主要功臣是整体模型在训练集上的准确度提高,而随着训练的进行,整体模型的方差变大,导致防止过拟合的能力变弱,最终导致了准确度反而有所下降。
        基于boosting框架的Gradient Tree Boosting模型中基模型也为树模型,同Random Forrest,我们也可以对特征进行随机抽样来使基模型间的相关性降低,从而达到减少方差的效果。
    1. 请尝试使用bagging与基本分类模型或者回归模型做对比,观察bagging是否相对于基础模型的精度有所提高
# 使用scikit中自带的卫星数据
moons = make_moons(n_samples=20000)
# 逻辑回归分类器
log_clf = LogisticRegression()
#  随机森林分类器
rnd_clf = RandomForestClassifier()
# 支持向量机分类器
svm_clf = SVC(probability=True)
# 集成以上3种分类器的投票分类器

voting_clf = VotingClassifier(
    estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
    voting='soft'
)
# 分别输出 逻辑回归,随机森林,svm,投票分类器的准确率
for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
    clf.fit(x_train, y_train)
    y_pred = clf.predict(x_test)
    print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    
out:
  LogisticRegression 0.891
    RandomForestClassifier 1.0
    SVC 1.0
    VotingClassifier 1.0



#  bagging 实现
bag_clf = BaggingClassifier(
   DecisionTreeClassifier(), n_estimators=500, max_samples=100,
   bootstrap=True, n_jobs=-1, random_state=42
)

    1. 假如让你来实现bagging,你会使用python+numpy+sklearn的基础模型来实现bagging吗?

refer

机器学习中的bootstrap到底是什么? - 知乎 (zhihu.com)
bootstrap, boosting, bagging 几种方法的联系 - 合唱团abc - 博客园 (cnblogs.com)
装袋法(bagging)和随机森林(random forests)的区别_CrazyDylan的博客-CSDN博客
Bagging和Boosting(偏差与方差)_Black eyes的博客-CSDN博客_bagging方差
为什么说bagging是减少variance,而boosting是减少bias? - 知乎 (zhihu.com)
bagging与boosting两种集成模型的偏差bias以及方差variance 的理解_Michael_Shentu的博客-CSDN博客_bagging boosting偏差方差
基于sklearn实现Bagging算法(python)_little_yan的博客-CSDN博客
机器学习分类—svm+bagging(sklearn)_蛙子的博客-CSDN博客
集成学习 (投票分类器 & bagging/pasting & RandomForest & Boosting)_soullines的博客-CSDN博客_bagging投票

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容