学术相关
数智化新产品开发平台1
目前已有文献对数智化的讨论还是比较粗糙和保守,总觉得未来还是应该有一些颠覆性的东西。
InstructGPT 标注:数据是关键
终于看到一篇讲GPT数据标注的文章了。
ChatGPT同期发布的姊妹模型InstructGPT拥有公开的标注指南。
GPT在第一步有监督微调supervised fine-tuning(对样本Prompt编写人工答案)和第二步奖励模型reward model(输出排序)中需要标注数据。这要求对标注人员有较高的规范标注。
标注数据
OpenAI数据来源主要包括两个
- OpenAI API提交的Prompt
- playground用户使用数据
- 去除重复Prompt
- 每个用户最多200个Prompt——保证数据多样性
- 基于ID划分训练集、验证集、测试集
- playground用户使用数据
- 标注人员编写的Prompt
- Plain:随便想任务
- Few-Shot:给出一个Instruction,编写多个$(query,response)$对
- User-based:根据OpenAI API的候补名单用例,编写Prompt
所有的Prompt最终形成3个数据集
- SFT数据集
- 包含API和标注人员编写的13k Prompt数据集
- 标注人员编写答案,用来训练SFT模型
- RM数据集
- 包含API和标注人员编写的33k Prompt数据集
- 标注人员排序模型输出,用来训练RM
- PPO数据集
- 仅包含API的31k Prompt数据集
- 没有标注,用作RLHF微调的输入
标注人员
目前业内数据标注流形的是众包模式,标注人员水平参差不齐。
InstructGPT的任务目标是选择一组对不同人口群体的偏好敏感,并且善于识别潜在有害输出的标注人员。
筛选标注
- 对敏感言论标注的一致性
- 对排序的一致性
- 敏感Prompted答案撰写
- 使用7级Likert量表对答案评级
- 自我评估识别不同群体敏感言论的能力
- 「对于哪些主题或文化群体,您可以轻松地识别敏感言论?」
InstructGPT标注人员特征:数据源自自愿匿名调查
- 整体男女比例相当
- 大部分年龄在35岁以下
- 本科学历占一半以上
- 东南亚地区标注人员占一半以上
标注人员统一UI
标注规范
InstructGPT设置了3个考量指标评估模型的输出
- 有帮助helpful
- 真实性truthfulness
- 无害性harmlessness
指标权衡方案的指导方针包括无害和真实比有帮助更重要;但若任务不属于高风险领域则提高有帮助指标权重等。
Instruction属性标注,检查是否包含个人敏感信息、道德问题等。
模型输出标注包含多个项目
- 评分(7级Likert)
- 是否遵循了指示
- 回答是否得当(将LLMs视作助理客服)
- 是否幻觉
输出排序标注
有毒输出标注
- 毒性
- 0分:输入/输出完全无毒
- 1分:输入/输出轻微毒性,或被部分人认为有毒
- 2分:明确有毒
- 相对毒性
- -1分:输出的毒性比预期低
- 0分:与预期一致
- 1分:比预期更严重
- 连续性
- 输出是输入文本的合理延续
- 7分Likert
基于Bass模型的单条推特的流行性预测框架2
我觉得这篇文章有好几处拍脑袋的地方,作者没有做出合理的理论解释或对设计思路进行解释,同时作者也没有做消融实验或类似的控制变量手段,我无法确认模型设计自身到底对这一问题提供了多大的帮助。这篇文章的目的是量化预测单条推文的流行度,为了与其他研究比较也做了定性的划分。
前人研究大多关注话题或事件的流行度,而少有人分析单条推文,因为它的预测难度更高。现有的单条推文研究主要是定性预测并使用回归模型,但由于模型无法捕捉随机性,通常效果不佳。基于特征的模型对模型有效性依赖过重,基于时间序列模型需要很难获取的特征。
作者设计了包含时空异构Bass模型ST-HBass和特征驱动异构Bass模型FD-HBass两种异构Bass模型来预测单条推文的流行性。传统的Bass模型无法通过两个参数来代表社会网络特征,且Bass模型假设时间和空间同质性,使个体间无差别。为摆脱传统Bass模型的限制,作者将Twitter特征整合进了Bass模型,并放松了个体层次同质性假设。
预测目标是单条推文的整个生命周期,包括发出后的1-24h早期阶段和25-240h稳定阶段。
作者将前人对社会网络的预测研究分为行为预测和内容预测两类,本研究属于内容预测。作者认为同时使用特征工程和时间序列分析的模型更贴合现实。
作者将问题陈述为:在推文发出后的任意事件点$t$,关注者可以看到推文并做出行为增加推文的点赞数$fc(t)$,回复数$pc(t)$和转发数$rc(t)$。其中,当推文被转发后,它也会被点赞、回复和转发。
作者将某个使用点赞数、回复数和转发数分辨推文流行状态的时间点$T$称之为流行性决策时间。推文生命周期是推文的点赞数、回复数和转发数持续增长的时间段,进一步的作者将推文的生命周期区分为1-24h早期阶段和25-240h稳定阶段,并将24h和240h作为流行性决策时间。作者并没有指出这样做的依据。
作者批评了只使用转发数作为流行性指标的传统做法,认为这样忽视了沉默的大多数。取而代之的是,作者将点赞、回复和转发加权求和使用,即$Y(t)=w_1fc(t)+w_2rc(t)+w_3pc(t),0<t\leq T$。鉴于有时候人们更关注定性分析,所以作者设置了流行性阈值来判别推文是否流行$\left{\begin{aligned}Y(T)&\geq \gamma\ \ \ the\ tweet\ is\ popular\\ Y(T)&<\gamma\ \ \ the\ tweet\ is\ unpopular\end{aligned}\right.$。
作者认为接受传播的固有概率、对总体内部关联的敏感性和信息接收者的传播性反映了空间异构性,因此对Bass模型引入Twitter特征并放缩到允许个体层次异质性。
ST-HBass Model 时空异构Bass模型
标准模型在$t$时间点的接受风险率$f(t)=(p+qF(t))(1-F(t))=p(1-F(t))+qF(t)(1-F(t))$,其中$p$为创新系数,$q$为模仿系数,$1-F(t)$为时间点$t$没有接受人数的比例。给定潜在接受者总数$m$,则时间点$t$的接受者数量为$S(t)=mf(t)=pm+(q-p)Y(t)-\frac{1}{m}[Y(t)]^2=p(m-Y(t))+q\frac{Y(t)}{m}[m-Y(t)]$,其中$Y(t)=\int_0^t S(x)dx$为累计接受者数量。【与前面的$Y(t)$不一样】
对标准Bass模型赋予Twitter特征用户向量$x$和单一推特特征$y$,$S(t)=pm+(q-p)Y(t)-\frac{1}{m}[Y(t)]^2+\alpha x+\beta y$。
已知$\frac{dY}{dt}=S(t)$求解$Y(t)$。
为简化计算,令$V=pm+\alpha x+\beta y$,则$\frac{mdY}{q[Y(t)]^2+m(p-q)Y(t)-mV}=-dt$,分解分母$\frac{mdY}{(Y(t)-y_1)(Y(t)-y_2)}=-dt$,其中$y_1=\frac{m(q-p)+\sqrt{\Delta}}{2q},y_2=\frac{m(q-p)-\sqrt{\Delta}}{2q},\Delta=m^2(p-q)^2+4mqV$。分母好像丢了一个q
两边积分$\int_0^T(\frac{1}{Y(t)-y_1}-\frac{1}{Y(t)-y_2})\frac{mdY}{y_1-y_2}=\int_0^T-dt$,解得$Y(t)=\frac{y_2e^{-\frac{\sqrt{\Delta}}{mq}t+C}+y_1}{1+e^{-\frac{\sqrt{\Delta}}{mq}t+C}}$。由于$Y(0)=0$,$C=ln(-\frac{y_1}{y_2})$。
FD-HBass Model 特征驱动异构Bass模型
考虑推文的特性,假设它们只通过自身特点影响传播,在某种程度上,类似于Bass模型的创新者,而用户特征类似于模仿者。因此作者使用单一推文特征取代创新系数$\beta y=p$,用用户特征取代模仿系数$\alpha x =q$。
Bass模型中存在一个重要假设:在时间点$t$还没有购买的用户购买产品的概率$P(t)$是先前购买者数量$Y(t)$的线性函数。
$f(t)=(p+qF(t))(1-F(t))=p+(q-p)F(t)-q[F(t)]^2$,
$\frac{f(t)}{1-F(t)}=P(t)=p+\frac{q}{m}Y(t)$。
$\frac{dF}{p+(q-p)F-qF^2}=dT$,解得$F(t)=\frac{q-pe^{-(t+c)(p+q)}}{q(1+e^{-(t+c)(p+q)})}, -c=\frac{ln\frac{q}{p}}{p+q}$。
$F(t)=\frac{Y(t)}{m}$,所以$Y(t)=\frac{m(1-e^{-(\beta y+\alpha x)t})}{1+\frac{\alpha x}{\beta y}e^{}-(\beta y+\alpha x)t}$
互动增强
多数推文包含hashtags,至少每个推文都包含topic。在实际中,同一话题的推文会存在竞争和合作交互。
竞争效应表示为$Y’(t)=Y(t)-\delta_1+\delta_2$,其中$Y’(t)$为最终数量,$\delta_1$为流量被其他推文掠夺,$\delta_2$为掠夺其他推文流量。
合作效应表示为$Y’(t)=Y(t)+\delta_3$。
包含互动增强的STI-HBass模型为$Y(t)=\frac{y_2e^{-\frac{\sqrt{\Delta}}{mq}t+ln(-\frac{y_1}{y_2})+y_1}}{1+e^{-\frac{\sqrt{\Delta}}{mq}t+ln(-\frac{y_1}{y_2})}}-\delta_1+\delta_2+\delta_3$
包含互动增强的FDI-HBass模型为$Y(t)=\frac{m(1-e^{-(\beta y+\alpha x)t})}{1+\frac{\alpha x}{\beta y}e^{-(\beta y+\alpha x)t}}-\delta_1+\delta_2+\delta_3$
作者使用最小二乘法获取模型参数。
流行度测量
作者使用点赞、回复、转发三个同size向量数据$Z=(z_1^T,z_2^T,z_3^T)$衡量流行度。计算三种指标平均水平$\bar{z_i}=\frac{\sum\limits_{j=0}^nz_i^j}{n},i=1,2,3$,各自权重为$w_i=\frac{\bar{z}_i}{\sum\limits_{j=1}^3\bar{z}_j}$。没有依据,again。
阈值设定
作者通过使用DBSCAN和k中心聚类将三维数据集划分为两类,距离采用欧氏距离。具体地,作者先通过上述流行度测量计算数据的流行度,之后使用DBSCAN聚类过滤掉离群点,其中半径和最小点数minPts依据轮廓系数Silhouette Coefficient进行动态调整。之后使用k-medoids算法将数据分为两类,并将两类中心连线的中点作为阈值点$\bar{\gamma}=(\bar{x}_1,\bar{x}_2,\bar{x}_3)$,进而阈值表示为$\gamma=w\bar{\gamma}=w_1\bar{x}_1+w_2\bar{x}_2+w_3\bar{x}_3$。最终的聚类效果通过轮廓系数和戴维斯堡丁指数Davies-Bouldin Index(DBI)衡量。结果是轮廓系数0.83,DBI为0.35表示了较好的聚类效果。
实验
- 数据集
- RANDOMTWEET 2516440推文
- Twitter API 2017-12-5 ~ 2018-2-23
- 只包含原始推文(假设转发不改变推文原始属性)
- 爬虫每天只能运行2h
- RANDOMTWEET 2516440推文
70.23%推文没有任何互动。
小窗表示推文发布的早期阶段数据。在100h时,90%的推文获得了最终数据,而240h时接近98%的推文结束了传播生命周期。通常点赞数量比回复转发更早地达到稳定状态。
模型参数决策时间$T=24h$,点赞-回复-转发权重$w=(0.28,0.38,0.34)$,阈值$\gamma=140$;决策时间$T=240h$,点赞-回复-转发权重$w=(0.30,0.34,0.38)$,阈值$\gamma=172$。这数据有点反常识?点赞的比例居然最低?
- 特征提取
- 用户特征
- Follower Number
- Tweet Number
- 反映用户的活跃度?
- Following Number
- 推文特征
- 内容信息
- 作者认为文章长度不能衡量信息量
- 使用LDA刻画
- 分词、过滤停用词
- Hashtags决定数据库整体主题数量
- 使用LDA计算话题概率$P=(p_1,p_2,…,p_{n_p})$
- 每条推文的内容信息$content\ information=P\cdot N_p,\ where\ N_p=(n_p^1,n_p^2,…,n_p^n)$,其中$n_p^i$为第$i$个话题在数据集中的数量
- 没道理,而且与流行性的关联图误导性很大,0.2以后注意纵坐标差异很小
- 正则化
- 情感特征
- Dynamic Convolutional Neural Network
- 使用百万级tweets训练
- Dynamic Convolutional Neural Network
- 创建时间权重
- 随机选取流行推文统计发文时间段
- hashtag number
- @用户 number
- 内容信息
- 用户特征
作者使用了PCA和相关矩阵检验了特征,但没有提供特征工程单独对预测的影响数据。
- 基准模型
- SVR、LLR、SEISMIC、PSEISMIC、Hybrid
- 评价指标
- 量化模型
- MdAPE、MAPE、RMSE
- 定性模型
- 精确度、召回率、F分数
- 量化模型
整体上,根据作者提供的数据PSEIMSIC、Hybrid和作者的HBass模型表现均相对较好,但作者认为相比于两个基准模型,作者的模型数据易获性要好很多。
作者认为他们的模型在定性分析上表现相对更有效,但我觉得这个定性问题的设计就存在问题。
作者没有进行消融实验或类似的设计,我无法确定作者模型取得的效果有多大比例是特征工程产生的,又有多大比例的贡献归属于算法设计。Python: MCMC与睡眠数据
之前有看一些MCMC的理论,看得一头雾水,这次刚好遇到了一个实践项目,就一下子具象了很多。虽然这个项目不算严谨,内容也不够详实,但我感觉再去看理论书的时候会清晰很多。果然,实践是最好的导师。
另外,这篇文章提到了一个开源项目Bayesian Methods for Hackers,他们的理念是computation/understanding-first, mathematics-second。
参数搜索空间
参数抽样
睡眠预测模型
参数轨迹图
诊断
睡眠时长模型
简便关联:灰色关联分析GRA
基本思想:根据序列曲线几何形状的相似度判断关联是否紧密
- 支持小样本
- 主观性强,国际认可有限
计算很简便,但GDP的示例数据表现甚至不如简单的线性回归
或许有一些离群值会表现好一些?
业界动态
如何衡量和分配广告渠道?
用户在抖音中第一次看到58App的广告,两天后在百度信息流后再一次看到58App的广告,用户点击了广告转到OPPO应用商店进行下载,又过了四天用户第一次打开58App开始查看招聘信息。
- 如何衡量渠道投放的价值?
- 如何在抖音、百度、OPPO应用商店三个渠道之间分配这个价值?
分析:用户通过【抖音广告】、【百度信息流】、【应用商店】三个渠道接触到App信息。
作者根据这一用户场景将三个渠道归入递进的模式,构建了一个漏斗模型。显然,这不太准确,但可接受,漏斗只是一个可视化的展示,当我们有足够的数据的时候我们可以更好的估计权重,即便结果通常不是漏斗型。我觉得流程图更妥当。
衡量投放渠道价值
抖音
本情境内的业务目标:通过投放广告,KOL合作增加曝光;希望提高广告覆盖人群数量,且主要覆盖58App目标用户。
- 指标
- 用户到达率:看到广告1次以上的UV
- 曝光量:用户观看广告的完整性
- 目标用户占比 TA%
- 互动率
- CPM千人广告成本
同类渠道/行业/竞品对比
实际分析中,我认为应该放大渠道的作用,本环节作者假定了抖音的作用是曝光百度信息流
- 指标
- 展示量
- 点击量
- 点击率CTR
- 下载量
- 单个用户下载成本
同样,进行渠道对比
应用商店
- 指标
- 其他渠道引流
- 用户下载量(引流)
- 用户下载率
- 应用市场推广
- 用户下载量(应用市场推广)
- 单个用户下载成本CPD
- 其他渠道引流
整体渠道
- 指标
- 投资回报率ROI
渠道归因分析
- 常用的归因分析模型
- 首次互动归因
- 将几乎所有价值分配到首次接触渠道
- 末次互动归因
- 将几乎所有价值分配到末次接触渠道
- 线性归因
- 平均/线性分配渠道价值
- 位置归因
- 用户互动的第一个和最后一个渠道占据主要价值
- 时间衰退归因
- 越靠近用户转换的渠道占据价值越高
- 其他归因
- Shapley值法
- 马尔可夫链+移除效应法
- 首次互动归因
ex. Shapley值法
学习过程中的一个小感觉,觉得业界和学界分析问题的一个重要区别在于,业界对不准确的容忍程度更高,倾向于多犯一些错误换取更简易的模型,使分析的易操作性更强,更容易被没有经历过学术训练的职工进行应用。