机器学习之提升算法

  • 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 …

两篇波兰地区重金属污染地区土壤微生物多样性的研究

环境微生物(包括方兴未艾的肠道微生物)在不同的系统中发挥着的生态作用逐渐被意识到,我们对环境微生物实际上仍旧知之甚少,其多样性问题仍旧是一个非常基础和重要的课题。这次读的两篇文章都是关于波兰地区重金属污染地区的土壤微…

jquery中的 $(function(){})

$(function(){})的区别:$(function(){}) 是 $(document).ready(function(){}) 的简写,用来在DOM加载完成之后执行一系列预先定义好的函数。 需要注意与(function(){})相比,(function(){})表示一个匿名函数。function(arg){...}定义了一个参数…

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

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

在CentOS上搭建PHP服务器环境

您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/安装apache:yum install httpd httpd-devel 启动apache:/etc/init.d/httpd start此时输入服务器的IP地址,应该看到apache的服务页面&#x…

jQuery之滚动事件$(window).scroll(function()

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>滚动事件</title><script src"https://code.jquery.com/jquery-2.2.4.min.js"></script><style>img{position:fixe…

《疯狂Java讲义》(二十九)---- JDBC

JDBC编程步骤加载数据库驱动Class.forName(driverClass). 例如&#xff1a;Class.forName("oracle.jdbc.driver.OracleDriver"); 2. 通过DriverManager获取数据库连接。 DriverManager.getConnection(String url, String user, String pwd); 3. 通过Connection对象创…

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

文章目录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…

Flex 布局教程:语法

Java数组声明的三种方式 第一种(声明并初始化)&#xff1a; 数据类型[] 数组名{值,值,...}; 例&#xff1a;int[] a {1,2,3,4,5,6,7,8}; 第二种(声明后赋值)&#xff1a; 数据类型[] 数组名 new 数据类型[数组长度]; 数组名[下标1]值…

注意:匿名函数调用直接加载函数名setInterval(move,30)

setInterval要求第一个参数必须是含Javascript命令的字符串或函数对象&#xff0c;所以 setInterval("move()",300) 以及 setInterval(move,300) 这两个都是正确的。 而 setInterval(move(),300) 当Javascript运行到这个语句时&#xff0c;会立即执行move这个函数&am…

vue import组件的使用

vue import组件的使用 1新建/src/component/firstcomponent.vue <template><div id"firstcomponent"><h1>I am a title.</h1></div> </template>2在app.vue引入组件 并且注册 <script> import firstcomponent from ./comp…

牵丝戏

余少能视鬼&#xff0c;尝于雪夜野寺逢一提傀儡翁&#xff0c;鹤发褴褛&#xff0c;唯持一木偶制作极精&#xff0c;宛如娇女&#xff0c;绘珠泪盈睫&#xff0c;惹人见怜。 时云彤雪狂&#xff0c;二人比肩向火&#xff0c;翁自述曰&#xff1a;少时好观牵丝戏&#xff0c;耽…

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

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

jQuery中的on 和事件委派

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件</title><style>p{width:100px;height:100px;border: 1px solid gray;}</style><script src"https://code.jquery.com/…

python pip处理

查看pip 版本号 pip --version 升级方法 on linux or os X: pip install -U pip on windows: python -m pip install -U pip 转载于:https://www.cnblogs.com/yangwithtao/p/6397114.html

js中innerHTML和innerText jQuery中html()和text()的区别

js中innerHTML和innerText的区别innerHTML innerHTML 会将标签和标签中的内容否获取回来 innerHTML .innerHTML ‘<p></p>’; 只会将文本内容解析出来&#xff0c;不会显示标签innerText innerText 只会将标签中的内容获取回来&#xff0c;不会获取标签 innerT…

ECMAScript 6 -- let和const命令

ES6新增了let命令&#xff0c;用来声明变量。它的用法类似于var&#xff0c;但是所声明的变量&#xff0c;只在let命令所在的代码块内有效。 for (let i 0; i < 10; i) {console.log(i);} 可以执行 for (let i 0; i < 10; i) {}console.log(i); 就会报错 ncaught Refer…

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

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

mysql之外键

外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.他们觉得这样很麻烦 …

Android onLoadFinished与onLoaderReset

onLoadFinished 这个方法是在前面已创建的加载器已经完成其加载过程后被调用&#xff0c;这个方法保证会在应用到加载器上的数据被释放之前被调用。在此方法中&#xff0c;你必须删除所有对旧数据的使用(因为它将很快会被删除)&#xff0c;但是不要自己去释放它们&#xff0c;因…