task 03 集成模式
2021/10/20 23:43:42
本文主要是介绍task 03 集成模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Task01开始啦:
决策树(上),截止时间:10月21日03:00
-------
【资料链接】https://datawhalechina.github.io/machine-learning-toy-code/01_tree_ensemble/02_ensemble.html#part-b
主要学习知识点:
【练习1】左式第四个等号为何成立?
当
c
o
v
(
E
D
[
f
^
D
]
−
f
^
D
,
ϵ
)
=
0
cov(\mathbb{E}_{D}[\hat{f}_D] - \hat{f}_D, \epsilon) = 0
cov(ED[f^D]−f^D,ϵ)=0
【练习2】有人说Bias-Variance Tradeoff就是指“一个模型要么具有大的偏差,要么具有大的方差”,你认为这种说法对吗?你能否对“偏差-方差权衡”现象做出更准确的表述?
不对。
更准确的表达是,对于那些偏差比较小的模型,其对训练数据集的拟合能力也就越好,学习到了很多关于特征和输出之间的关系,有了这种性质之后,对于新的信息,我们预测能力就比较差,因为我们模型携带了太多关于原始(训练)数据的信息,所以对于新的数据集(测试集)的学习能力就比较弱,产生的波动比较大。
同理,对于那些方差比较小的模型,其模型的变化情况不会太大。
【练习3】假设总体有100个样本,每轮利用bootstrap抽样从总体中得到10个样本(即可能重复),请求出所有样本都被至少抽出过一次的期望轮数。(通过本文介绍的方法,我们还能得到轮数方差的bound)
抽到n个不同的样本的次数期望为:
E
(
T
)
=
E
(
t
1
+
t
2
+
⋯
+
t
n
)
=
n
⋅
H
n
\begin{aligned} \mathrm{E}(T) &= \mathbb{E}(t_1 + t_2 + \cdots + t_n) \\ &= n \cdot H_n \end{aligned}
E(T)=E(t1+t2+⋯+tn)=n⋅Hn
其中
H
n
H_n
Hn为harmonic number(调和数),取值为:
E
=
n
⋅
H
n
=
n
log
n
+
γ
n
+
1
2
+
O
(
1
/
n
)
\mathrm{E} = n \cdot H_n = n \log n + \gamma n + \cfrac{1}{2} + O(1/n)
E=n⋅Hn=nlogn+γn+21+O(1/n)
当我们已经收集到
k
k
k个不同的样本之后,再累计收集到
n
n
n个样本所需要的抽样此为的期望为:
E
(
T
k
)
=
E
(
t
k
+
1
+
t
k
+
2
+
⋯
+
t
n
)
=
n
⋅
(
1
1
+
1
2
+
⋯
+
1
n
−
k
)
=
n
⋅
H
n
−
k
\begin{aligned} \mathrm{E}(T_k) &= \mathrm{E}(t_{k+1} + t_{k+2} + \cdots + t_{n}) \\ &=n \cdot ( \cfrac{1}{1} + \cfrac{1}{2} + \cdots + \cfrac{1}{n-k}) \\ &= n \cdot H_{n-k} \end{aligned}
E(Tk)=E(tk+1+tk+2+⋯+tn)=n⋅(11+21+⋯+n−k1)=n⋅Hn−k
故
E
(
T
10
)
=
E
(
t
11
+
t
12
+
⋯
+
t
100
)
=
E
(
T
100
)
−
E
(
T
10
)
≈
100
log
100
+
γ
100
+
1
2
−
(
10
log
10
+
γ
10
+
1
2
)
=
190
log
10
+
90
γ
\begin{aligned} \mathrm{E}(T_{10}) &= \mathrm{E}(t_{11} + t_{12} + \cdots + t_{100}) \\ &= \mathrm{E}(T_{100}) - \mathrm{E}(T_{10}) \\ &\approx 100 \log 100 + \gamma 100 + \cfrac{1}{2} - (10 \log 10 + \gamma 10 + \cfrac{1}{2}) \\ &= 190\log 10 + 90 \gamma \end{aligned}
E(T10)=E(t11+t12+⋯+t100)=E(T100)−E(T10)≈100log100+γ100+21−(10log10+γ10+21)=190log10+90γ
TODO:轮数方差的bound
【练习4】对于stacking和blending集成而言,若m个基模型使用k折交叉验证,此时分别需要进行几次训练和几次预测?
训练:k * m + 1
预测:(2 * k) * m+ 1
【练习5】r2_score和均方误差的区别是什么?它具有什么优势?
r2_score 代表的是模型拟合的效果,取值为[0,1]之间。它能够说明模型的线性拟合程度,当r2_score接近1时,线性模型的拟合效果比较好,当模型接近0时,模型的线性拟合效果较差。
均方误差:
M
S
E
=
1
N
∑
i
=
1
N
(
y
i
−
y
^
i
)
2
MSE = \cfrac{1}{N} \sum_{i=1}^{N} (y_i-\hat{y}_i)^2
MSE=N1i=1∑N(yi−y^i)2
代表的是模型的综合误差,从中可以分解出偏差和方差以及模型本身自带的误差。综合性更强。
【练习6】假设使用闵氏距离来度量两个嵌入向量之间的距离,此时对叶子节点的编号顺序会对距离的度量结果有影响吗?
闵氏距离定义为:
D
(
x
,
y
)
=
(
∑
u
=
1
n
∣
x
u
−
y
u
∣
p
)
1
p
D(x, y) = (\sum_{u=1}^{n}|x_u -y_u|^p)^{\cfrac{1}{p}}
D(x,y)=(u=1∑n∣xu−yu∣p)p1
编号顺序不会对距离的度量结果有影响。因为这些都是计算每个向量两个分量之间的距离关系,所以说编号顺序回对距离的度量结果没有影响。
关于闵氏距离,有以下的补充:
1、闵氏距离和特征参数的量纲有关,不同量纲的特征参数的闵氏距离常常是没有意义的。
2、闵氏距离没有考虑特征参数之间的相关性,而马哈拉诺比斯距离解决了这个问题。
知识回顾¶
-
什么是偏差和方差分解?偏差是谁的偏差?此处的方差又是指什么?
偏差和方差的分解,是对原始SSE部分进行分解,其中添加了一个常数项 E D [ f ^ D ] \mathbb{E}_{D}[\hat{f}_D] ED[f^D].
偏差是指数据真实值和模型平均预测值的偏差,偏差越小,模型的学习能力越强,能够很好的拟合数据;方差是值预测结果对数据集中数据扰动幅度的大小,方差越小,说明模型的抗干扰能力越强(不会随着数据集中数据的变动而对预测结果造成巨大的影响)。
-
相较于使用单个模型,bagging和boosting方法有何优势?
通过使用低偏差的学习其进行集成可以来降低模型的方差,
利用多个低方差的学习其进行集成可以来降低模型的偏差;
多个臭皮匠顶个诸葛亮。
bagging的话,有抽样,多个数据集之间肯定有差异,集成之后,可以稍微降低整体模型的方差;
boosting的话,会集中在减少原始训练的模型和真实值之间的差异带来的损失,这种训练会使得模型的偏差减小。
-
请叙述stacking的集成流程,并指出blending方法和它的区别。
-
什么是随机森林的oob得分?
-
随机森林是如何集成多个决策树模型的?
-
请叙述孤立森林的算法原理和流程。
这篇关于task 03 集成模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南