赵大寳

鶸鸡程序员,新世纪农民工

0、背景

一般来说,在推荐系统应用场景下,最基础的目标就是提升用户的CTR,即推荐给用户看的物品尽可能是用户想要去点击的。但这样简单做了之后,反而暴露出一个粗俗的问题,即推荐给用户的物品会产生越来越多的标题党,因为这类标题党往往尝试利用人性的弱点,通过文字或图片的暗示的内容骗取高的点击率,但提供的内容于用户无益,甚至会造成用户流失、涉及黄赌毒等违法内容,于平台会是大大的损害。

Read more »

在机器学习和深度学习领域,分布式的优化已经成了一种先决条件,因为单机已经解决不了目前快速增长的数据与参数带来的问题。现实中,训练数据的数量可能达到1TB到1PB之间,
而训练过程中的参数可能会达到109到1012。而往往这些模型的参数需要被所有的worker节点频繁的访问,这就会带来很多问题和挑战:

Read more »

模型优化方法的选择直接关系到最终模型的性能。有时候效果不好,未必是特征的问题或者模型设计的问题,很可能是优化算法的问题,而且好的优化算法还能够帮助加速训练模型。

深度学习模型的发展进程:
SGD -> SGDM ->NAG -> AdaGrad -> AdaDelta -> Adam -> Nadam

Read more »

AUC: Area Under Curve, 默认为ROC(receiver operating characteristic curve) Curve, 也可以指定PR(Precision Recall) curve。

由于ROC曲线的X轴为False Positive Rate,Y轴为True Positive Rate,AUC是可以指 随机给定一个正样本和一个负样本,分类器输出该正样本为正的 比 输出该负样本为正 要大的概率,即 AUC = P(P_tpr > P_fpr).

Read more »

开源项目 DeePray 发布啦!针对推荐算法,特别是点击率预估领域目不暇接的诞生新模型现状,如何将心仪模型快速应用于领域内一直是一项棘手的问题,DeePray这个项目通过统一构建数据流水线,提供各类网络层组件,在此之上,以模块化设计,用组件之砖,搭建各类网络之模型,并以灵活配置式的方式提供调用接口,你也可以在DeePray的基础上,选用各类组件模块,就像玩乐高积木一样建造你自己的模型。deepray.model目录下已实现LR、FM、FFM、DeepFM、Wide&Deep、Deep&Cross、NFM、xDeepFM、FLEN、AutoInt、DIN等各具特色的分类模型,你只需要处理好自己的数据,然后import deepray as dp就可以使用啦!

总之DeePray的目标是:

  • 容易使用, 即使新手也可以快速上手深度学习工具
  • 面对大规模数据也能快速处理
  • 易于扩展的模块化架构可以像玩乐高游戏一样构建神经网络!
Read more »

核心概念

下面介绍Kafka相关概念,以便运行下面实例的同时,更好地理解Kafka.
\1. Broker
Kafka集群包含一个或多个服务器,这种服务器被称为broker
\2. Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
\3. Partition
Partition是物理上的概念,每个Topic包含一个或多个Partition.
\4. Producer
负责发布消息到Kafka broker
\5. Consumer
消息消费者,向Kafka broker读取消息的客户端。
\6. Consumer Group
每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

Read more »

HBase是运行在Hadoop分布式文件系统HDFS上进行数据存储的开源非关系型分布式数据库,2020年我尝试在Mac上配置一个伪分布式的v2.2.3 HBase环境,看看能不能进行一些基本的读写操作,以便熟悉一下分布式数据库有什么特点。

Read more »

去年我曾发文记录如何在Ubuntu上配置伪分布式版的Hadoop3娱乐环境:https://fuhailin.github.io/Hadoop-Install/ ,通过配置Hadoop娱乐环境你可以熟悉Hadoop的一些基本概念与操作方式,后来我的Dell被我玩坏了,也就没法在Ubuntu上顺畅娱乐了,后来一狠心入手了现在MacBook Pro,希望它能皮实耐操一点。今天我们继续在MacOS配置一个Hadoop、Spark娱乐环境,看看它能不能运行处理一些HelloWorld程序。

Read more »

本文搜集整理了从Sigmoid、ReLU到Dice等十几种常见激活函数的原理与特点,并从底层用Numpy实现和Python绘制它们。

Read more »

排序学习(Learning to Rank,LTR),也称机器排序学习(Machine-learned Ranking,MLR) ,就是使用机器学习的技术解决排序问题。自从机器学习的思想逐步渗透到信息检索等领域之后,如何利用机器学习来提升信息检索的性能水平变成了近些年来非常热门的研究话题,因此产生了各类基于机器学习的排序算法,也带来了搜索引擎技术的成熟和发展,如今,Learning to Rank 已经成为搜索、推荐和广告领域非常重要的技术手段。本文我们主要介绍排序学习的三种主要设计思路Point-wise、Pair-wise、List-wise和应用场景。

Read more »

别看线性回归算法原理简单,但其中也还有许多特殊的问题需要特别的手段处理。比如离群点就是一个特别的案例。
少数离群点会显著影响训练集的均值结果,对回归线的整体拟合度产生较大的影响,因此我们需要找出其中的离群点并去除它们。

Read more »

以我目前使用较多的Python语言编程为例,可以使用 PyMysql 来连接MySQL数据库并进行“query、insert、update”等操作,但是这样的方案你每次请求连接MySQL都会有一个单独的连接,这很浪费资源,特别是当请求的数量达到一定数量时会对MySQL的性能产生明显的影响。因此在实际使用中,数据库连接池技术通常被用来进行数据库连接中的资源复用。 Solution:DBUtils D…

Read more »

为什么要使用Docker:“有了Docker,开发人员能够借助任何工具、使用语言来构建任何应用”。Docker化的应用是完全绿色便携的,能运行在任何平台。

Read more »

DeepWalk(2014’KDD),一种用于学习网络中顶点的潜在表示方法.DeepWalk提出了新的、无监督的、独立于标签分布的(捕获结构信息时不考虑标签)、捕获图结构信息的算法。算法目标是学习图的结构特征$$\mathbf{X}{\mathrm{E}} \in \mathbf{R}^{|\mathbf{V}| \times \mathbf{d}}$$,其中d是节点的潜在表示(向量形式)的维数。图结构特征可以用于任何分类算法。将$$\mathbf{X}{\mathrm{E}} \in \mathbf{R}^{|\mathbf{V}| \times \mathbf{d}}$$与简单的机器学习算法集成,还可以用来实现很多其他问题。

Read more »
0%