范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

梯度提升算法决策过程的逐步可视化

  梯度提升算法是最常用的集成机器学习技术之一,该模型使用弱决策树序列来构建强学习器。这也是XGBoost和LightGBM模型的理论基础,所以在这篇文章中,我们将从头开始构建一个梯度增强模型并将其可视化。梯度提升算法介绍
  梯度提升算法(Gradient Boosting)是一种集成学习算法,它通过构建多个弱分类器,然后将它们组合成一个强分类器来提高模型的预测准确率。
  梯度提升算法的原理可以分为以下几个步骤:初始化模型:一般来说,我们可以使用一个简单的模型(比如说决策树)作为初始的分类器。计算损失函数的负梯度:计算出每个样本点在当前模型下的损失函数的负梯度。这相当于是让新的分类器去拟合当前模型下的误差。训练新的分类器:用这些负梯度作为目标变量,训练一个新的弱分类器。这个弱分类器可以是任意的分类器,比如说决策树、线性模型等。更新模型:将新的分类器加入到原来的模型中,可以用加权平均或者其他方法将它们组合起来。重复迭代:重复上述步骤,直到达到预设的迭代次数或者达到预设的准确率。
  由于梯度提升算法是一种串行算法,所以它的训练速度可能会比较慢,我们以一个实际的例子来介绍:
  假设我们有一个特征集Xi和值Yi,要计算y的最佳估计
  我们从y的平均值开始
  每一步我们都想让F_m(x)更接近y|x。
  在每一步中,我们都想要一个更好的y给定x的近似。
  首先,我们定义一个损失函数
  然后,我们向损失函数相对于学习者下降最快的方向前进:
  因为我们不能为每个x计算y,所以不知道这个梯度的确切值,但是对于训练数据中的每一个,梯度完全等于步骤m的残差:!
  所以我们可以用弱回归树来近似梯度函数,对残差进行训练:
  然后,我们更新学习器
  这就是梯度提升,我们不是使用损失函数相对于当前学习器的真实梯度g_m来更新当前学习器F_{m},而是使用弱回归树来更新它。
  也就是重复下面的步骤
  1、计算残差:
  2、将回归树拟合到训练样本及其残差(x_i, r_i)上
  3、用步长更新模型
  看着很复杂对吧,下面我们可视化一下这个过程就会变得非常清晰了决策过程可视化
  这里我们使用sklearn的moons 数据集,因为这是一个经典的非线性分类数据
  import numpy as np
  import sklearn.datasets as ds
  import pandas as pd
  import matplotlib.pyplot as plt
  import matplotlib as mpl
  from sklearn import tree
  from itertools import product,islice
  import seaborn as snsmoonDS = ds.make_moons(200, noise = 0.15, random_state=16)
  moon = moonDS[0]
  color = -1*(moonDS[1]*2-1)
  df =pd.DataFrame(moon, columns = ["x","y"])
  df["z"] = color
  df["f0"] =df.y.mean()
  df["r0"] = df["z"] - df["f0"]
  df.head(10)
  让我们可视化数据:
  下图可以看到,该数据集是可以明显的区分出分类的边界的,但是因为他是非线性的,所以使用线性算法进行分类时会遇到很大的困难。
  那么我们先编写一个简单的梯度增强模型:def makeiteration(i:int): """Takes the dataframe ith f_i and r_i and approximated r_i from the features, then computes f_i+1 and r_i+1""" clf = tree.DecisionTreeRegressor(max_depth=1) clf.fit(X=df[["x","y"]].values, y = df[f"r{i-1}"]) df[f"r{i-1}hat"] = clf.predict(df[["x","y"]].values)  eta = 0.9 df[f"f{i}"] = df[f"f{i-1}"] + eta*df[f"r{i-1}hat"] df[f"r{i}"] = df["z"] - df[f"f{i}"] rmse = (df[f"r{i}"]**2).sum() clfs.append(clf) rmses.append(rmse)
  上面代码执行3个简单步骤:
  将决策树与残差进行拟合:clf.fit(X=df[["x","y"]].values, y = df[f"r{i-1}"]) df[f"r{i-1}hat"] = clf.predict(df[["x","y"]].values)
  然后,我们将这个近似的梯度与之前的学习器相加:df[f"f{i}"] = df[f"f{i-1}"] + eta*df[f"r{i-1}hat"]
  最后重新计算残差:df[f"r{i}"] = df["z"] - df[f"f{i}"]
  步骤就是这样简单,下面我们来一步一步执行这个过程。
  第1次决策
  Tree Split for 0 and level 1.563690960407257
  第2次决策
  Tree Split for 1 and level 0.5143677890300751
  第3次决策
  Tree Split for 0 and level -0.6523728966712952
  第4次决策
  Tree Split for 0 and level 0.3370491564273834
  第5次决策
  Tree Split for 0 and level 0.3370491564273834
  第6次决策
  Tree Split for 1 and level 0.022058885544538498
  第7次决策
  Tree Split for 0 and level -0.3030575215816498
  第8次决策
  Tree Split for 0 and level 0.6119407713413239
  第9次决策
  可以看到通过9次的计算,基本上已经把上面的分类进行了区分
  我们这里的学习器都是非常简单的决策树,只沿着一个特征分裂!但整体模型在每次决策后边的越来越复杂,并且整体误差逐渐减小。
  plt.plot(rmses)
  这也就是上图中我们看到的能够正确区分出了大部分的分类
  作者:Tanguy Renaudie

李世民是千古名君,为什么要选个窝囊废李治为皇上?李世民是历史上著名的一代明君,文武双全,少年时征战四方,立下无数战功。然而他老年时却因为皇子争权夺位而疲惫不堪,后来匆匆忙忙把李治选成太子,又派遣很多自己的心腹大臣来辅助李治。李治对于当下北京精准防控的一个小小建议早上醒来,和往常一样,找到北京健康宝,然后打开本人信息查询,恭喜你被弹窗3给谈了,对于我来说这是每天早上醒来的一个常规动作,因为对于在京外生活的人而言,只有北京健康宝正常才能进入北冠心病?跟脾大有关系!千古名方,6味主药,燥湿健脾清血管现在的年轻人,太过放纵!很多的心脑血管疾病,已经不再是老年人的专属了!现在年轻人患冠心病的也不在少数!长期生活习惯不好,饮食不佳,伤及脾气,导致脾虚之症!脾虚的时间长了,失运生痰!超模钟鹿纯晒喝酒照!醉酒后摔倒刘晓宇拍照记录,定居北京已复合近日,钟鹿纯更新了社交平台,晒出了曾经喝醉酒之后在电梯中摔倒的照片,照片中钟鹿纯身穿短裙黑色,搭配长筒靴,身高接近1米8的钟鹿纯摔倒在电梯中时甚至双腿都无法伸展。钟鹿纯也配文道我喝台湾女孩凭清朝地址,找到300多年前福建祖先的老家许多台湾人的祖先都是来自中国大陆广东福建一带。近日,台湾一个女孩,凭借着父亲给的清朝地址,怀着激动地心情,终于找到了清朝祖先的家乡。本计划在中秋节出游,却成为了一段难忘的寻根问祖之宋台入画香港宋王台的再发现与宋王台图的历史记忆文赖志强内容摘要宋王台是香港九龙海滨山冈上的巨石,南宋景炎中避难南来的帝昰帝昺曾驻跸于此而得名。元以后湮没无闻数百年,于嘉庆十二年(1807)勒石以铭,又于民国初年增筑石栏杆登山道传奇皖北美食之旅,美好安徽好吃也好玩前言美好安徽,传奇皖北。皖北地处长江以北,包括亳州淮北阜阳蚌埠等等六个市,地理位置上靠近山东河南,饮食文化上也互相影响,和皖南菜不同,这里饮食常见牛羊肉面食辣椒,口感主打咸鲜微辣纯喜讯重庆9大古镇入选国家级非遗旅游小镇名录啦!速速围观喜报热烈祝贺重庆9大古镇入选国家级非遗旅游小镇名录近日,中国非物质文化遗产保护协会面向社会公示2022年全国非遗与旅游融合发展优选项目名录,现已通过公示期。本次遴选的200个非遗与免费了!浦江郊野公园奇迹花园邀市民免票赏秋花春日郁金香的遗憾,奇迹花园将用一整个秋天来治愈。记者从浦江郊野公园获悉,即日起园内已上新秋日美景。值得一提的是,此次恰逢奇迹花园开园5周年庆,景区推出限时0元预约赏花活动?,市民到颜值美少女粉色室内人像写真我想和你走走湛蓝的大海和天空清凉的椰汁和微风黄色的沙滩和晚霞你都会喜欢吗?嗯我还不知道但是我喜欢你啊!我真想和你走走去浪漫的埃菲尔铁塔踩夏威夷白色沙滩尝土耳其冰淇淋再看一场黄昏最后知县屡次遭到上级为难,皇帝得知真相后,将知县连升8级循吏清名远迩传,蜀民何幸见青天,诚心到处能和众,本性生来不爱钱,有守有为绩昭著,无偏无欲志贞坚,空群羡尔超流俗,明慎威中治理宣。作为封建王朝的皇帝,嘉庆帝曾亲自为一名小小的官员写诗
职业选手吊打策划太搞笑!新火影策划说活动太狠,又有英雄要被削职业选手吊打策划太搞笑!新火影策划说活动太狠,又有英雄要被削火影忍者手游已经上线五年多,在此期间版本也有着高频率的更迭。随着越来越多的玩家入坑,火影也在一次次的版本更新中加入了很多剑风十大热门对抗路克制关系,选对英雄T2也能吊打版本之子大家好,我是剑风。在BP阶段中,如果我们能够清楚的掌握英雄之间的克制关系,选到能够克制敌方的英雄。那么在对局中就能够更加轻松的打出优势,为游戏胜利打下良好基础。今天剑风将先为大家带杨澜女儿完美避开她优良基因!母女罕见同框,女儿和爸共用一张脸服饰的风格不仅除了要根据人们所处的年龄段而产生变化,而且在不同的场合中也会有不同的选择。相比于在日常中穿着较为舒适的服饰而言,在重要场合时所选择的服饰不仅能够帮助自身表达出优雅与气61!30!欧联杯一夜5场惨案曼联罗马夺首胜,C罗创历史北京时间9月16日凌晨,欧联杯小组赛结束第2轮比赛,曼联客场20击败谢里夫,拉齐奥客场15惨败中日德兰,罗马主场30大胜赫尔辛基。此外,费耶诺德60大胜格拉茨风暴弗赖堡30奥林匹亚下赛季有望名满天下的十大球星,史密斯逆流而上,格林一鸣惊人长江后浪推前浪,一代新人换旧人。这句话同样适用于NBA联盟,在唯快不破的小球盛行时代,年轻人的成长周期已然从过去的23年才能崭露头角,晋升为当赛季兑现天赋,甚至出道即巅峰。在这座讲古丝绸之路上的历史名城依托一带一路倡议迎来新机古丝绸之路上的历史名城依托一带一路倡议迎来新机撒马尔罕丝路明珠9月15日至16日,上海合作组织成员国元首理事会第二十二次会议在乌兹别克斯坦撒马尔罕举行。此次峰会是上合组织成员国领导挡不住了!海信全新一代ULED电视或再上新台阶后疫情时代,居家时间相比前些年越来越多,电视这个曾经在手机平板电脑联合压制下已经被很多消费者忽视的东西,现在又重新站起来了,如今很多消费者购买电视,首先考虑的不是外资品牌,而是国产晒晒我家的早餐,一周不重样,自己在家做,花钱少吃得好,更健康包子这个名称从宋代开始使用,馒头因包有馅,又被称作包子。包子的种类有很多,素菜馅有粉丝豆腐韭菜等等,肉馅有猪肉牛肉羊肉很多人喜欢早上吃俩热乎乎香喷喷的包子,天天去早餐店买,既浪费钱有些事情学不来有些事情学不来公元347年,东晋桓温率军消灭了蜀地氐族成汉李氏政权,一时志得意满。蜀地有一位百余岁老人,曾是蜀汉刘备政权时期的官吏。桓温问老人诸葛丞相是一位什么样的人。桓温想效仿诸搜狗断舍离一年砍掉六项业务,活下去比什么事情都重要文沈思涵石丹IDBMR2004就在搜狗并入腾讯即将一周年之际,一场业务上的断舍离却在悄然进行。2022年8月16日,搜狗游戏中心官网发布公告称,由于公司业务调整,搜狗游戏中心将正式李玫瑾在孩子18岁之前,一定要稳稳的走好4个成长黄金台阶伴随着呱呱声响,一个婴儿成功落地,从嗷嗷待哺的婴儿到健康快乐的阳光少年从懵懂无知的幼儿到活剥开朗的中小学生从粘人调皮的宝宝到独立自主的青少年。父母都见证着这一切,不同的年龄段,有不