网站跳出率怎么计算,西宁做腋臭哪里北大DE网站,修水网站建设,外包公司被辞退有补偿吗本文是将文章《GBDT 算法的原理推导》中的公式单独拿出来做一个详细的解析#xff0c;便于初学者更好的理解。 公式(11-13)是GBDT算法的第一步#xff0c;它描述了如何初始化模型。公式如下#xff1a; f 0 ( x ) arg min c ∑ i 1 N L ( y i , c ) f_0(x) \arg \m…本文是将文章《GBDT 算法的原理推导》中的公式单独拿出来做一个详细的解析便于初学者更好的理解。 公式(11-13)是GBDT算法的第一步它描述了如何初始化模型。公式如下 f 0 ( x ) arg min c ∑ i 1 N L ( y i , c ) f_0(x) \arg \min_c \sum_{i1}^N L(y_i, c) f0(x)argcmini1∑NL(yi,c)
1. 公式(11-13)的意义
公式(11-13)用于初始化GBDT模型的预测值。在GBDT算法中模型 f ( x ) f(x) f(x) 是通过多棵树的组合逐步构建的而在开始构建任何一棵树之前我们需要一个初始的预测值 f 0 ( x ) f_0(x) f0(x)。
2. 为什么需要初始化模型
在GBDT的训练过程中每一轮都会通过一棵新树来“纠正”前面的模型。但是在第一轮时我们还没有任何树所以需要一个初始值。这个初始值 f 0 ( x ) f_0(x) f0(x) 是模型预测的起点后续的每棵树都基于它进行优化。
3. 如何确定初始值 f 0 ( x ) f_0(x) f0(x)
公式(11-13)告诉我们初始预测值 f 0 ( x ) f_0(x) f0(x) 是通过最小化所有样本的损失函数来确定的。具体来说
这里的 c c c 是一个常数表示所有样本统一的初始预测值。我们希望找到一个常数 c c c使得对于所有样本 ( x i , y i ) (x_i, y_i) (xi,yi) 的损失函数之和 ∑ i 1 N L ( y i , c ) \sum_{i1}^N L(y_i, c) ∑i1NL(yi,c) 最小。
4. 损失函数 L ( y i , c ) L(y_i, c) L(yi,c) 的作用
在GBDT中损失函数 L ( y , f ( x ) ) L(y, f(x)) L(y,f(x)) 用于衡量模型预测值 f ( x ) f(x) f(x) 与真实值 y y y 之间的差距。通过最小化损失函数我们可以得到一个合理的初始预测值。
对于不同的任务损失函数 L ( y , f ( x ) ) L(y, f(x)) L(y,f(x)) 会有所不同因此这个初始值的具体求法也会不同。常见的损失函数包括
平方损失用于回归任务 L ( y , f ( x ) ) ( y − f ( x ) ) 2 L(y, f(x)) (y - f(x))^2 L(y,f(x))(y−f(x))2对数损失用于二分类任务 L ( y , f ( x ) ) − [ y log f ( x ) ( 1 − y ) log ( 1 − f ( x ) ) ] L(y, f(x)) - [y \log f(x) (1 - y) \log (1 - f(x))] L(y,f(x))−[ylogf(x)(1−y)log(1−f(x))]
5. 不同损失函数下的初始值求解
下面我们分别介绍在常见损失函数下如何求解 f 0 ( x ) f_0(x) f0(x)
1平方损失用于回归任务
假设损失函数是平方损失即 L ( y i , c ) ( y i − c ) 2 L(y_i, c) (y_i - c)^2 L(yi,c)(yi−c)2
此时公式(11-13)变为 f 0 ( x ) arg min c ∑ i 1 N ( y i − c ) 2 f_0(x) \arg \min_c \sum_{i1}^N (y_i - c)^2 f0(x)argcmini1∑N(yi−c)2
这是一个简单的最小二乘问题。通过求导并让导数等于零我们可以得出最优的 c c c 值为所有 y i y_i yi 的均值 f 0 ( x ) 1 N ∑ i 1 N y i f_0(x) \frac{1}{N} \sum_{i1}^N y_i f0(x)N1i1∑Nyi
因此在平方损失的情况下GBDT的初始预测值就是所有样本目标值的均值。
2对数损失用于二分类任务
假设我们要解决一个二分类问题使用对数损失函数 L ( y i , c ) − [ y i log c ( 1 − y i ) log ( 1 − c ) ] L(y_i, c) - [y_i \log c (1 - y_i) \log (1 - c)] L(yi,c)−[yilogc(1−yi)log(1−c)]
在这种情况下公式(11-13)变为 f 0 ( x ) arg min c ∑ i 1 N − [ y i log c ( 1 − y i ) log ( 1 − c ) ] f_0(x) \arg \min_c \sum_{i1}^N - [y_i \log c (1 - y_i) \log (1 - c)] f0(x)argcmini1∑N−[yilogc(1−yi)log(1−c)]
通过对 c c c 求解我们可以得出 f 0 ( x ) f_0(x) f0(x) 为正类样本的比例即所有 y i y_i yi 的均值或者等价地初始预测值是正类概率的对数几率 f 0 ( x ) log ∑ i 1 N y i N − ∑ i 1 N y i f_0(x) \log \frac{\sum_{i1}^N y_i}{N - \sum_{i1}^N y_i} f0(x)logN−∑i1Nyi∑i1Nyi
6. 总结
公式(11-13)的作用是初始化GBDT模型使得初始预测值 f 0 ( x ) f_0(x) f0(x) 能够尽量接近真实值从而为后续的树提供一个合理的起点。通过最小化损失函数之和我们可以根据不同的损失函数类型选择合适的初始值例如
回归任务中使用平方损失的均值。分类任务中使用对数损失的对数几率。
这一初始化过程确保了GBDT的模型从一开始就具有一定的预测能力。 对数损失下的GBDT初始预测值f0(x) 的表达式 推导过程