当前位置: 首页 > news >正文

百度小说app下载外贸网站建设优化推广

百度小说app下载,外贸网站建设优化推广,php网站后台模版,网站开发下载前言 我们常说三个臭皮匠顶个诸葛亮,在机器学习领域中将这个理念应用到极致的技术是boosting,将N多的弱分类器组合到一起,达到一个强分类器的效果,主流代表的算法就是xgboost,当然对于这种集成的思想,还有…

前言

我们常说三个臭皮匠顶个诸葛亮,在机器学习领域中将这个理念应用到极致的技术是boosting,将N多的弱分类器组合到一起,达到一个强分类器的效果,主流代表的算法就是xgboost,当然对于这种集成的思想,还有另外一个技术叫做ensemble,我们通过训练出不同算法的最优单模型,然后综合这些单模型的投票结果,输出最终结果。

一般来说,ensemble技术主要有两个好处,

  • 可以进一步提升模型的性能
  • 可以有效降低单模型过拟合的风险

本文将介绍一种非常高效的ensemble算法,-GreedyEnsemble算法。

  • 算法参考paper:
    Caruana, Rich, et al. “Ensemble selection from libraries of models.” Proceedings of the twenty-first international conference on Machine learning. 2004.

  • 算法实现参考源码:
    主流的automl开源框架hypergbm,点击这里直接跳转到源码

一、 ensemble介绍

1. hard模式

在这里插入图片描述
如上图所示,我们现在正在进行宣传大使的选举活动,两位候选人分别的得票数为4票,3票,那么根据投票规则,候选人A将会成为下一届的宣传大使。
当然我们可以抽象上面的情景为:因为某个业务,我们已经训练好了7个不同的模型,每个模型都需要预测出A/B两个类别的概率,然后我们通过ensemble发现4个模型都预测的是A,而3个模型预测的是B,那少数服从多数,我们最终ensemble后的预测结果就会是A

2. soft模式

然而真实的情况也许会比上面的情景更复杂一点
在这里插入图片描述

同样是上面的投票选取下一届的宣传大使,虽然候选人A得了4票,但是候选人B中有一票是非常特殊的,如上图红色部分,实际情况下,也许这一票是评委或者是上一届的宣传大使投票所得,那么我们可以修改投票规则为 评委票=3*普通票,那么最终结果来说,将是候选人B获胜。 也就是说在这个场景下,我们为不同的模型分配了不同的权重。

同样,我们将这个问题进行业务抽象,因为某个业务,我们已经训练好了7个模型,但是7个模型的性能互相是有差异的,也就是我们会考虑,性能很好的模型本身的预测结果的可信度就应该高于性能很一般模型的预测结果。这样我们就给模型引入了权重的概念,那最终的预测结果就变成了:

final_result = model1_result*weight1+model2_result*weight2+…

二、引入GreedyEnsemble

1. 难点解析

前面我们介绍了在hard Ensemble的基础上,我们可以引入权重的概念,比如在实际的歌唱比赛,演讲比赛,脱口秀比赛中,专业评委和一般投票人的投票权重是节目组会提前制定好并公开的。
那问题在于在实际业务建模过程中,每个模型的权重是多少是需要我们自己决定的,当然你可以各种尝试,或者用一些经典的数组,如下所示:

  1. 0.5,0.1,0.1,0.1,0.1,0.1
  2. 0.8,0.05,0.05,0.05,0.05
  3. 0.2,0.2,0.2,0.1,0.1,0.1,0.1

我们现在就想找到一种方式,不用我们自己去确定哪种权重组合下ensemble的性能可以达到最优,而是让算法可以自己给我分配出一个权重组合方式,以达到ensemble模型的最优性能。整体问题抽象如下:

在这里插入图片描述

A模块不断的提供候选权重数组,B模块不断的去评估ensemble的性能。甚至我们可以通过最优超参数优化【HPO】的思想去解决,把A想成是一个搜索空间,B是一个反馈,然后中间需要一个搜索算法,以得到最优结果,感兴趣的朋友可以基于hyperents,看一下是否能够搭建出这样一个业务需求demo。

2. 算法逻辑实现

在这里插入图片描述

3. (部分)源码展示

    def fit_predictions(self, predictions, y_true):scores = []best_stack = []sum_predictions = np.zeros((predictions.shape[0]), dtype=np.float64) ##初始化当前ensemble的predssize = self.ensemble_sizefor i in range(size):stack_scores = []for j in range(predictions.shape[1]):pred = predictions[:, j]mean_predictions = (sum_predictions + pred) / (len(best_stack) + 1) ##获得均值#....score = self.scorer._score_func(y_true, mean_predictions)stack_scores.append(score) ##计算并保存当前分数best = np.argmax(stack_scores)scores.append(stack_scores[best]) #获得该轮迭代的分数best_stack.append(best)sum_predictions += predictions[:, best]  ###更新当前ensemble的preds

4. 后记

关于算法的具体实现部分,你可以参考hypergbm,你也可以直接使用hypergbm进行自动建模。

http://www.15wanjia.com/news/161638.html

相关文章:

  • 视频直播网站开发与制作免费网络推广的方法
  • 安徽理工大学新校区建设网站佛山市网络推广
  • 分销渠道南宁网站优化
  • 衡水网站建设浩森宇特临沂网站制作加速企业发展
  • 一个网站添加多个网址营销网站建设前期准备
  • 一个空间怎么做两个网站 跳转中小企业网站建设市场
  • 网站触屏版wordpress 用户密码加密
  • 网站推广平台怎么做网站友情链接要加什么
  • 番禺做网站的重庆网络公司网站建设
  • 成都营销类网站设计千库网登录入口
  • 建筑工程网站建设方案网站建设三网合一是什么
  • 超级网站模板下载网上做网站
  • 建站有哪些需求大学生简历模板
  • 温州哪里有网站优化wordpress写书typecho主题
  • 天津做网站制作内容分发网络CDN可以建设网站吗
  • 古典风格网站模版个人网站和企业网站
  • 360网站挂马检测html如何做网站
  • 哈尔滨网站优化咨询asp是网站开发吗
  • 重庆潼南网站建设报价智慧团建系统官方网站登录
  • 杭州滨江区建设局网站网站怎么做域名解析
  • yes风淘宝网站wordpress果酱
  • 手机网站北京影视广告制作拍摄公司
  • 高端网站制作流程河南炒股配资网站开发
  • 凡科建站做的网站有什么短板建一个网站带管理需要多少钱一年
  • 上海网站关键排名宁波seo公司排名
  • 外国购物平台网站大全下载app到手机
  • 同一个阿里云可以做两个网站吗长春工程公司招聘
  • 中国建设信用卡网站首页网站建设方案 安全
  • 广州建站推广怎样设计自己的网站
  • 做网站的重点目标百度贴吧网页版