集成学习5: LightGBM实战

学习内容:

LightGBM(Light Gradient Boosting Machine)是微软开源的一个实现 GBDT 算法的框架,支持高效率的并行训练。LightGBM 提出的主要原因是为了解决 GBDT 在海量数据遇到的问题。本次学习内容包括使用LightGBM完成各种操作,包括竞赛和数据挖掘中的模型训练、验证和调参过程。

打卡汇总:

任务名称 难度、分数 所需技能
任务1模型训练与预测 低、1 LightGBM
任务2:模型保存与加载 低、1 LightGBM
任务3:分类、回归和排序任务 高、3 LightGBM
任务4:模型可视化 低、1 graphviz
任务5:模型调参(网格、随机、贝叶斯) 中、2 模型调参
任务6:模型微调与参数衰减 中、2 LightGBM
任务7:特征筛选方法 高、3 特征筛选方法
任务8:自定义损失函数 中、2 损失函数&评价函数
任务9:模型部署与加速 高、3 Treelite
阅读更多
2021使用hexo+github搭建个人博客阅读更多
学习笔记10:统计学习方法_——HMM和CRF阅读更多
task3:新闻推荐系统项目调试

0 项目运行环境

0.1 获取软件安装包
软件安装包地址:https://share.weiyun.com/u3ZIjZfg

阅读更多
task2:新闻推荐系统项目搭建:centos下前端配置

@[toc]

0.解决npm命令语法不正确问题

0.1 powershell报错

在这里插入图片描述
解决方案:
根据上面提升报错的环境变量把环境变量Path中含有 ; 的分开写

阅读更多
task1:新闻推荐系统项目搭建:数据库安装与使用

@[toc]

参考:Mysql基础.md
本项目来自《fun-rec/docs/第二章 推荐系统实战/2.2新闻推荐系统实战/》
【交流分享-腾讯微云】

 vim /etc/resolv.conf
#Google
nameserver 8.8.8.8
nameserver 8.8.4.4

conda activate
  1. mysql命令

阅读更多
task0:Fun-Rec推荐系统视频讲解

视频讲解地址:Task01:熟悉推荐系统基本流程
推荐系统项目网页地址

一、简介

本项目是离线的推荐系统。即不是实时的通过用户 ID 等信息通过模型实时、动态地获取用户的推荐列表,而是==提前已经把用户的这个推荐列表计算好了,用Redis存到了这个倒排索引表里面。我们线下线上真正要做的事情就是从这个 Redis 里面去拉取就够了。所以这里可能就会存在一个 T + 1 的延迟。(后面一天才会更新前一天的动态数据)==

推荐系统架构如下图:

阅读更多
学习笔记8:transformers

一、attention

1.1循环神经网络的不足:

  • 长距离衰减问题
  • 解码阶段,越靠后的内容,翻译效果越差
  • 解码阶段缺乏对编码阶段各个词的直接利用

    1.2 attention在机器翻译的优点

  1. 使用全部token信息而非最后时刻的context信息。由此在解码时每时刻可以计算attention权重,让输出对输入进行聚焦的能力,找到此时刻解码时最该注意的词。
  2. attention的计算是序列各tokens的v向量和attention权重加权求和,每个词关注到所有词,一步到位,不存在长距离衰减
  3. 可以关注到不同位置的词语,而且使用多头和多层注意力、加入FFNN,表达能力更强。
阅读更多
集成学习3: XGBoost&LightGBM

一、XGBoost

XGBoost官方文档

1.1 XGBoost原理及构建

XGBoost本质上还是一个GBDT,是一个优化的分布式梯度增强库,旨在实现高效,灵活和便携。Xgboost以CART决策树为子模型,通过Gradient Tree Boosting实现多棵CART树的集成学习,得到最终模型。

XGBoost的最终模型构建:
在这里插入图片描述
因此,目标函数的构建为:

阅读更多
集成学习2:Boosting算法:Adaboost&GBDT

一、 Boosting算法原理

  • Bagging:通过Bootstrap 的方式对全样本数据集进行抽样得到抽样子集,对不同的子集使用同一种基本模型进行拟合,然后投票得出最终的预测。
  • Bagging主要通过降低方差的方式减少预测误差</font>
  • Boosting:使用同一组数据集进行反复学习,得到一系列简单模型,然后组合这些模型构成一个预测性能十分强大的机器学习模型。
  • Boosting通过不断减少偏差的形式提高最终的预测效果,与Bagging有着本质的不同。

在概率近似正确(PAC)学习的框架下:

  1. 弱学习:识别准确率略高于1/2(即准确率仅比随机猜测略高的学习算法)
  2. 强学习:识别准确率很高并能在多项式时间内完成的学习算法
  3. 强可学习和弱可学习是等价的,弱可学习算法,能提升至强可学习算法
阅读更多