读书记录2:月亮与六便士
《月亮和六便士》是英国小说家威廉·萨默赛特·毛姆创作的长篇小说,成书于1919年。
1 前言在十月初的时候就读完了这本书,第一次了解到这本书是在高中,当时书店里有卖这本书,而且很火,但是自己一直没有读书的习惯,所以从来没看过。现在读完之后给我带来的感受是非常深刻的,一个人可以为自己的理想付出到什么地步,这是让我震惊的。而我的理想又是什么呢?不禁让我发问,最后看到毛姆对斯特里克兰在墙壁上作画的描写,感觉是这本书的高潮。
现在有时间写下此文,希望能一直激励我不断前进。希望我有一个自由的灵魂,随便飞到哪里都可以。
2 经典语录
满地都是六便士,他却抬头看见了月亮。
凡是他维护体面的,都被说成虚伪;凡是他铺陈渲染的,都被当作谎言;凡是对某些事保持沉默的,干脆被斥为背叛。
为了使灵魂安宁,一个人每天至少该做两件他不喜欢的事。
我们为自己荒诞不经的行为,蒙上一层体面的缄默,并不觉得虚伪。
同情心应该像一口油井;惯爱表现同情的人却让它喷涌而出,反而让不幸的人受不了。
文明人践行一种奇怪的才智:他们把短暂的生命浪费在烦琐的事务上。
卑鄙与高尚,邪恶与善良,仇恨与热爱, ...
WSS推荐系统学习笔记10:物品冷启动2
1 Look-Alike 人群扩散1.1 在互联网广告中的应用Look-Alike 起源于互联网广告。假设一个广告主是特斯拉,它们知道Tesla Model 3 典型用户有以下特点:
年龄 25~35
本科学历以上
关注科技数码
喜欢苹果电子产品
把具有上述特点的用户给圈起来,重点在这些用户中投放广告。满足所有条件的用户被称为种子用户,这样的用户数量不是很多。广告主想给一百万个人投放广告,但是我们只圈出几万人,该如何找到其他的目标用户?
可以用到 Look-Alike 人群扩散,对种子用户进行人群扩散找到 Look-Alike 用户,Look-Alike 是一个框架,如何进行扩散,有各种各样的方法。
最重要的问题在于如何计算两个用户的相似度,有一些简单的方法:
UserCF:两个用户有共同的兴趣点
Embedding:两个用户向量的cosine较大
1.2 用于新笔记召回在冷启动中,如果用户有点击、点赞、收藏、转发等行为,说明用户对笔记可能感兴趣。把有交互的用户作为新笔记的种子用户,如果一个用户和种子用户相似,可以把这个笔记推荐给他,用 Look-Alike 在相似用户中扩散 ...
WSS推荐系统学习笔记9:物品冷启动1
1 优化目标&评价指标UGC 比 PGC 更难,因为用户上传的内容质量良莠不齐,而且量很大,很难用人工去评判,很难让运营人员去调控。
为什么要特殊对待新笔记?因为新笔记刚刚那个发布,缺少与用户的交互,导致推荐的难度大、效果差。此外,扶持新发布、低曝光的笔记,可以增强作者发布意愿。
优化冷启的目标:
精准推荐:克服冷启的困难,把新笔记推荐给合适的用户,不引起用户反感。
激励发布:流量向低曝光新笔记倾斜,激励作者发布。
挖掘高潜:通过初期小流量的试探,找到高质量的笔记,给予流量倾斜。
冷启动的评价指标主要包含作者侧、用户侧和内容侧:
作者侧指标:发布渗透率、人均发布量。
用户侧指标:
新笔记指标:新笔记的点击率、交互率。
大盘指标:消费时长、日活、月活。
内容侧指标:高热笔记占比,可以反应出冷启是否能挖掘出优质笔记。
作者侧和用户侧指标是工业界通用的,技术比较好的大厂都会用这两类指标。内容侧指标只有少数几家在用。
冷启动的优化点为优化全链路(包括召回和排序)和流量调控(流量怎么在新物品、老物品中分配)。
1.1 作者侧指标作者侧指标主要有发布渗透率和人均发布量。
1.1 ...
WSS推荐系统学习笔记8:重排
1 推荐系统中的多样性1.1 物品相似性的度量可以基于物品属性标签:类目、品牌、关键词……如果两个物品相同的属性标签越多,那么两个物品就越相似。
也可以使用基于物品的向量表征,用召回的双塔模型学到的物品向量表征效果不太好,但是使用基于内容的向量表征效果比较好,也就是使用 CV 和 NLP 模型提取图片和文字的特征向量。
1.2 基于物品属性标签物品属性标签通常是 CV 和 NLP 算法根据物品内容推断出的,不一定准确,可以根据一级类目、二级类目、品牌等标签计算相似度。例如有两个物品:
物品 $i$:美妆、彩妆、香奈儿
物品 $j$:美妆、香水、香奈儿
则相似度为 $\operatorname{sim}_{1}(i, j)=1, \operatorname{sim}_{2}(i, j)=0, \operatorname{sim}_{3}(i, j)=1$,对三个分数求加权和,即可得到相似度的总分,其中的权重需要根据经验设置。
1.3 基于向量表征计算相似度双塔模型的两个塔分别把用户特征和物品特征映射成向量,记作 $a$ 和 $b$,两个向量的余弦相似度 ...
WSS推荐系统学习笔记7:用户行为序列建模
1 LastN 特征LastN 表示用户最近的 $n$ 次交互(点击、点赞等)的物品 ID,可以反应出来用户最近对什么物品感兴趣。召回的双塔模型、粗排的三塔模型和精排模型都可以使用 LastN 特征,LastN 特征很有效。
如下图所示,对 LastN 物品 ID 做 embedding,得到 $n$ 个向量。把 $n$ 个向量取平均得到一个向量,这个向量作为用户的⼀种特征,表示用户曾经对什么样的物品感兴趣。
小红书的召回、粗排和精排都用到了 LastN 特征。可以对用户的最近点击过的、点赞过的和收藏过的物品 ID 做嵌入,然后取平均后得到相应的向量,把这些向量拼起来作为一种特征,用于召回等步骤。
2 DIN 模型(注意力机制)2.1 工作原理上面介绍的 LastN 特征是对嵌入后的向量取平均,但是取平均不是最好的方法。最近几年有很多论文提出了对 LastN 特征序列建模更好的方法。其中 DIN 是阿里在 2018 年提出的。
想法很简单,就是用加权平均代替平均,即注意力机制(attention)。其中权重是候选物品与用户 LastN 物品的相似度,哪个 LastN 物品和候选物 ...
读书记录1:许三观卖血记
《许三观卖血记》是中国当代作家余华创作的长篇小说,首次发表于《收获》1995年第6期。
1 前言最近刚读完了余华的《许三观卖血记》,在之前读过了余华的《活着》,当时读《活着》的时候就感触很深,福贵很惨,他的家人不断离他而去:父母、伴侣、孩子、孙子,最后只有一头老牛和他相依为命。所以在读《许三观卖血记》的时候,一看到这个名就知道肯定和《活着》的内容差不多,讲一个人命运很苦的,而且最后的下场很惨。但是《许三观卖血记》是余华笔下为数不多的幸福大结局的书籍,接下来就写下读完这本书的一些感悟。
2 经典句子
事情都是被逼出来的,人只有被逼上绝路了,才会有办法,没上绝路以前,不是没想到办法,就是想到了也不知道该不该去做。
就算是你不是我的儿子,就算再骂你,你饿了还是要给你买面吃。
我今天算是知道什么叫血汗钱了,我在工厂里挣的是汗钱,今天挣的是血钱。
这苦日子什么时候能完?小崽子苦得都忘记什么是甜,吃了甜的都想不起来这就是糖。
他的泪水在他的脸上纵横交错地流,就像雨水打在窗玻璃上,就像裂缝爬上快要破碎到碗,就像蓬勃生长出去的树枝,就像渠水流进了田地,就像街道布满了城镇,泪水在他 ...
WSS推荐系统学习笔记6:特征交叉
1 Factorized Machine(FM)1.1 线性模型设模型有 $d$ 个特征,记作 $\mathbf{x}=\left[x_{1}, \cdots, x_{d}\right]$,则线性模型:
$$p=b+\sum_{i=1}^{d} w_{i} x_{i}$$
模型有 $d+1$ 个参数:$\mathbf{w}=\left[w_{1}, \cdots, w_{d}\right]$ 和 $b$(偏移项),预测是特征的加权和(只有加,没有乘)。
1.2 二阶交叉特征线性模型 + 二阶交叉特征,其中的 $x_{i} x_{j}$ 是两个特征的交叉,$u_{ij}$ 是两个特征交叉的权重,两个特征不仅能够相加,还能够相乘:
$$p=b+\sum_{i=1}^{d} w_{i} x_{i}+\sum_{i=1}^{d} \sum_{j=i+1}^{d} u_{i j} x_{i} x_{j}$$
模型有 $O\left(d^{2}\right)$ 个参数,如果 $d$ 比较小,那么这样的模型没有什么问题。 ...
WSS推荐系统学习笔记5:排序
1 多目标排序模型
接下来主要研究粗排和精排,粗排和精排的原理差不多,在学习的过程中先不区分粗排和精排。
对于每篇笔记,系统记录:
曝光次数(number of impressions)
点击次数(number of clicks),点击率 = 点击次数 / 曝光次数
点赞次数(number of likes),点赞次数 = 点赞次数 / 点击次数
收藏次数(number of collects),收藏率 = 收藏次数 / 点击次数
转发次数(number of shares),转发率 = 转发次数 / 点击次数
排序模型预估点击率、点赞率、收藏率和转发率等多种分数,之后融合这些预估分数(比如加权和),根据融合的分数做排序、截断。
1.1 多目标排序1.1.1 工作过程
把用户特征、物品特征、统计特征和场景特征都输入神经网络,这些神经网络可以是很简单的神经网络,也可以是复杂的神经网络。
这个神经网络输出一个向量,之后把这个向量送入四个神经网络,这四个小神经网络各有 2~3 个全连接层,再通过 Sigmo ...
WSS推荐系统学习笔记4:召回3
1 Deep Retrieval经典的双塔模型把用户、物品表示为向量,线上做最近邻查找。Deep Retrieval 把物品表征为路径(path),线上查找用户最匹配的路径。Deep Retrieval 类似于阿⾥的 TDM。
1.1 索引索引是把物品表征为路径,如下图所示:
深度:$\text{depth} =3$
宽度:$\text{width} = K$
把一个物品表示为一条路径(path),比如 $[2, 4, 1]$。一个物品可以表示为多条路径,比如 $[2,4,1]$、$[4,1,1]$。
之后建立两个索引,分别是物品到路径的索引和路径到物品的索引。其中一个物品可以对应多条路径,一条路径也可以对应多个物品。
1.2 预估模型之后需要预估用户对路径的兴趣,用 3 个节点表示一条路径:$path =[a, b, c]$:
给定用户特征 $x$,预估用户对结点 $a$ 的兴趣 $p_{1}(a \mid {x})$
给定用户特征 $x$ 和 $a$,预估用户对结点 $a$ 的兴趣 $p_{2}(b \mid a; {x})$
给定用户特征 $ ...
WSS推荐系统学习笔记3:召回2
1 双塔模型1.1 模型结构双塔模型可以看作是矩阵补充模型的升级版。可以对用户 ID、用户离散特征和用户连续特征做处理,处理之后得到很多向量,并把这些向量拼起来。
之后输入深度神经网络,神经网络可以是很复杂的结构,神经网络输出一个向量,这个向量就是对用户的表征。
对物品的处理也是类似,如下:
双塔模型的不同之处在于使用了除了 ID 之外的更多的信息来进行处理,如下图所示,可以看到整体结构就像两个塔一样:
两个塔的输出都是一个向量,之后再计算这两个向量的余弦相似度,余弦相似度的大小介于 $[-1, 1]$。
1.2 模型训练双塔模型的训练可以有以下 3 种方法:
Pointwise:独⽴看待每个正样本、负样本,做简单的二元分类
Pairwise:每次取一个正样本、一个负样本
Listwise:每次取一个正样本、多个负样本
如何选择正负样本?
正样本:用户点击的物品
负样本:可以有多种定义,比如没有被召回的、召回但是被粗排、精排淘汰的、曝光但是未点击的
1.2.1 Pointwise 训练把召回看作二元分类任务:
对于正样本,⿎励 $\cos(a,b)$ 接近 $+1$
对 ...