赵大寳

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

0%

What is ZooKeeper?

ZooKeeper是用于维护配置信息,命名,提供分布式同步和提供组服务的集中式服务。 所有这些类型的服务都以某种形式被分布式应用程序使用。 每次实施它们时,都会进行很多工作来修复不可避免的错误和竞争条件。 由于难以实现这类服务,因此应用程序最初通常会跳过它们,这会使它们在存在更改的情况下变得脆弱,并且难以管理。 即使部署正确,这些服务的不同实现也会导致管理复杂。

在推荐领域 根据用户的历史活动记录预测用户下一次行为可能会选择什么项目也是一个重要 的问题,现有的推荐系统主要关注于找出用户或项目的近邻集,或者利 用隐式或显式信息 (如标签、评论、物品内容、用户属性) 来提升近邻感知能力。 然而,却少有工作利用数据当中的时序属性来参与构建推荐系统。在本篇文章中, 我将介绍数据的序列中其实包含着许多有价值的且激动人心的信息以及现代大型推荐系统是如何使用这种序列特性来提升推荐的质量的。以视频网站 为例,一个用户看了纪录片《河西走廊》第一集《使者》之后,接下来看的另一个 节目很有可能会是《河西走廊》第二集《通道》。甚至早在 2011 年举办的 Recsys 推荐系统大会上,来自音乐应用 Pandora1的研究人员给出的演讲上都提到了许多 用户听音乐具有时序特点。 在某些特别的应用场景下,常规的推荐系统甚至无法起作用。现有的推荐系 统都需要分析用户的数据,因此每个网站和应用的使用到需要让用户完成注册以 及登录,然而用户每次使用网站或者应用的服务时都不一定会愿意登录,这种场 景下对匿名用户的推荐显然挑战更大,常规的推荐策略显然无法起作用,基于匿 名用户本地浏览器和缓存的会话所蕴含的序列进行推荐则显现出很重要的实践意 义与价值。

Read more »

Logistic regression backpropagation with a single training example

In this part, you are using the Stochastic Gradient Optimizer to train your Logistic Regression. Consequently, the gradients leading to the parameter updates are computed on a single training example.

Read more »

矩阵求导(Matrix Derivative)也称作矩阵微分(Matrix Differential),在机器学习、图像处理、最优化等领域的公式推导中经常用到。矩阵求导实际上是多元变量的微积分问题,只是应用在矩阵空间上而已,即为标量求导的一个推广,他的定义为将自变量中的每一个数与因变量中的每一个数求导。

Read more »

Bazel是Google开源的一款代码构建工具。Bazel支持多种语言并且跨平台,还支持增量编译、自动化测试和部署、具有再现性(Reproducibility)和规模化等特征。Bazel 在谷歌大规模软件开发实践能力方面起着至关重要的作用。

Read more »

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 »

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

Read more »

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

Solution:DBUtils

DBUtils是一个允许在非线程安全数据库接口周围使用线程安全包装器的Python数据库连接池工具包。