一、简介

Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

基本介绍可见菜鸟教程Maven 教程 | 菜鸟教程

原文链接:阿里云开发者社区:Apache Flink 漫谈系列(04) - State

实际问题

在流计算场景中,数据会源源不断的流入Apache Flink系统,每条数据进入Apache Flink系统都会触发计算。如果我们想进行一个Count聚合计算,那么每次触发计算是将历史上所有流入的数据重新新计算一次,还是每次计算都是在上一次计算结果之上进行增量计算呢?答案是肯定的,Apache Flink是基于上一次的计算结果进行增量计算的。那么问题来了: “上一次的计算结果保存在哪里,保存在内存可以吗?”,

答案是否定的,如果保存在内存,在由于网络,硬件等原因造成某个计算节点失败的情况下,上一次计算结果会丢失,在节点恢复的时候,就需要将历史上所有数据(可能十几天,上百天的数据)重新计算一次,所以为了避免这种灾难性的问题发生,Apache Flink 会利用State存储计算结果。本篇将会为大家介绍Apache Flink State的相关内容。

在AB测试中,我们一般会关注某个变化带来的短期影响。比如:

  •  新功能会给我们带来更高转换率吗?

  •  改变设计是否会让更多的用户参与到特定功能?

如果答案是肯定的,就开始把改动全面推向所有用户。

但是,短期目标可能会与企业更关键的长期目标发生冲突。比如,一家超市突然提高价格,可能会在短期带来更高利润。但长远看,如果更多的顾客改从竞争对手那里购买商品,那么这家店的收入就会减少。


(图源:Unsplash)

目录:

1.简单介绍spark word2vec

2.skip-gram 层次softmax版本的源码解析

3.word2vec 的原理 只需要看层次哈弗曼树skip-gram那部分

4.skip-gram negetive sample 的版本源码解析

一、下一代大数据计算引擎

自从数据处理需求超过了传统数据库能有效处理的数据量之后,Hadoop 等各种基于 MapReduce 的海量数据处理系统应运而生。从 2004 年 Google 发表 MapReduce 论文开始,经过近 10 年的发展,基于 Hadoop 开源生态或者其它相应系统的海量数据处理已经成为业界的基本需求。

但是,很多机构在开发自己的数据处理系统时都会发现需要面临一系列的问题。从数据中获取价值需要的投入远远超过预期。常见的问题包括:

  • 非常陡峭的学习曲线。刚接触这个领域的人经常会被需要学习的技术的数量砸晕。不像经过几十年发展的数据库一个系统可以解决大部分数据处理需求, Hadoop 等大数据生态里的一个系统往往在一些数据处理场景上比较擅长,另一些场景凑合能用,还有一些场景完全无法满足需求。结果就是需要好几个系统来处理不同的场景。

(来源: https://mapr.com/developercentral/lambda-architecture/ )

转载自知乎,原文链接:从谷歌到阿里,谈谈工业界推荐系统多目标预估的两种范式

多目标是什么?为什么要多目标?

我们的大脑会同时学习多种不同的任务,无论我们是想将英文翻译成中文,还是想将中文翻译成德语,我们都是使用相同的大脑架构,也就是我们自己的脑袋。同理在我们的模型中,如果我们采用的是同一个网络来同时完成这两个任务,那么我们就可以把这个任务称为 多目标学习。

在推荐系统中,即使在同一个场景中,常常也有不只一个的业务目标。在Youtube的视频推荐中,推荐排序任务不仅需要考虑到用户点击率,完播率,也需要考虑到一些满意度指标,例如,对视频是否喜欢,用户观看后对视频的评分;在淘宝的信息流商品推荐中,需要考虑到点击率,也需要考虑转化率;而在一些内容场景中,需要考虑到点击和互动、关注、停留时长等指标。

用多个模型分别对这些指标进行一个排序,然后综合起来可以吗?

可以,但是会面临一些问题。第一,会面临比较大的线上开销,考虑一下你的场景至少可以承受多少rt吧。第二,一些目标的样本比较稀疏,还存在一些问题,例如,单独对CVR进行建模,存在样本选择偏差(Sample Selection Bias,SSB)和数据稀疏性(Data Sparisity,DS)问题,其实不好解决。

什么是SSB问题,什么又是DS问题,我们后面再讲,我们知道的是,多目标预估可以通过同一个模型,解决(或者说缓解)上面的两个问题,甚至带来场景效果上的提升。

讲完了必要性,下面进入正题,下面谈谈工业界推荐系统做多目标预估的两种范式。

原文链接,作者wuchong,阿里花名云邪。

Flink 为流处理和批处理分别提供了 DataStream API 和 DataSet API。正是这种高层的抽象和 flunent API 极大地便利了用户编写大数据应用。不过很多初学者在看到官方 Streaming 文档中那一大坨的转换时,常常会蒙了圈,文档中那些只言片语也很难讲清它们之间的关系。所以本文将介绍几种关键的数据流类型,它们之间是如何通过转换关联起来的。下图展示了 Flink 中目前支持的主要几种流的类型,以及它们之间的转换关系。


本文主要介绍基于集成学习的决策树,然后对其中重要的、使用广泛的方法进行对比:RF(随机森林)), GBDT(梯度提升决策树), XGBoost, lightGBM。

一、集成学习


常见的集成学习框架有三种:Bagging,Boosting 和 Stacking。三种集成学习框架在基学习器的产生和综合结果的方式上会有些区别,我们先做些简单的介绍。


一、简介

Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS)。

传统数据库在数据大小比较小,索引大小适合内存,数据缓存命中率足够高的情形下能正常提供服务。但残酷的是,这种理想情形最终会随着业务的增长走到尽头,查询会变得越来越慢。你可能通过增加更多的内存,订购更快的磁盘等等来解决问题(纵向扩展),但这只是拖延解决本质问题。如果你的需求是解决怎样快速查询出结果,那么ClickHouse也许可以解决你的问题。