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

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

  梯度提升算法是最常用的集成机器学习技术之一,该模型使用弱决策树序列来构建强学习器。这也是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

四十岁的男人该如何煅练身体?40岁的男人,身体已开始发福,各种影响健康的问题已开始出现,等到身体问题严重再去锻炼就来不及了。现在根据自己的实际情况,选择合适的运动项目进行锻炼,坚持下来,身体健康会越来越好。一昆明到怒江自驾游,如何安排行程?昆明到怒江如果自己驾车前往的话,路程大概是553。8公里,途中要经过安宁市楚雄州大理州等地方,给您推荐一条昆明到怒江的自驾游路线,供您参考1安宁市。如果您从昆明出发,而又不急着赶路大同市区一日游该如何规划行程?一日游只能到云冈石窟和恒山。三日游差不多都能转转。第一日,上午云冈石窟,下午华严寺第二日,上午恒山,下午九龙壁第三日,善化寺,文庙,城墙,鼓楼,文瀛湖。云冈石窟是必去的。建议早晨第世预赛首场客场对阵澳大利亚男足,国足会赢几球?明天凌晨2。00,亚洲区世界杯预选赛重燃战火,传统强队澳大利亚队主场对阵中国男足,亚盘开出主让半球的盘口,各大菠菜机构看好澳大利亚男足主场拉下中国男足,希望中国男足发扬铿锵玫瑰精神什么是免签落地签过境签申根签证?随着我国对外贸易的增多和人民的生活水平的提高,来往于境内外的机会和次数也越来越频繁,我把其中主要的概念来说一下护照出境去其他国家,由中国发的证明本人国际和身份的证明,可以理解为国际体制内五十五岁,考了个法律工作者资格证,想退休干这个可行吗?不要自己难为自己。因为管你可能真的不适考验自己的情绪和尊严我的经历是这样的。我是在五十四岁时,拿到法律资格证书,也想做一个大律师。开始去一家律师事务所实习。去之前,大家想的讲的都很通奸与同居有什么区别,通奸要承担哪些法律责任?通奸不是严谨的法律概念,过去老百姓把一切非婚内的性行为都称为通奸,但在我国现代法制概念中,分成几种情况1,如果双方皆为未婚,那么无论是偶发的性行为还是长期保持关系,啥都不算,谈不上你真的认为iphone只是一部手机吗?感谢您的阅读!你会认为iPhone是一部手机吗?实际上,iPhone手机它并非是一款手机,它的功能可能是在目前来说相对全面的一部智能手机。其实,不仅仅是iPhone手机,应该是现在激光电视会取代液晶电视吗?不会,激光电视属于dlp投影技术,容易受到外界干扰。激光电视适用在高端的家居生活,会所,私人影院,专业的会议室等场所!优势是显示面积大,分辨率高,色彩还原度还可以!家用液晶电视领域你是否觉得手机已经成为了你生命中重要的组成部分?我觉得手机成了我日常生活的重要工具。首先,女儿上小学需要下载十个八个手机App,学校老师各种各样的作业任务必须得通过手机来完成其次,日常生活中的消费和交费也基本是用手机支付,微信,买彩电要注意些什么参数才能买到比较好的?电视屏幕是软屏好还是硬屏好?为什么?俗话说买电视就是买屏幕,这话的确没错,一台电视屏幕的成本至少占据了整台电视生产成本的60以上,所以可见屏幕的重要性。但是现在买电视已经不单单是随便买台电视了,首先说一下现在买电视都
手游交易平台的发展趋势与新兴平台推荐随着手游市场的不断扩大和用户数量的增加,手游交易平台也随之兴起。这些平台为用户提供了一个安全可靠方便快捷的交易场所,方便玩家进行游戏账号的买卖租赁等活动。截至2022年底,全球手游当心!吃隔夜菜可能带来的这三种风险!在当今的社会中,随着生活水平的提高和科技的进步,人们对于食物的要求也越来越高。然而,在家庭中老一辈父母或者祖辈们却有一种习惯,那就是喜欢吃隔夜菜。这一现象不仅在我国非常普遍,而且在看到这3类食物要注意,湿气重影响健康!中老年人要少吃看到这3类食物要注意,湿气重影响健康!中老年人要少吃油腻的食物往往含有高量的脂肪和热量,摄入过多容易导致肥胖和消化不良,从而加重湿气问题。寒性的食物容易导致体内寒气积聚,进而导致身吃出来的良性前列腺增生良性前列腺增生是老年男性的常见疾病之一,有组织学证据显示,50岁左右的男性中约有50的人患有前列腺增生,而80岁及以上的男性中这一比例高达90。虽然目前公认的病因是老龄和有功能的睾失眠星人避坑宝典你是否经常熬夜失眠,第二天早上感觉疲惫不堪?你是否常常在床上翻来覆去,却无法入睡?你是否在深夜吃夜宵或喝酒,导致第二天精神不佳?如果你有以上问题,那么这篇文章就是为你准备的。在这份给宝宝喝牛奶时需要注意的十大错误!牛奶是许多人日常生活中必不可少的营养佳品,但普通人对于营养尚存许多误区,使本该被吸收的营养白白流失,甚至产生反效果,对身体造成伤害!一牛奶越浓越好?有人认为,牛奶越浓,身体得到的营耳朵里面跑火车,小小一物帮你缓解今天我来给大家分享中医缓解耳鸣的三君子之一,蝉蜕,这味药简单来说,它就是蝉从幼虫变为成虫时蜕下的壳,蝉蜕它是中药名,它性凉,味咸,归肝肺经,有宣散风热透疹利咽退翳明目祛风止痉等作用坚持吃水煮蛋,是养肝还是伤肝?可能会有这3大变化能掌握饮食方法的人大多会三餐规律提供营养物质,同时选择合适的食物,那些有风险,刺激性大的食物远离,才能保护消化系统,同时输送足够的能量。而鸡蛋作为家常食材,性价比很高,营养较全面,游泳全国春季锦标赛汪顺张雨霏摘金3月22日,在青岛举行的2023年全国春季游泳锦标赛进入第四个比赛日。汪顺夺得男子200米自由泳冠军,张雨霏夺得女子100米蝶泳冠军。浙江队选手汪顺在男子200米自由泳决赛中,最终34岁德国前腰厄齐尔宣布退役官方消息,34岁厄齐尔宣布退役。现年34岁厄齐尔,场上司职前腰,曾效力于阿森纳皇马不莱梅沙尔克04等球队。2010年皇马以1800万欧转会费从不莱梅签下厄齐尔,随后在皇马获得1次西佩服,我看了15年的足球,发现有人15年来坚持不懈黑梅罗头条创作挑战赛小编是在2006年德国世界杯开始喜欢上足球这项运动的,到今年也有17年的看球经验了,我最喜欢的足球俱乐部是皇马和曼联。我不是什么C罗球迷,也不是什么梅西球迷。但是这两