工程中的CTR丨是什么意思?

如题所述

CTR是“Cycle Time Reduction”缩写,是通过省略不必要的工作步骤来缩短业务流程或产品设计的循环时间,从而使公司能对客户需求做出快速反应持续实施的系统方法。
临界温度热敏电阻CTR(Crit1Cal Temperature Resistor)具有负电阻突变特性,在某一温度下,电阻值随温度的增加激剧减小,具有很大的负温度系数.构成材料是钒、钡、锶、磷等元素氧化物的混合烧结体,是半玻璃状的半导体,也称CTR为玻璃态热敏电阻.骤变温度随添加锗、钨、钼等的氧化物而变.这是由于不同杂质的掺入,使氧化钒的晶格间隔不同造成的.若在适当的还原气氛中五氧化二钒变成二氧化钒,则电阻急变温度变大;若进一步还原为三氧化二钒,则急变消失.产生电阻急变的温度对应于半玻璃半导体物性急变的位置,因此产生半导体-金属相移.CTR能够作为控温报警等应用.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-27
英文全名是click-through rate,翻译成中文是点击率的意思,一般指的是点击率预估任务,也就是给定一个内容item id,预测用户user id点击这个item的概率。
第2个回答  2021-11-27
 苏子夜坐,有鼠方啮。拊床而止之,既止复作。使童子烛之,有橐中空,嘐嘐聱聱,声在橐中。曰:“嘻!此鼠之见闭而不得去者也。”发而视之,寂无所有,举烛而索,中有死鼠。童子惊曰:“是方啮也,而遽死耶?向为何声,岂其鬼耶?”覆而出之,堕地乃走,虽有敏者,莫措其手。

苏子叹曰:“异哉!是鼠之黠也。闭于橐中,橐坚而不可穴也。故不啮而啮,以声致人;不死而死,以形求脱也。吾闻有生,莫智于人。拢龙伐蛟,登龟狩麟,役万物而君之,卒见使于一鼠;堕此虫之计中,惊脱兔于处女,乌在其为智也。”

坐而假寐,私念其故。若有告余者曰:“汝惟多学而识之,望道而未见也。不一于汝,而二于物,故一鼠之啮而为之变也。人能碎千金之璧,不能无失声于破釜;能搏猛虎,不能无变色于蜂虿:此不一之患也。言出于汝,而忘之耶?”余俛而笑,仰而觉。使童子执笔,记余之作。
这是一篇别开生面的游记文,它不注重山川形胜的描写,而注重辩难与议论,其所阐发的道理又是通过游程的记录来说明,这需要处理好记游、辩难和议论三者关系。作者巧妙地把记游作为辩难的根据,而议论则是对辩难的生发和引申,不仅讲清了知与实践的关系、知与见识的关系、知与言的关系,而且把石钟山的壮丽风光描绘得生动传神。这种于形象描绘中熔入理性分析的高超技巧,是他人难以企及的。

石钟山在今江西省湖口县鄱阳湖东岸。
第3个回答  2021-11-27

这篇文章是阿里巴巴的gaikun团队于2018年发表于KDD的文章[1],目前已经在各大公司的点击率预估(CTR)场景都得到广泛的应用。这篇文章就从模型和代码实现方面简单介绍一下这篇文章提出的DIN模型。

1.背景

随着深度学习的发展,许多研究者将DNN网络应用到CTR的任务上来。大部分目前使用的深度学习模型都可以认为是Embedding&MLP结构,即大规模的、稀疏的输入数据首先被压缩成低维的embedding,变成固定长度的输入向量,被输入到全连接网络中去。这些模型大大减少了特征工程的工作量,因此广为流行。

但这些方法仍然有缺点,最大的缺点就是固定维数的向量不能充分地表达用户兴趣的Diversity(一般是用用户过去的购买行为或者点击行为来表示用户的兴趣),为了增加模型的学习能力,要扩大embedding的维度,而在样本有限的情况下,通常会造成过拟合的问题。

除此之外,给定一个商品,决定用户是否点击进去查看的往往是用户的部分兴趣而非所有兴趣,通常来说是最近的一些行为相关性更大一些。所以这篇文章提出的DIN模型对于不同的商品,将对应适应性的用户兴趣特征来输入,以解决固定特征维度不能充分表达用户行为的问题。其主要的中心思想,就是结合attention机制对用户的历史行为进行了加权处理,对于不同的商品,权重不一致。[2]

2.模型

2.1 MLP

首先看一下传统的DNN在点击率预估上的一般方法:

传统DNN模型一般是按照Embedding Layer&Pooling Layer->Concat->MLP的框架来构建模型的,在Embedding Layer -> Pooling Layer得到用户兴趣表示的时候,没有考虑用户与推荐商品之间的关系,即不同的推荐商品之间的权重是一致的。这正是上文DIN要解决的问题。

同时,由上图可以看出,一般CTR问题的输入包含四种类型的特征:

2.2 DIN

为了解决上述提出的问题,DIN利用attention机制,在得到用户兴趣表示时赋予不同的历史行为不同的权重,即通过Embedding Layer -> Pooling Layer+attention实现局部激活。从而在训练过程中根据当前的候选商品,来反向的激活用户历史的兴趣爱好,赋予不同历史行为不同的权重。也就是说对于不同的候选商品输入,得到的兴趣特征是不同的。网络结构如下图:

上图的左边就是DIN的模型架构图,输入还是同样的四种类型特征,而在User Profile Feature和Context Feature这两种类型的处理和上述的MLP方法保持不变。对于User Behaviors和Candidate Ad这两种特征,文章提出的是一种类似NLP中常用的Attention结构(Activation Unit)。如上述右图所示:

每个兴趣商品(Goods)要和候选商品(Candidate Ad)要进行Out Product等操作,并将外积和自身的embedding表示进行concat,输入到FC得到一个权值,对应的就是当前兴趣商品的权值。在算出所有商品的权值之后,再对所有的商品的embedding进行加权求和,结果就是用户对于当前候选商品的兴趣表示。对应的公式如下:

其中:

    是候选商品的Embedding表示

    是用户的兴趣商品的Embedding表示

    函数a(*, *)表示上述的Activation Unit, 得到的权重是

    简单看一下这里Activation Unit对应的代码,应该是官方,来源于https://github.com/zhougr1993/DeepInterestNetwork/blob/master/din/model.py[3]:

    def attention(queries, keys, keys_length):
     '''    queries:     [B, H]    keys:        [B, T, H]    keys_length: [B]  '''
     queries_hidden_units = queries.get_shape().as_list()[-1]
     queries = tf.tile(queries, [1, tf.shape(keys)[1]])
     queries = tf.reshape(queries, [-1, tf.shape(keys)[1], queries_hidden_units])
     din_all = tf.concat([queries, keys, queries-keys, queries*keys], axis=-1)
     d_layer_1_all = tf.layers.dense(din_all, 80, activation=tf.nn.sigmoid, name='f1_att', reuse=tf.AUTO_REUSE)
     d_layer_2_all = tf.layers.dense(d_layer_1_all, 40, activation=tf.nn.sigmoid, name='f2_att', reuse=tf.AUTO_REUSE)
     d_layer_3_all = tf.layers.dense(d_layer_2_all, 1, activation=None, name='f3_att', reuse=tf.AUTO_REUSE)
     d_layer_3_all = tf.reshape(d_layer_3_all, [-1, 1, tf.shape(keys)[1]])
     outputs = d_layer_3_all
     # Mask
     key_masks = tf.sequence_mask(keys_length, tf.shape(keys)[1])   # [B, T]
     key_masks = tf.expand_dims(key_masks, 1) # [B, 1, T]
     paddings = tf.ones_like(outputs) * (-2 ** 32 + 1)
     outputs = tf.where(key_masks, outputs, paddings)  # [B, 1, T]

     # Scale
     outputs = outputs / (keys.get_shape().as_list()[-1] ** 0.5)

     # Activation
     outputs = tf.nn.softmax(outputs)  # [B, 1, T]

     # Weighted sum
     outputs = tf.matmul(outputs, keys)  # [B, 1, H]

     return outputs

    输入:

    queries是候选商品的embedding表示;

    keys是用户浏览过的兴趣商品embeddings表示;

    keys_length 表示兴趣商品的数量,因为输入的keys对应的shape相同,所以根据不同的用户,需要额外输入兴趣商品的数量。

    过程:

    先对queries reshape成(B, 1, H)

    拼接[queries, keys, queries-keys, queries*keys],将候选商品和兴趣商品信息融合得到din_all

    对于din_all进行多次MLP计算得到权值,然后reshape为(B, 1, T)

    再根据输入的keys_length mask掉超过兴趣商品数量的维度

    最后用softmax归一化权值,并且对兴趣商品的embeddings进行加权求和并返回结果

    这个地方用的attention方法和我之前介绍过的 self attention 南枫:【NLP】换一种方式进行机器翻译-Transformer(模型和代码解析) [4]有很多相似之处,这里简单看一下不同点:

    self attention中queries和keys的shape一般是相同的,且都是序列形式。而这里的queries的输入是单纯的向量。

    信息融合的方式: self attention使用的是queries和keys进行矩阵乘法来得到权值,而DIN使用的是拼接[queries, keys, queries-keys, queries*keys],再进行MLP。这里加入更多的side information,符合推荐系统常用的交叉特征。

本回答被网友采纳