admin 发布的文章

一、平分损失

二、对数损失

三、交叉熵损失

$L_\theta(x) =- \frac{1}{m}\sum_{i=1}^{m}(y_{i}log \hat{y_{i}}+(1-y_{i})log(1- \hat{y_{i}}))$

四、指数损失

问题:在0,1分类问题中为什么不用平方损失
从梯度优化方向来回答:

一、背景

boosting算法是一类算法的总称,是Ensemble Learning (集成学习的一类)。Ensemble Learing算法一般包括两类算法
1.bagging算法
2.boosting算法。

二、boosting算法

1.定义

提升方法实际采用加法模型(即基函数的线性组合)与前向分步算法。注意他的基函数不确定可以是任何函数。
Boosting是一种框架算法,拥有系列算法。我们一般不直接适用boosting算法,适用更多的是boostring tree。

2.分类

boostring算法按照算法的实现可以分为两类:

- 1.weight boosting (权重boosting)

权重 boostring的基函数可以是分类算法,也可以是回归算法。基函数也可以不是树,可以是LR,贝叶斯等。最常用的有adaboost

- 2.gradient boostring(梯度boostring)

使用这类算法,大多数都使用基分类器是决策树的算法,包括GBDT,xgboost,lightGBM

注意:分类标准参考sklearn:
(1)https://github.com/scikit-learn/scikit->;learn/blob/master/sklearn/ensemble/_weight_boosting.py
(2)https://github.com/scikit-learn/scikit->;learn/blob/master/sklearn/ensemble/_gradient_boosting.pyx

三、boosting tree算法(等价于boosting decision tree,因为我们用到的树都是决策树)

1.算法定义

提升方法实际采用加法模型(即基函数的线性组合)与前向分步算法,并且以决策树为基函数的提升方法称为提升树。

2.算法分类
- 1.weight boosting tree (权重boosting tree)

(1)分类问题:基函数拟合原数据
(2)回归问题:基函数拟合残差

注意:一般情况下我们所指的提升树是weight boosting tree,并不包括gradient boostring tree
- 2.gradient boostring tree(可以认为是GBDT)
注意:
1.提升树是利用加法模型与前向分步算法实现学习的优化过程,当损失函数是平分损失和指数损失时,优化很简单。但是对于
一般损失函数而言,不容易。针对这一问题,freidman提出了梯度提升算法。
2.因为我们用到的tree基本都是decision tree 所有可以认为是GBDT。GBDT用到的都是回归决策树。

(1)分类问题:基函数拟合原数据
(2)回归问题:基函数拟合残差


三、常见算法

1.weight boostring
  • Adaboost
    权重 boostring的基函数可以是分类算法,也可以是回归算法。基函数也可以不是树,可以是LR,贝叶斯等。但是通常我们使用分类树或者回归树,例如sklearn里面默认使用决策树:DecisionTreeClassifier, DecisionTreeRegressor。

损失函数:Adaboost算法损失函数为指数损失。这一点不理解为什么不能是其他损失。

2. gradient boostring
  • 1.GBDT
  • 2.Xgboost
  • 3.LightGBM
    严格意义上说,gradient boostring的基分类器可以是LR、贝叶斯等,也可以是树。但是通常我们所说的gradient boostring算法,通常(大部分情况下)都是 gradient boostring tree(梯度提升树),

四、boostring tree(提升树)

提升树是以分类树或者回归树为基分类器的的提升方法。

1.weight boostring tree

weight boostring tree的基分类器可以是分类树也可以是回归树。参考sklearn.基分类器可以是残差树。
损失函数:Adaboost算法损失函数为指数损失。这一点不理解为什么不能是其他损失。

2. gradient boostring tree
  • 1.GBDT
  • 2.Xgboost
  • 3.LightGBM
    1、gradient boostring tree的基分类器是回归树。函数模型为CART回归树模型

2、损失函数一般为“对数损失函数”或“指数损失函数”
Gradient Boosting算法即梯度提升算法,

3、优化算法采用梯度下降

参考文献

1.https://blog.csdn.net/starter_____/article/details/79328749
2.统计学习方法-李航
3.https://blog.csdn.net/jingshuiliushen_zj/article/details/83350215

一、期望

也可以称为均值
假设每次的预测值为
$f(x1),f(x2),f(x3)...,f(x_n)$
每个预测值的概率分别为
$P(x1),P(x2),P(x3)....$
则期望为:
$\hat{f(x)}=p(x1)*f(x1) + p(x2)*f(x2) + p(x3)*f(x3) $

二、方差(与真实值无关)

度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动造成的影响。
描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,如下图右列所示。
---摘自《机器学习》,周志华

$var(x) = \frac{1}{n} \sum_{t=1}^{n}(f(x_{t})-\hat{f})^2$

三、偏差

度量学习算法的期望预测与真实结果的偏离程度,也叫拟合能力。
描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,如下图第二行所示。
---摘自《机器学习》,周志华

$bias^2(x) = (\hat{f(x)}-y)^2$
y:真实值

b23.png

概率论是统计学的基石。

一、概率论

概率论是知因求果,已经完全获知了事物的本质即分布规律后,运用于具体的事例。
概率论是由概率分布推断样本性质,如大数定律、中心极限定理。

二、统计学

而数理统计是执果索因,我们手上只有一些事例的表观信息,要寻求它们背后共同遵从的规律。
统计是由样本信息反推概率分布,如概率分布参数的点估计、区间估计,以及线性回归。

三、联系

在现实中二者结合很紧密。通过样本训练出概率分布,相当于老师不断教学生知识(样本),让学生大脑形成当前对象的模型;在学生学会了之后,就相当于这个模型(概率分布)成型了,就可以自己去推导、产生知识(样本)。