开启成长之旅!这是我参加「日新计划 12 月更文挑战」的第18天,点击检查活动概况

信息熵

信息熵是用来衡量信息不确定性的方针,不确定性是一个事情

呈现不同结果的可能性。核算办法如下所示:

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

条件熵:y是条件 核算x的不确定性

机器学习——集成学习:XGBoost

实例:

机器学习——集成学习:XGBoost

基尼指数

定义:

基尼指数(Gii不纯度)表明在样本调集中一个随机选中的样本被分错的概率。

注意:Gii指数越小表明调集中被选中的样本被分错的概率越小,也便是说调集的纯度越高,反之,调集越不纯。当调集中一切样本为一个类时,基尼指数为0

基尼指数的核算办法:

机器学习——集成学习:XGBoost

确定最佳切割点,基尼指数越小越好

回归树

与分类树区别:

包括打分,比方判别苹果的成色

回归树(regression tree),便是用树模型做回归问题,每片叶子都输出一个猜测值。猜测值一般是叶子节点所含练习集元素输出的均值。

回归树的分支规范:

规范方差(Standard Deviation)。回归树运用某一特征将原调集分为多个子集,用规范方差衡量子集中的元素是否附近,越小表明越附近。首要核算根节点的规范方差:

机器学习——集成学习:XGBoost

改变系数=标志方差/均匀方差

机器学习——集成学习:XGBoost

当改变系数小于10%,中止分支,生成叶节点

集成学习

Bagging:基学习器之间无强依靠关系,可一起生成的并行化办法

Boosting:基学习器之间存在激烈的依靠关系,有必要串行生成基分类器的办法

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

加法模型

加法模型便是说强分类器由一系列弱分类器线性相加而成。一般组合方式如

机器学习——集成学习:XGBoost

其间,h(x;am)是弱分类器,am是弱分类器学习到的最优参数,Pm是弱学习在强分类器中所占比重,P是一切am和m的组合。这些弱分类器线性相加组成强分类器。

前向分步算法

前向分步是在练习过程中,下一轮迭代发生的分类器是在上一轮的基础上练习得来的。即:

机器学习——集成学习:XGBoost

2.1.bagging:

随机森林

定义:

一起练习多个决策树,猜测时综合考虑多个结果进行猜测,例如取多个节点的均值(回归),或者是众数(分类)。

优势:

1.消除了决策树简单过拟合的缺点

2.减小了猜测的方差,猜测值不会因练习数据的小改变而剧烈变

机器学习——集成学习:XGBoost

随机性体现在两点:

1.从本来的练习数据集随机(带放回bootstrap)取一个子集作为森林中某一个决策树的练习数据集

2.每一次挑选分叉的特征时,限定为在随机挑选的特征的子集中寻觅一个特征

机器学习——集成学习:XGBoost

ROC曲线和AUC曲线和RC曲线(准确率召回率曲线)

机器学习——集成学习:XGBoost

TPR=TP/(TP+FN) 也叫召回率

一切实在类别为1的样本中,猜测类别为1的份额

FPR=FP/(FP+TN)

一切实在类别为0的样本中,猜测类别为1的份额

ROC曲线和AUC曲线

机器学习——集成学习:XGBoost

AUC方针(在上面图中便是黑色线以下的面积)

AUC的概率含义是随机取一对正负样本,正样本得分大于负样本的概率,AUC的最小值为0.5,最大值为1,取值越高越好

AUC=1,完美分类器,选用这个猜测模型时,不论设定什么阈值都能得出完美猜测。绝大多数猜测的场合,不存在完美分类器。0.5

这个分类器(模型)妥善设定阈值的话,能有猜测价值。最终AUC的范围在[0.5,1]之间,而且越接近1越好

PR曲线

名词解释

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

一条PR曲线要对应一个阈值(统计学的概率)。通过挑选合适的阈值(比方K%)对样本进行合理的划分,概率大于K%的样本为正例,小于K%的样本为负例,样本分类完成后核算相应的精准率和召回率,最后咱们会得到对应关系,如下图所示。

机器学习——集成学习:XGBoost

PR和ROC曲线比照

zhuanlan.zhihu.com/p/34655990

1.ROC曲线由于统筹正例与负例,所以适用于评价分类器的全体功能,相比而言PR曲线完全聚焦于正例。

2.假如有多份数据且存在不同的类别散布,比方信用卡欺诈问题中每个月正例和负例的份额可能都不相同,这时分假如只想单纯地比较分类器的功能且剔除类别散布改变的影响,则ROC曲线比较合适,由于类别散布改变可能使得PR曲线发生改变时好时坏,这种时分难以进行模型比较:反之,假如想测验不同类别散布下对分类器的功能的影响,则PR曲线比较合适。

3.假如想要评价在相同的类别散布下正例的猜测状况,则宜选PR曲线。

4.类别不平衡问题中,ROC曲线通常会给出一个达观的效果估计,所以大部分时分还是PR曲线更好。

5.最后能够依据具体的运用,在曲线上找到最优的点,得到相对应的precision,recall,f1 score等方针,去调整模型的阈值,从而得到一个符合具体运用的模型。

2.2.boosting:

adaboost

Adaboost的思维是将关注点放在被过错分类的样本上,减小上一轮被正确分类的样本权值,进步被过错分类的样本权值

Adaboost选用加权投票的办法,分类差错小的弱分类器的权严重,而分类差错大的弱分类器的权重小。

Adaboost能够看作是加法模型、丢失函数为指数丢失函数、学习算法为前向散布算法时的二分类学习办法。接下来咱们运用sklearn中AdaBoost的接口进行实践:

github.com/BackyardofA…

GBDT

BDT(提升树)

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

提升树为什么分类用指数丢失,而回归用平方差错丢失?

表格:

机器学习——集成学习:XGBoost

GBDT(梯度提升树)

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

由于残差是负梯度的公式,所以能够用负梯度来表明

机器学习——集成学习:XGBoost

分类问题

机器学习——集成学习:XGBoost

XGBoost

XGBoost是GBDT的一种,也是加法模型和前向优化算法。

在监督学习中,能够分为:模型,参数,方针函数和学习办法

模型:给定输入x后猜测输出y的办法,比方说回归,分类,排序等。

参数:模型中的参数,比方线性回归中的权重和偏置

方针函数:即丢失函数,包括正则化项

定义方针函数,包括正则项:

机器学习——集成学习:XGBoost

怎么优化这个方针函数呢?由于是决策树,而不是数值型的向量,咱们不能运用梯度下降的算法进行优化!

又由于XGBoost是前向散布算法,咱们通过贪心算法寻觅局部最优解:

机器学习——集成学习:XGBoost

机器学习——集成学习:XGBoost

复杂度

树的复杂度能够用如树的深度,内部节点个数,叶节点个数等来衡量。

XGBoost中正则项用来衡量树的复杂度:树的叶子节点个数T和每棵树的叶子节点输出分数W的平方和(相当于L2正则化):

机器学习——集成学习:XGBoost

XGBoost的方针函数改写为:

机器学习——集成学习:XGBoost

学习办法:给定方针函数后求解模型和参数的办法,比方:

梯度下降法,数学推导等

选用贪心算法,每次尝试割裂一个叶节点

核算割裂后的增益挑选增益最大的。类似于在ID3中的信息增益,和CART树中的基尼指数,那XGBoost中怎么核算增益呢?丢失函数是:

机器学习——集成学习:XGBoost

其间赤色部分衡量了叶子节点对总体丢失的贡献,方针函数越小越好,则赤色部分就越大越好

在XGBoost中增益核算办法是:

机器学习——集成学习:XGBoost

Gain值越大,阐明割裂后能使方针函数减小的越多,也便是越好

实现:www.bilibili.com/video/BV1Ca…