决策树(decision tree)
熵(entropy)是随机变量不确定性的度量。随机变量
X
X
X的熵的定义为
H
(
X
)
=
H
(
p
)
=
−
∑
i
=
1
n
p
i
log
p
i
H(X)=H(p)=-\sum_{i=1}^np_i\log{p_i}
H(X)=H(p)=−i=1∑npilogpi
设有随机变量
(
X
,
Y
)
(X,Y)
(X,Y),其联合概率分布为:
P
(
X
=
x
i
,
Y
=
y
j
)
=
p
i
j
,
i
=
1
,
2
,
⋯
,
m
P(X=x_i,Y=y_j)=p_{ij},\ i=1,2,\cdots,m
P(X=xi,Y=yj)=pij, i=1,2,⋯,m
条件熵(conditional entropy)
H
(
Y
∣
X
)
H(Y|X)
H(Y∣X)表示在已知随机变量
X
X
X的条件下随机变量
Y
Y
Y的不确定性。定义为
X
X
X给定条件下
Y
Y
Y的条件概率分布的熵对
X
X
X的数学期望
H
(
Y
∣
X
)
=
∑
i
=
1
n
p
i
H
(
Y
∣
X
=
x
i
)
H(Y|X)=\sum_{i=1}^np_iH(Y|X=x_i)
H(Y∣X)=i=1∑npiH(Y∣X=xi)
其中,
p
i
=
P
(
X
=
x
i
)
,
i
=
1
,
2
,
⋯
,
n
.
p_i=P(X=x_i),\ i=1,2,\cdots ,n.
pi=P(X=xi), i=1,2,⋯,n.
熵和条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。令
0
log
0
=
0
0\log0=0
0log0=0。
信息增益:特征
A
A
A对训练数据集
D
D
D的信息增益
g
(
D
,
A
)
g(D,A)
g(D,A),定义为集合
D
D
D的经验熵
H
(
D
)
H(D)
H(D)与特征
A
A
A给定条件下
D
D
D的经验条件熵
H
(
D
∣
A
)
之
差
,
即
:
H(D|A)之差,即:
H(D∣A)之差,即:
g
(
D
,
A
)
=
H
(
D
)
−
H
(
D
∣
A
)
g(D,A)=H(D)-H(D|A)
g(D,A)=H(D)−H(D∣A)
信息增益的算法
输入:训练数据集
D
D
D和特征
A
A
A
输出: 特征
A
A
A对训练数据集
D
D
D的信息增益
g
(
D
,
A
)
。
g(D,A)。
g(D,A)。
(1)计算数据集
D
D
D的经验熵
H
(
D
)
H(D)
H(D)
H
(
D
)
=
−
∑
k
=
1
k
∣
C
k
∣
∣
D
∣
log
2
∣
C
k
∣
∣
D
∣
H(D)=-\sum_{k=1}^k\frac{\lvert C_k\lvert}{\lvert D \lvert}\log_2\frac{\lvert C_k \lvert}{\lvert D \lvert}
H(D)=−k=1∑k∣D∣∣Ck∣log2∣D∣∣Ck∣
(2)计算特征
A
A
A对数据集
D
D
D的经验条件熵
H
(
D
∣
A
)
H(D\lvert A)
H(D∣A)
H
(
D
∣
A
)
=
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
H
(
D
i
)
=
−
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
∑
k
=
1
k
∣
D
i
k
∣
∣
D
i
∣
log
2
∣
D
i
k
∣
∣
D
i
∣
\begin{aligned} H(D|A)&=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i) \\ &=-\sum_{i=1}^n\frac{|D_i|}{|D|}\sum_{k=1}^k\frac{|D_{ik}|}{|D_i|}\log_2\frac{|D_{ik}|}{|D_i|} \end{aligned}
H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)=−i=1∑n∣D∣∣Di∣k=1∑k∣Di∣∣Dik∣log2∣Di∣∣Dik∣
(3)计算信息增益
g
(
D
,
A
)
=
H
(
D
)
−
H
(
D
∣
A
)
g(D,A)=H(D)-H(D|A)
g(D,A)=H(D)−H(D∣A)
信息增益比
特征
A
A
A对训练数据集
D
D
D的信息增益比
g
R
(
D
,
A
)
g_R(D,A)
gR(D,A)定义为其信息增益
g
(
D
,
A
)
g(D,A)
g(D,A)与训练数据集
D
D
D关于特征
A
A
A的值的熵
H
A
(
D
)
H_A(D)
HA(D)之比,即
g
R
(
D
,
A
)
=
g
(
D
,
A
)
H
A
(
D
)
g_R(D,A)=\frac{g(D,A)}{H_A(D)}
gR(D,A)=HA(D)g(D,A)
其中,
H
A
(
D
)
=
−
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
log
2
∣
D
i
∣
∣
D
∣
H_A(D)=-\sum_{i=1}^n\frac{|D_i|}{|D|}\log_2\frac{|D_i|}{|D|}
HA(D)=−∑i=1n∣D∣∣Di∣log2∣D∣∣Di∣,
n
n
n是特征
A
A
A取值的个数。
决策树生成算法
- ID3 算法 → \rightarrow → 信息增益准则选择特征,选择信息增益最大的特征作为结点的特征
- C4.5 算法 → \rightarrow → 用信息增益比来选择特征
剪枝
决策树的剪枝往往通过极小化决策树整体的损失函数(loss function)或代价函数(cost function)来实现。
树的节点分为内部节点和叶节点。
设树
T
T
T的叶节点的个数为
∣
T
∣
|T|
∣T∣,
t
t
t是树
T
T
T的叶节点,该叶节点有
N
t
N_t
Nt个样本点,其中
k
k
k类的样本点有
N
t
k
N_{tk}
Ntk个,
k
=
1
,
2
,
⋯
,
K
,
H
t
(
T
)
k=1,2,\cdots,K,H_t(T)
k=1,2,⋯,K,Ht(T)为叶节点
t
t
t上的经验熵,
α
≥
0
\alpha \ge 0
α≥0为参数,则决策树学习的损失函数可以定义为:
C
α
(
T
)
=
∑
t
=
1
∣
T
∣
N
t
H
t
(
T
)
+
α
∣
T
∣
C_\alpha(T)=\sum_{t=1}^{|T|}N_tH_t(T)+\alpha |T|
Cα(T)=t=1∑∣T∣NtHt(T)+α∣T∣
其中经验熵为
H
t
(
T
)
=
−
∑
k
N
t
k
N
t
log
N
t
k
N
t
H_t(T)=-\sum_{k}\frac{N_{tk}}{N_t}\log\frac{N_{tk}}{N_t}
Ht(T)=−k∑NtNtklogNtNtk
记:
C
(
T
)
=
∑
t
=
1
∣
T
∣
N
t
H
t
(
T
)
=
−
∑
t
=
1
∣
T
∣
∑
k
=
1
K
N
t
k
log
N
t
k
N
t
\begin{aligned} C(T)&=\sum_{t=1}^{|T|}N_tH_t(T) \\ &=-\sum_{t=1}^{|T|}\sum_{k=1}^KN_{tk}\log\frac{N_{tk}}{N_t} \end{aligned}
C(T)=t=1∑∣T∣NtHt(T)=−t=1∑∣T∣k=1∑KNtklogNtNtk
这时有:
C
α
(
T
)
=
C
(
T
)
+
α
∣
T
∣
C_\alpha(T)=C(T)+\alpha|T|
Cα(T)=C(T)+α∣T∣
C
(
T
)
C(T)
C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,
∣
T
∣
|T|
∣T∣表示模型复杂度,参数
α
≥
0
\alpha \ge 0
α≥0控制两者之间的影响。较大的
α
\alpha
α促使选择较简单的模型(树),较小的
α
\alpha
α促使选择较复杂的模型(树)。
α
=
0
\alpha=0
α=0意味着只考虑模型与训练数据的拟合程度,不考虑模型的复杂度。
树的剪枝算法
输入:生成算法产生的整个树
T
T
T,参数
α
\alpha
α
输出:修剪后的子树
T
α
T_\alpha
Tα
- 计算每个结点的经验熵。
- 递归地从树的叶结点向上回缩。
设一组叶结点回缩到其父结点之前和之后的整体树分别为 T B T_B TB与 T A T_A TA,其对应的损失函数值分别是 C α ( T B ) C_\alpha(T_B) Cα(TB)与 C α ( T A ) C_\alpha(T_A) Cα(TA),如果
C α ( T A ) ≤ C α ( T B ) C_\alpha(T_A) \le C_\alpha(T_B) Cα(TA)≤Cα(TB)
则进行剪枝,即将父结点变为新的叶结点。 - 返回2,直至不能继续为止,得到损失函数最小的子树 T α T_\alpha Tα
CART(classification and regression tree)算法
CART(分类与回归树)假设决策树为二叉树。
- 回归树 → \rightarrow → 平方误差最小化准则
- 分类树 → \rightarrow → 基尼指数(Gini index)最小化准则
最小二乘回归树生成算法
输入:训练数据集
D
D
D;
输出:回归树
f
(
x
)
f(x)
f(x)
在训练数据集所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树:
- 选择最优切分变量
j
j
j与切分点
s
s
s,求解
min j , s [ min c 1 ∑ x i ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + min c 2 ∑ x i ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ] \min_{j,s} \left[ \min_{c_1} \sum_{x_i\in R_1(j,s)}(y_i-c_1)^2 + \min_{c_2}\sum_{x_i \in R_2(j,s)}(y_i-c_2)^2\right] j,smin⎣⎡c1minxi∈R1(j,s)∑(yi−c1)2+c2minxi∈R2(j,s)∑(yi−c2)2⎦⎤
遍历变量 j j j,对固定的切分变量 j j j扫描切分的 s s s,选择使上式达到最小值的对 ( j , s ) (j,s) (j,s) - 用选定的对
(
j
,
s
)
(j,s)
(j,s)划分区域并决定相应的输出值:
R 1 ( j , s ) = { x ∣ x ( j ) ≤ s } , R 2 ( j , s ) = { x ∣ x ( j ) > s } R_1(j,s)=\{ x|x^{(j)} \le s \},\ R_2(j,s)=\{ x|x^{(j)} \gt s \} R1(j,s)={x∣x(j)≤s}, R2(j,s)={x∣x(j)>s}
c ^ m = 1 N m ∑ x i ∈ R m ( j , s ) y i , x ∈ R m , m = 1 , 2 \hat{c}_m = \frac{1}{N_m} \sum_{x_i \in R_m(j,s)}y_i \ ,x \in R_m, m=1,2 c^m=Nm1xi∈Rm(j,s)∑yi ,x∈Rm,m=1,2 - 继续对两个子区域调用步骤1、2,直至满足停止条件。
- 将输入空间划分为
M
M
M个区域
R
1
,
R
2
,
⋯
,
R
M
R_1,R_2,\cdots,R_M
R1,R2,⋯,RM,生成决策树:
f ( x ) = ∑ m = 1 M c ^ m I ( x ∈ R m ) f(x)=\sum_{m=1}^M \hat{c}_mI(x \in R_m) f(x)=m=1∑Mc^mI(x∈Rm)
分类树
基尼指数
分类问题中,假设有
K
K
K个类,样本点属于第
k
k
k类的概率为
p
k
p_k
pk,则概率分布的基尼指数定义为
G
i
n
i
(
p
)
=
∑
k
=
1
K
p
k
(
1
−
p
k
)
=
1
−
∑
k
=
1
K
p
k
2
Gini(p)=\sum_{k=1}^Kp_k(1-p_k)=1-\sum_{k=1}^K{p_k}^2
Gini(p)=k=1∑Kpk(1−pk)=1−k=1∑Kpk2
对于二分类问题,若样本点属于第1类的概率是
p
p
p,则概率分布的的基尼指数为
G
i
n
i
(
p
)
=
2
p
(
1
−
p
)
Gini(p)=2p(1-p)
Gini(p)=2p(1−p)
对于给定的样本集合
D
D
D,其基尼指数为
G
i
n
i
(
D
)
=
1
−
∑
k
=
1
K
(
∣
C
k
∣
∣
D
∣
)
2
Gini(D)=1-\sum_{k=1}^K \left( \frac{|C_k|}{|D|} \right)^2
Gini(D)=1−k=1∑K(∣D∣∣Ck∣)2
其中,
C
k
C_k
Ck是
D
D
D中属于第
k
k
k类的样本子集,
K
K
K是类的个数。
如果样本集合
D
D
D根据特征
A
A
A是否取某一可能值
a
a
a被分割成
D
1
D_1
D1和
D
2
D_2
D2两部分,即
D
1
=
{
(
x
,
y
)
∈
D
∣
A
(
x
)
=
a
}
,
D
2
=
D
−
D
1
D_1=\{ (x,y) \in D \ |\ A(x)=a\},\ D_2=D-D_1
D1={(x,y)∈D ∣ A(x)=a}, D2=D−D1
则在特征
A
A
A的条件下,集合
D
D
D的基尼指数定义为
G
i
n
i
(
D
,
A
)
=
∣
D
1
∣
∣
D
∣
G
i
n
i
(
D
1
)
+
∣
D
2
∣
∣
D
∣
G
i
n
i
(
D
2
)
Gini(D,A)=\frac{|D_1|}{|D|}Gini(D_1)+\frac{|D_2|}{|D|}Gini(D_2)
Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
基尼指数
G
i
n
i
(
D
)
Gini(D)
Gini(D)表示集合
D
D
D的不确定性,基尼指数
G
i
n
i
(
D
,
A
)
Gini(D,A)
Gini(D,A)表示经
A
=
a
A=a
A=a分割后集合
D
D
D的不确定性。基尼指数值越大,样本集合的不确定性也就越大,这一点与熵相似。
CART生成算法
输入:训练数据集
D
D
D,停止计算的条件
输出:CART决策树
根据训练数据集,从根结点开始,递归地对每个结点进行以下操作,构建二叉决策树:
- 设结点的训练数据集为 D D D,计算现有特征对该数据集的基尼指数。此时,对每一个特征 A A A,对其可能取的每个值 a a a,根据样本点对 A = a A=a A=a的测试为“是”或“否”将 D D D分割成 D 1 D_1 D1和 D 2 D_2 D2两部分,计算 A = a A=a A=a时的基尼指数。
- 在所有可能的特征 A A A以及它们所有可能的切分点 a a a中,选择基尼指数最小的特征及其对应的切分点作为最优特征与最优切分点。依最优特征与最优切分点,从现结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。
- 对两个子结点递归地调用1、2,直至满足停止条件。
- 生成CART决策树。
CART剪枝
CART剪枝算法由两步组成:
- 从生成算法产生的决策树 T 0 T_0 T0底端开始不断剪枝,直到 T 0 T_0 T0的根结点,形成一个子树序列 { T 0 , T − 1 , ⋯ , T n } \{T_0,T-1,\cdots,T_n\} {T0,T−1,⋯,Tn}
- 通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。
剪枝过程中,计算子树的损失函数:
C α ( T ) = C ( T ) + α ∣ T ∣ C_\alpha(T)=C(T)+\alpha\ |T| Cα(T)=C(T)+α ∣T∣
其中,
T
T
T为任意子树,
C
(
T
)
C(T)
C(T)为对训练数据的预测误差(如基尼指数),
∣
T
∣
|T|
∣T∣为子树的叶结点个数,
α
≥
0
\alpha \ge 0
α≥0为参数,
C
α
(
T
)
C_\alpha(T)
Cα(T)为参数是
α
\alpha
α时的子树
T
T
T的整体损失。参数
α
\alpha
α权衡训练数据的拟合程度与模型的复杂度。
当
α
\alpha
α大的时候,最优子树
T
α
T_\alpha
Tα偏小;当
α
\alpha
α小的时候,最优子树
T
α
T_\alpha
Tα偏大。极端情况下,当
α
=
0
\alpha=0
α=0时,整体树是最优的。当
α
→
∞
\alpha \rightarrow \infty
α→∞时,根结点组成的单节点树是最优的。
可以用递归的方法对数进行剪枝。将
α
\alpha
α从小增大
0
=
α
0
<
α
1
<
⋯
<
α
n
<
+
∞
0=\alpha_0 \lt \alpha_1 \lt \cdots \lt \alpha_n \lt +\infty
0=α0<α1<⋯<αn<+∞,产生一系列的区间
[
α
i
,
α
i
+
1
)
,
i
=
0
,
1
,
⋯
,
n
[\alpha_i,\alpha_{i+1}),i=0,1, \cdots,n
[αi,αi+1),i=0,1,⋯,n;剪枝得到的子树序列对应着
α
∈
[
α
i
,
α
i
+
1
)
,
i
=
0
,
1
,
⋯
,
n
\alpha \in [\alpha_i,\alpha_{i+1}),i=0,1,\cdots,n
α∈[αi,αi+1),i=0,1,⋯,n的最优子树序列
{
T
0
,
T
−
1
,
⋯
,
T
n
}
\{T_0,T-1,\cdots,T_n\}
{T0,T−1,⋯,Tn},序列中的子树是嵌套的。
具体地,从整体树
T
0
T_0
T0开始剪枝。对
T
0
T_0
T0的任意内部结点
t
t
t,以
t
t
t为单结点树的损失函数是
C
α
(
t
)
=
C
(
t
)
+
α
C_\alpha(t)=C(t)+\alpha
Cα(t)=C(t)+α
以
t
t
t为根结点的子树
T
t
T_t
Tt的损失函数是
C
α
(
T
t
)
=
C
(
T
t
)
+
α
∣
T
t
∣
C_\alpha(T_t)=C(T_t)+\alpha|T_t|
Cα(Tt)=C(Tt)+α∣Tt∣
当
α
=
0
\alpha=0
α=0及
α
\alpha
α充分小时,有不等式
C
α
(
T
t
)
<
C
α
(
t
)
C_\alpha(T_t) < C_\alpha(t)
Cα(Tt)<Cα(t)
当
α
\alpha
α增大时,在某一
α
\alpha
α有
C
α
(
T
t
)
=
C
α
(
t
)
C_\alpha(T_t) = C_\alpha(t)
Cα(Tt)=Cα(t)
当
α
\alpha
α再增大时,
C
α
(
T
t
)
>
C
α
(
t
)
C_\alpha(T_t) > C_\alpha(t)
Cα(Tt)>Cα(t).只有
α
=
C
(
t
)
−
C
(
T
t
)
∣
T
t
∣
−
1
\alpha=\frac{C(t)-C(T_t)}{|T_t|-1}
α=∣Tt∣−1C(t)−C(Tt),
T
t
T_t
Tt与
t
t
t有相同的损失函数值,而
t
t
t的结点少,因此
t
t
t比
T
t
T_t
Tt更可取,对
T
t
T_t
Tt进行剪枝。
为此,对
T
0
T_0
T0中每一内部结点
t
t
t计算
g
(
t
)
=
C
(
t
)
−
C
(
T
t
)
∣
T
t
∣
−
1
g(t)=\frac{C(t)-C(T_t)}{|T_t|-1}
g(t)=∣Tt∣−1C(t)−C(Tt)
它表示剪枝后整体损失函数减少的程度。在
T
0
T_0
T0中剪去
g
(
t
)
g(t)
g(t)最小的
T
t
T_t
Tt,将得到的子树作为
T
1
T_1
T1,同时将最小的
g
(
t
)
g(t)
g(t)设为
α
1
\alpha_1
α1.
T
1
T_1
T1为区间
[
α
1
,
α
2
)
[\alpha_1,\alpha_2)
[α1,α2)的最优子树。
如此剪下去,直至得到根结点。在这一过程中,不断地增加
α
\alpha
α的值,产生新的区间。
CART剪枝算法
输入:CART算法生成的决策树
T
0
T_0
T0
输出:最优决策树
T
0
T_0
T0
- 设 k = 0 , T = T 0 k=0,T=T_0 k=0,T=T0
- 设 α = + ∞ \alpha=+\infty α=+∞
- 自下而上地对各内部结点
t
t
t计算
C
(
T
t
)
C(T_t)
C(Tt),
∣
T
t
∣
|T_t|
∣Tt∣以及
g ( t ) = C ( t ) − C ( T t ) ∣ T t ∣ − 1 α = m i n ( α , g ( t ) ) g(t)=\frac{C(t)-C(T_t)}{|T_t|-1} \\ \alpha=min(\alpha,g(t)) g(t)=∣Tt∣−1C(t)−C(Tt)α=min(α,g(t))
这里, T t T_t Tt表示以 t t t为根结点的子树, C ( T t ) C(T_t) C(Tt)是对训练数据的预测误差, ∣ T t ∣ |T_t| ∣Tt∣是 T t T_t Tt的叶结点个数。 - 对 g ( t ) = a g(t)=a g(t)=a的内部结点 t t t进行剪枝,并对叶结点 t t t以多数表决法决定其分类,得到树 T T T
- 设 k = k + 1 , α k = α , T k = T k=k+1,\alpha_k=\alpha,T_k=T k=k+1,αk=α,Tk=T
- 如果 T k T_k Tk不是有根结点及两个叶结点构成的树,则回到步骤3,否则令 T k = T n T_k=T_n Tk=Tn
- 采用交叉验证法在子树序列 T 0 , T 1 , ⋯ , T n T_0,T_1,\cdots,T_n T0,T1,⋯,Tn中选取最优子树 T α T_\alpha Tα。
提升方法(boosting)
AdaBoost算法
例子
训练数据表:
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 8 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
y | 1 | 1 | 1 | -1 | -1 | -1 | 1 | 1 | 1 | -1 |
前向分步算法(forward stagewise algorithm)
每一步都只学习一个基函数及其系数。
AdaBoost算法是前向分步加法算法的特例。
提升树(boosting tree)
以分类树或回归树为基本分类器。提升方法采用加法模型与前向分步算法。决策树为二叉树或二叉回归树。
f
M
(
x
)
=
∑
m
=
1
M
T
(
x
;
Θ
m
)
f_M(x)=\sum_{m=1}^MT(x;\Theta_m)
fM(x)=m=1∑MT(x;Θm)
其中,
T
(
x
;
Θ
m
)
T(x;\Theta_m)
T(x;Θm)表示决策树;
Θ
m
\Theta_m
Θm为决策树的参数;
M
M
M为树的个数。
Θ
^
m
=
a
r
g
min
Θ
m
∑
m
=
1
N
L
(
y
i
,
f
m
−
1
(
x
i
)
+
T
(
x
i
;
Θ
m
)
)
\hat{\Theta}_m=arg \ \min_{\Theta_m} \sum_{m=1}^N L(y_i,f_{m-1}(x_i)+T(x_i;\Theta_m))
Θ^m=arg Θmminm=1∑NL(yi,fm−1(xi)+T(xi;Θm))
损失函数
平方误差损失函数
→
\to
→ 回归问题
指数损失函数
→
\to
→ 分类问题
一般损失函数
→
\to
→ 一般决策问题
梯度提升(gradient boosting)
梯度提升树GBDT
关键是利用损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,拟合一个回归树。
−
[
∂
L
(
y
,
f
(
x
i
)
)
∂
f
(
x
i
)
]
-\left[ \frac{\partial L(y,f(x_i))}{\partial f(x_i)} \right]
−[∂f(xi)∂L(y,f(xi))]
讲解GBDT的一个不错的博客
结合下面帮助理解
l
e
a
r
n
r
a
t
e
:
0.1
⇒
1.475
−
0.1
×
0.375
=
1.4375
learn rate:0.1 \Rightarrow 1.475-0.1\times0.375=1.4375
learnrate:0.1⇒1.475−0.1×0.375=1.4375
index | id | age | weight | label | f_0 | res_1 | f_1 | res_2 | f_2 | res_3 | f_3 | res_4 | f_4 | res_5 | f_5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 5 | 20 | 1.1 | 1.475 | -0.375 | 1.4375 | -0.3375 | 1.40375 | -0.30375 | 1.373375 | -0.273375 | 1.346037 | -0.246037 | 1.321434 |
1 | 2 | 7 | 30 | 1.3 | 1.475 | -0.175 | 1.4575 | -0.1575 | 1.44175 | -0.14175 | 1.427575 | -0.127575 | 1.414818 | -0.114818 | 1.403336 |
2 | 3 | 21 | 70 | 1.7 | 1.475 | 0.225 | 1.4975 | 0.2025 | 1.51775 | 0.18225 | 1.535975 | 0.164025 | 1.552377 | 0.147622 | 1.567140 |
3 | 4 | 30 | 60 | 1.8 | 1.475 | 0.325 | 1.5075 | 0.2925 | 1.53675 | 0.26325 | 1.563075 | 0.236925 | 1.586768 | 0.213232 | 1.608091 |
l e a r n r a t e : 0.2 ⇒ 1.475 − 0.2 × 0.375 = 1.4 learn rate:0.2 \Rightarrow 1.475-0.2\times 0.375 = 1.4 learnrate:0.2⇒1.475−0.2×0.375=1.4
index | id | age | weight | label | f_0 | res_1 | f_1 | res_2 | f_2 | res_3 | f_3 | res_4 | f_4 | res_5 | f_5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 5 | 20 | 1.1 | 1.475 | -0.375 | 1.40 | -0.30 | 1.340 | -0.240 | 1.2920 | -0.1920 | 1.25360 | -0.15360 | 1.222880 |
1 | 2 | 7 | 30 | 1.3 | 1.475 | -0.175 | 1.44 | -0.14 | 1.412 | -0.112 | 1.3896 | -0.0896 | 1.37168 | -0.07168 | 1.357344 |
2 | 3 | 21 | 70 | 1.7 | 1.475 | 0.225 | 1.52 | 0.18 | 1.556 | 0.144 | 1.5848 | 0.1152 | 1.60784 | 0.09216 | 1.626272 |
3 | 4 | 30 | 60 | 1.8 | 1.475 | 0.325 | 1.54 | 0.26 | 1.592 | 0.208 | 1.6336 | 0.1664 | 1.66688 | 0.13312 | 1.693504 |