机器学习之提升算法

  • 1、知道提升、梯度提升是什么意思
    • 1.1、提升
    • 1.2、梯度提升
    • 1.3、了解提升算法的过程
  • 2、残差与残差平方和(residual sum of squares)
  • 3、了解GBDT算法
  • 4、了解XGBoost算法
  • 5、了解Adaboost算法
    • 5.1、Adaboost算法的原理
    • 5.2、例子
  • 6、偏差和方差

1、知道提升、梯度提升是什么意思

1.1、提升

每一步产生一个弱预测模型,并加权累加到总模型中。

1.2、梯度提升

如果每一步的预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升。
这里写图片描述

1.3、了解提升算法的过程

处理的过程:拿原始数据x,y生成一棵树(得到一个相应的函数T(xi)),得到对应的根据点预测值。之后计算原始数据和预测值的残差(残差尽可能接近于0)作为损失函数(残差是观测值与预测值之间的差),如果不等于0则将残差作为xi的“y”再生成一棵树,再得到对应的预测值Yi,再次计算”y”和预测值Y^的残差值(也就是预测值和残差值的残差值),看损失函数的值是否为0,若不为0则重复以上步骤…直到损失函数为0.(提升算法的损失函数是预测值和真实值的残差)
这里写图片描述
这里写图片描述

2、残差与残差平方和(residual sum of squares)

残差:是指观测值与预测值(拟合值)之间的差,即是实际观察值与回归估计值的差,把每个残差的平方后加起来 称为残差平方和,它表示随机误差的效应。
每一点的y值的估计值和实际值的差的平方之和称为残差平方和,而y的实际值和平均值的差的平方之和称为总平方和
误差:即观测值与真实值的偏离;
残差:观测值与拟合值的偏离.
误差与残差,这两个概念在某程度上具有很大的相似性,都是衡量不确定性的指标,可是两者又存在区别。
误差与测量有关,误差大小可以衡量测量的准确性,误差越大则表示测量越不准确。
误差分为两类:系统误差与随机误差。其中,系统误差与测量方案有关,通过改进测量方案可以避免系统误差。随机误差与观测者,测量工具,被观测物体的性质有关,只能尽量减小,却不能避免。
残差――与预测有关残差大小可以衡量预测的准确性。残差越大表示预测越不准确。残差与数据本身的分布特性,回归方程的选择有关。
误差大,由异常值引起.表明数据可能有严重的测量错误;或者所选模型不合适,;
残差大,表明样本不具代表性,也有可能由特征值引起.
总之要看一个模型是否合适,看误差;要看所取样本是否合适,看残差;

3、了解GBDT算法

了解GBDT计算决策树的公式Tm(x)也就代表决策树函数(即输入x得到预测值),其中Bjm代表的是样本X在区域Rjm的预测值(Rjm决策树的几个叶子节点),I代表的是x是否该区域(是的话为1,不是的话为0)
这里写图片描述
这里写图片描述
这里写图片描述

4、了解XGBoost算法

XGBoost算法只是将目标函数改为了二阶导信息
XGBoost生成树的过程:枚举可行的分割点(下图五个数据有4种分割),然后依次计算对应的Gain()(根节点的损失减去两个叶节点的损失得到一个增益值),选取增益最大的划分。
依次进行得到整棵树。由此也能得到对应的权值w(参考w的计算公式)。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

5、了解Adaboost算法

5.1、Adaboost算法的原理

通过初始化权值得到对应的误差率,进而得到加权系数,之后利用公式不断的迭代初始权值直到目标函数达到最优。
权值是需要初始化即D
这里写图片描述
em(误差率)可以计算出来(就相当于判断预测值和实际值是否相等),知道em后就能计算出对应的Gm(x)对应的系数αm了。
这里写图片描述

由下图中的公式计算Wm+1的值(α、样本的实际值和预测值以及对应样本的权值都为已知条件),去更新数据集D1中对应的权值得到D2,之后再计算D2对应的误差率e2和对应的系数α2…依次类推直到最后。(exp,高等数学里以自然常数e为底的指数函数)
这里写图片描述
由算到的m个α系数和对应的预测值相乘相加得到最终的总分类器
f(x):基本分类器的线性组合。
这里写图片描述
αm的值是>0的(1-em>em即误差率小于0.5)
这里写图片描述
迭代过程中预测结果对权值的影响:即实际操作中当预测结果正确时,第二次迭代时对应的权值会减小,反之则会增加。
Wmi公式中的值都能得到。
这里写图片描述

5.2、例子

这里写图片描述
这里写图片描述
选取一个阈值使基本分类器G1(x)的误差率最小。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

6、偏差和方差

知道偏差和方差:把偏差认为是单个模型的拟合能力,而方差则描述的是同一个学习算法在不同数据集的不稳定性
偏差与方差:
偏差描述的是算法的预测的平均值和真实值的关系(可以想象成算法的拟合能力如何),而方差描述的是同一个算法在不同数据集上的预测值和所有数据集上的平均预测值之间的关系(可以想象成算法的稳定性如何)。
这里写图片描述
这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jsoup遍历ul li下的链接信息实例

2019独角兽企业重金招聘Python工程师标准>>> Document doc;try {String URL "www.baidu.com";doc Jsoup.connect(URL).get();Elements ElementsUl doc.getElementsByTag("ul");for (Element elementLi : ElementsUl) {Elements provinceEl …

机器学习之支持向量机(SVM)总结

文章目录1、知道SVM相关的各种概念2、知道目标函数、损失函数、正则项的意义2.1、目标函数2.2、损失函数2.3、正则化(添加噪音避免过拟合)3、了解SVM算法原理4、知道SVM的目标函数5、知道SVM的损失函数以及公式6、知道SVM支持向量机的计算过程6.1、推导过…

机器学习之聚类算法的原理推导及相关知识总结

文章目录1、知道几个关于"差"的概念2、理解相似度度量的各种方法和相互关系2.1、欧氏距离2.2、jaccard相似系数2.3、余弦相似度2.4、Pearson相似系数2.5、相对熵3、掌握掌握K-Means算法3.1、知道聚类的思想3.2、K-Means算法原理3.3、知道K-Mediods聚类3.4、如何选取K…

机器学习之EM算法的原理推导及相关知识总结

文章目录1、知道先验概率和后验概率2、了解高斯混合模型GMM3、通过最大似然估计推导EM算法的过程的实例4、EM算法5、知道pLSA模型1、知道先验概率和后验概率 先验概率(prior probability)是指根据以往经验和分析得到的概率(理解为自定义概率…

机器学习之朴素贝叶斯算法的推理及相关知识总结

文章目录1、朴素贝叶斯公式1.1、贝叶斯公式的应用2、了解贝叶斯网络2.1、知道什么是贝叶斯网络2.2、贝叶斯网络的两种表示形式2.3、掌握全连接的贝叶斯网络的公式2.3、知道条件概率表参数个数分析的方法2.4、掌握变量联合分布概率的公式及含义2.5、知道马尔科夫模型3、了解D-se…

HA机制的大数据集群的搭建过程

文章目录集群规划1、 准备Linux环境1.1、修改Linux主机名1.3、修改主机名和IP的映射关系1.4、关闭防火墙1.5、ssh免登陆(主节点和从节点之间)2、 安装JDK2.1、上传2.2、解压jdk2.3、将java添加到环境变量中2.4、刷新配置2.5、验证3、安装zookeeper3.1、解…

Linux系统7个运行级别图文详解

Linux系统7个运行级别图文详解 当安装linux操作系统时将选择下列那一个操作 ______ A.选择 "图形登录方式" 设定系统开始运行级为4 B.选择 "文本登录方式" 设定系统开始运行级为3 C.选择 "文本登录方式" 设定系…

使用IntelliJ IDEA碰到的问题总结

文章目录问题一:无法创建Java Class文件问题一:无法创建Java Class文件 今天打开项目时,发现右击新建不了java.class文件,于是尝试了以下方法: (1)选择 File——>Project Structure——>…

linux文本处理常用指令总结

引子 作为一个偏爱windows的程序员,以前做文本处理的时候总是喜欢在windows下用notepad等图形化工具处理,比如有时需要把linux服务器上一个文件进行一次全局字符串替换这样简单的操作,还得把文件down到本地编辑好再传回去。这两天买了本《鸟哥…

Linux中chown和chmod的区别和用法

chmod修改第一列内容, chown修改第3、4列内容: chown用法: 用来更改某个目录或文件的用户名和用户组。 chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径) 例1:chown root:root /tmp/tmp1 就…

玩大数据期间碰到的一些问题总结

文章目录问题一:Zookeeper节点数量为什么建议是奇数个?问题二:HA机制的Hadoop集群中Journal Node 作用问题三:两个datanode节点互相排斥怎么解决(集群无法识别新加入的Datanode)?问题四&#xf…

JAVA的SSH框架登录注册

Struts 的MVC设计模式可以使我们的逻辑变得很清晰,主要负责表示层的显示。 Spring 的IOC和AOP可以使我们的项目在最大限度上解藕。 hibernate的就是实体对象的持久化了, 数据库的封装。 项目截图:(代码是按照项目截图上传的,直接对号入座即可…

Visual Studio Code 前端调试不完全指南

本文最初发布于我的个人博客:咀嚼之味Visual Studio Code (以下简称 vscode) 如今已经代替 Sublime,成为前端工程师们最喜爱的代码编辑器。它作为一个大型的开源项目,不断推陈出新;社区中涌现出大量优质的插件,以支持我…

机器学习之LDA主题模型算法

文章目录1、知道LDA的特点和应用方向1.1、特点1.2、应用方向2、知道Beta分布和Dirichlet分布数学含义3、了解共轭先验分布4、知道先验概率和后验概率5、知道参数α值的大小对应的含义6、掌握LDA主题模型的生成过程7、知道超参数α等值的参考值8、LDA总结1、知道LDA的特点和应用…

[Go] Template 使用简介

Golang 提供了两个标准库用来处理模板 text/template 和 html/template。我们使用 html/template 格式化 html 字符。 模板引擎 模板引擎很多,Python 的 jinja,nodejs 的 jade 等都很好。所谓模板引擎,则将模板和数据进行渲染的输出格式化后的…

内存泄露监测

2019独角兽企业重金招聘Python工程师标准>>> iOS 内存泄露监测 144 作者 谢谢生活 已关注 2017.05.19 17:38* 字数 4235 阅读 209评论 0喜欢 6 iOS可能存在的内存泄露:block 循环引用。当一个对象有一个block属性,而block属性又引用这个对象…

玩Azkaban跳过的坑

文章目录一号坑:启动Azkaban报错:User xml file conf/azkaban-users.xml doesnt exist.二号坑:报错:failed SslSocketConnector0.0.0.0:8443: java.io.FileNotFoundException: /home/hadoop/app/azkaban/azkaban-web-2.5.0/bin/ke…

删除节点removeChild()

http://www.imooc.com/code/1700 删除节点removeChild() removeChild() 方法从子节点列表中删除某个节点。如删除成功,此方法可返回被删除的节点,如失败,则返回 NULL。 语法: nodeObject.removeChild(node) 参数: node :必需&…

机器学习自主解决安全威胁离我们还有多远?

曾经听见不止一次这样的问题: “机器学习会替代基于人工经验规则的安全解决方案么?”把这个问题放在去年来看,我们已经得到了非常多的讨论甚至是一些已经实际应用的解决方案,对于人工智能在安全以及其它各种对数据进行价值挖掘的场…

Vue:解决[Vue warn]: Failed to resolve directive: modle (found in Anonymous)

解决问题 [Vue warn]: Failed to resolve directive: modle (found in <ComponentA>) console.error(("[Vue warn]: " msg trace)); 原因是 我把model 写成了 modle 这类错误一般是单词写错了 (found in <Anonymous>) 解决思路