机器学习知识点:模型加权集成7种方法

在竞赛中如果对多个预测结果进行集成,最方便的做法是直接对预测结果进行加权求和。此时不同任务,加权方法不同:

  • 分类任务:类别投票 & 概率值加权

  • 回归任务:预测值加权

  • 排序任务:排序次序加权

  • 目标检测任务:预测结果NMS

  • 语义分割任务:像素类别投票 & 加权

在本文中我们将介绍最常见的分类 & 回归任务的结果加权方法,也就是Blend操作。

技术提升

项目代码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:dkl88191,备注:来自CSDN
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

多样性 & 精度差异

在对结果进行集成时需要考虑如下两点:

  • 模型的多样性:

  • 模型的精度差异;

集成学习的精度收益是需要模型&预测结果的多样性,如果多样性不足,则最终预测结果和单个模型类似。

精度差异是指模型之间的精度差异,如果精度差异很大最终集成的效果也不会很好。如下情况2的模型精度差异就较大。

三个模型精度:[0.9, 0.92, 0.92]
三个模型精度:[0.9, 0.8, 0.7]

Out of fold

Out of fold又名袋外预测,是一个模型在交叉验证的过程中使用训练部分进行训练,然后对验证集进行预测,交替得到训练集和测试集预测结果。

如果我们拥有三个模型,通过交叉验证可以得到3个训练集预测结果和3个验证集预测结果。

如下展示的几种方法,都需要训练集标签 与 训练集预测结果搜索得到参数,然后将参数在测试集上进行使用。

方法1:均值加权

  • 原理:对所有模型的预测结果计算均值;

  • 优点:简单,过拟合可能性低;

  • 缺点:会受到模型原始精度差异的影响;

oof_preds = []
for col in oofCols:
    oof_preds.append(oof_df[col])

y_avg = np.mean(np.array(oof_preds), axis=0)

方法2:权重加权

  • 原理:对所有模型的预测结果加权求和;

  • 优点:比均值更加可控;

  • 缺点:权重需人工设置,更容易过拟合;

weights = [1,2,3]
y_wtavg = np.zeros(len(oof_df))

for wt, col in zip(weights, oofCols):
    y_wtavg += (wt*oof_df[col])

y_wtavg = y_wtavg / sum(weights)

方法3:排序加权

  • 原理:对预测结果进行排序,使用次序代替原始取值;

  • 优点:适合分类任务,对概率进行集成;

  • 缺点:会受到模型原始精度差异的影响;

rankPreds = []
for i, col in enumerate(oofCols):
    rankPreds.append(oof_df[col].rank().values)

y_rankavg = np.mean(np.array(rankPreds), axis=0)

方法4:排序权重加权

  • 原理:对预测结果进行排序,使用次序进行加权求和;

  • 优点:比均值更加可控;

  • 缺点:权重需人工设置,更容易过拟合;

rankPreds = []
weights = [1,2,3]

for i, col in enumerate(oofCols):
    rankPreds.append(oof_df[col].rank().values * weights[i])


y_rankavg = np.mean(np.array(rankPreds), axis=0)

方法5:爬山法加权

  • 原理:权重进行搜索,保留最优的权重;

  • 优点:可以自动权重权重大小;

  • 缺点:更容易过拟合;

for w1 in np.linspace(0, 1, 100):
  for w2 in np.linspace(0, w2, 100):
    w3 = 1 - w1 - w3
    
    如果 w1, w2, w3取得更好的精度,保留权重
    否则尝试下一组权重组合

方法6:线性回归加权

  • 原理:使用线性回归确定权重

  • 优点:可以自动权重权重大小;

  • 缺点:需要额外训练,容易过拟合;

from sklearn.linear_model import LinearRegression

lr = LinearRegression(fit_intercept=False)
lr.fit(
   三个模型对训练集预测结果,
   训练集标签
)

lr.coef_ # 线性回归的权重

方法7:参数优化加权

  • 原理:使用优化方法搜索权重

  • 优点:可以自动权重权重大小;

  • 缺点:需要额外训练,容易过拟合;

def f(x):
    return x[0]**2 + x[1]**2 + (5 - x[0] - x[1])
    
from scipy import optimize
minimum = optimize.fmin(f, [1, 1])
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 机器学习模型加权融合是指将多个不同的机器学习模型进行组合,以期望得到更准确的预测结果。这方法是建立在一个假设上,即不同的模型有时会产生不同的误差,因此我们可以通过将它们的结果进行加权平均来减少这误差。 在加权融合中,每个模型都被分配一个权重,该权重表示它对最终预测结果的贡献。这些权重可以由各方法确定,例如基于训练集上的表现、基于交叉验证的表现等。然后,我们使用这些权重将每个模型的预测结果加权平均,以得到最终的预测结果。 加权融合的优点是可以利用多个模型的优点,从而获得更准确的预测结果。此外,这方法也可以提高模型的鲁棒性,因为它可以减少模型的误差。然而,加权融合的缺点是需要训练和评估多个模型,这会消耗更多的计算资源和时间。 ### 回答2: 机器学习模型加权融合是指将多个机器学习模型的预测结果进行加权组合,以得到更好的预测结果。在机器学习中,我们通常会训练不同的模型,每个模型都有自己的优点和缺点。加权融合的目的是通过综合多个模型的预测结果,提高整体的预测准确性和鲁棒性。 在进行加权融合时,我们需要确定每个模型的权重。权重的选择非常重要,它决定了每个模型预测结果对最终结果的贡献程度。通常,权重可以根据模型在验证集上的表现来确定,也可以通过交叉验证等方法进行选择。 加权融合可以采用多算法进行处理。其中一常见的方法是简单加权平均,即对每个模型的预测结果进行加权平均。另一方法是按照模型预测结果的置信度进行加权,即将置信度高的模型预测结果赋予更高的权重。此外,还有一些更复杂的方法,如堆叠模型和投票融合等。 加权融合的优点在于能够结合多个模型的优点,弥补单个模型的局限性。通过合理选择权重,可以有效地提高预测的准确性和鲁棒性。此外,加权融合还可以降低过拟合的风险,提高模型的泛化能力。 总结而言,机器学习模型加权融合是一将多个模型的预测结果进行综合考虑的方法。通过选择合适的权重,可以得到更准确和鲁棒的预测结果。这是一常用的机器学习技术,广泛应用于各领域的数据分析和预测任务中。 ### 回答3: 机器学习模型加权融合是一通过将多个机器学习模型结合起来,赋予每个模型不同的权重,从而得到更加准确和鲁棒的预测结果的方法。该方法基于一个假设,即不同的机器学习模型可能在不同的数据子集或特征集上表现更好,因此将它们合并可以提高整体的预测性能。 在加权融合中,首先需要选择多个机器学习模型,可以是同一类别的模型(如多个决策树或支持向量机),也可以是不同类别的模型(如决策树和神经网络)。然后,根据模型在训练集上的性能,为每个模型分配一个权重。一般而言,性能较好的模型会获得更高的权重。 选择合适的权重分配方法加权融合的关键。常见的方法包括基于性能评估指标(如准确率或均方误差)的静态分配、基于模型结果的动态分配(如通过交叉验证得到每个样本的权重)等。同时,还可以采用启发式算法来优化权重的分配,如遗传算法或模拟退火算法。 当得到每个模型的权重后,将它们应用于测试集或新的未见样本,进行预测。一简单的加权融合方法是将不同模型的预测结果相加或取平均值,按照权重对结果进行加权。还可以使用更复杂的方法,如基于概率的加权融合,将预测结果转化为概率分布,再根据权重进行融合。 机器学习模型加权融合的优点是可以充分利用多个模型的优势,提高预测性能和鲁棒性。同时,该方法还可以减少个别模型的过拟合或欠拟合问题,提高整体模型的泛化能力。然而,加权融合的权重分配和模型选择都需要经验和调优,否则可能导致过拟合或低效的模型融合效果。因此,在实际应用中需要进行实验和验证,选择最适合的加权融合策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值