![AI源码解读:卷积神经网络(CNN)深度学习案例:Python版](https://wfqqreader-1252317822.image.myqcloud.com/cover/399/47216399/b_47216399.jpg)
上QQ阅读APP看书,第一时间看更新
1.3.2 模型设计
获得数据集并进行预处理之后,进行神经网络的构建和设计,包括定义嵌入矩阵、构建全连接层和损失函数。
1.定义嵌入矩阵
神经网络的起点是嵌入层,包括用户特征和电影特征。其中,对于用户特征,只需将预处理后的数据作为嵌入矩阵的索引即可。电影特征需要分类讨论,然后多个矩阵相加求和,因为一部电影可能有多种类型特征,对电影名称的分析则需要用到文本卷积网络。
文本卷积网络的第一层是词嵌入层,由每一个单词的嵌入向量组成嵌入矩阵。第二层是使用多个不同窗口大小的卷积核在嵌入矩阵上做卷积(窗口大小是指每次卷积覆盖几个单词)运算,文本卷积要覆盖整个单词的嵌入向量。第三层网络通过最大池化得到一个长向量,最后使用Dropout进行正则化,得到电影名称的特征。
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P21_1883.jpg?sign=1739006396-rUfDAiQWD6lyaiBRuotcRAmIhXuwmdED-0-083c3cc603c59e4c8ef83bc7de08977e)
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P22_1886.jpg?sign=1739006396-qBEYx7695evws2zk2j8tkt8tjYczpWKC-0-680157cedaac8a5505268527450695bd)
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P23_7328.jpg?sign=1739006396-guTqtpg2hFV9QrKqJZL8rvROagbwkoh1-0-01650e7f13ae467b6a61956c6e7b1aaa)
2.构建全连接层
从嵌入层索引出特征后,将各特征传入全连接层,将得到的输出结果再次传入全连接层,最终得到用户特征和电影特征向量。
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P23_1892.jpg?sign=1739006396-NZZx0ErPeUiH2xkzbfOu59qzzZeEllbV-0-0529421ad7abeb0e787b90cdbda5906c)
3.损失函数
直接将用户特征和电影特征进行矩阵乘法运算得到预测评分,再用MSE算法将预测评分与真实评分进行回归运算得到损失函数。
![](https://epubservercos.yuewen.com/AEF001/26580728501158706/epubprivate/OEBPS/Images/Figure-P24_1898.jpg?sign=1739006396-mzVjOOr51VfcYigw9csMmPy90VpItaVe-0-8f061efffbd9fbde19de958c527f3fb4)