零基础入门推荐系统——task05: 排序模型+模型融合

经过前面的候选文章召回和特征工程,将文章和用户点击日志信息处理成监督学习数据集,接下来就使用排序模型或二分类模型搭建模型进行学习,对测试集进行预测,得到测试集中的每个候选集用户点击文章的概率,返回点击概率最大的topk篇文章,作为最终输出结果。

排序模型选择三个比较有代表型的模型:

  1. LGB的排序模型
  2. LGB的分类模型
  3. 深度学习的分类模型DIN

集成学习方法(其实LightGBM也是集成学习模型的一种,这里是从单模型结果与多个模型的区分):

  1. 三个模型输出结果的加权融合
    加权融合:根据模型训练效果给模型不同的权重,然后求和得到最终文章点击的概率

  2. Stacking(使用5折交叉验证将模型输出结果作为特征,再使用简单模型logistic模型进行训练)
    stacking方法,实施过程可以看下图:

    stacking_flow.jpg

    (图片转自这里)
    stacking是一种分层模型框架,对于两层stacking,第一层由多个基学习器组成,输入为原始训练集,第二层是将第一层基学习器的输出作为特征加入训练集进行训练,从而得到整个stacking模型。

    上图划分步骤:

    1. 通过k-flod的方式将training data划分成5份,基学习器训练五轮后分别得到每轮training data划分的一份验证集预测结果,将五份验证集的预测结果堆叠起来得到全部训练集的新特征,若有多个基学习器则生成多个新特征;
    2. 基学习器得到的新特征加入训练集中,使用二分类模型进行训练;
    3. 针对test data的预测,使用每个基学习器训练得到的5个模型分别预测,将预测结果求平均获得对应基学习器的预测特征,将预测结果带入data中使用第二层模型预测得到最终预测结果。

你可能感兴趣的:(零基础入门推荐系统——task05: 排序模型+模型融合)