龙空技术网

腾讯广告算法大赛冠军代码解读:稠密特征工程

实战君 62

前言:

此刻各位老铁们对“网站广告代码”大约比较讲究,兄弟们都想要了解一些“网站广告代码”的相关知识。那么小编同时在网摘上网罗了一些关于“网站广告代码””的相关内容,希望同学们能喜欢,大家快快来了解一下吧!

什么是稠密特征?

本赛题中利用 word2vec 变换得到的特征维度设定为 n*64,因此得到的稠密特征也是一个 n*64 的矩阵。稠密的特性体现在,64 个维度上每一个维度都存在有意义的值,需要进行计算。如下图:

稠密特征的特点是保留了尽可能多的信息,但是相应的也增加了很多的计算量,大大提高了计算的时间复杂度。

如何得到稠密特征?

本赛题中使用 word2vec 和 deepwalk 两种模型来获得稠密特征。

word2vec 旨在利用一个简单的神经网络模型,对特征按照神经元个数进行矩阵分解,得到的中间矩阵就是我们想要的稠密特征。

deepwalk 是一个图模型,旨在表达节点之间的点和边的关系。可以得到如下图的矩阵:

代码

word2vec

model = Word2Vec(sentence, size=L, window=10, min_count=1, workers=10,iter=10)

deepwalk

# 构建图    dic={}    for item in log[[f1,f2]].values:        try:            str(int(item[1]))            str(int(item[0]))        except:            continue        try:            dic['item_'+str(int(item[1]))].add('user_'+str(int(item[0])))        except:            dic['item_'+str(int(item[1]))]=set(['user_'+str(int(item[0]))])        try:            dic['user_'+str(int(item[0]))].add('item_'+str(int(item[1])))        except:            dic['user_'+str(int(item[0]))]=set(['item_'+str(int(item[1]))])# 构建路径path_length=10            sentences=[]    length=[]    for key in dic:        sentence=[key]        while len(sentence)!=path_length:            key=dic[sentence[-1]][random.randint(0,dic_cont[sentence[-1]]-1)]            if len(sentence)>=2 and key == sentence[-2]:                break            else:                sentence.append(key)        sentences.append(sentence)        length.append(len(sentence))        if len(sentences)%100000==0:            print(len(sentences))# 使用 word2vec 训练Deepwalk模型    random.shuffle(sentences)    model = Word2Vec(sentences, size=L, window=4,min_count=1,sg=1, workers=10,iter=20)# 对模型进行输出out_df=pd.DataFrame(w2v)
赛题里是如何使用稠密特征的?

本赛题是直接将稠密特征放入 MLP 中计算的

if hparams.dense_features is not None:   feed_dic[self.dense_features]=train_dense_features[idx*hparams.batch_size:\    min((idx+1)*hparams.batch_size,len(train))]...loss,_,norm=sess.run([self.score,self.update,self.grad_norm],feed_dict=feed_dic)
本赛题中涉及到到稠密特征?uid_w2v_embedding_aid_64_1uid_w2v_embedding_aid_64_2...uid_w2v_embedding_aid_64_64uid_aid_aid_deepwalk_embedding_64_1uid_aid_aid_deepwalk_embedding_64_2...uid_aid_aid_deepwalk_embedding_64_64periods_on_1periods_on_2...periods_on_48

标签: #网站广告代码