上QQ阅读APP看书,第一时间看更新
1.3.2 模型设计
获得数据集并进行预处理之后,进行神经网络的构建和设计,包括定义嵌入矩阵、构建全连接层和损失函数。
1.定义嵌入矩阵
神经网络的起点是嵌入层,包括用户特征和电影特征。其中,对于用户特征,只需将预处理后的数据作为嵌入矩阵的索引即可。电影特征需要分类讨论,然后多个矩阵相加求和,因为一部电影可能有多种类型特征,对电影名称的分析则需要用到文本卷积网络。
文本卷积网络的第一层是词嵌入层,由每一个单词的嵌入向量组成嵌入矩阵。第二层是使用多个不同窗口大小的卷积核在嵌入矩阵上做卷积(窗口大小是指每次卷积覆盖几个单词)运算,文本卷积要覆盖整个单词的嵌入向量。第三层网络通过最大池化得到一个长向量,最后使用Dropout进行正则化,得到电影名称的特征。
2.构建全连接层
从嵌入层索引出特征后,将各特征传入全连接层,将得到的输出结果再次传入全连接层,最终得到用户特征和电影特征向量。
3.损失函数
直接将用户特征和电影特征进行矩阵乘法运算得到预测评分,再用MSE算法将预测评分与真实评分进行回归运算得到损失函数。