- AI源碼解讀:卷積神經網絡(CNN)深度學習案例:Python版
- 李永華編著
- 438字
- 2023-08-04 18:54:04
1.3.2 模型設計
獲得數據集并進行預處理之后,進行神經網絡的構建和設計,包括定義嵌入矩陣、構建全連接層和損失函數。
1.定義嵌入矩陣
神經網絡的起點是嵌入層,包括用戶特征和電影特征。其中,對于用戶特征,只需將預處理后的數據作為嵌入矩陣的索引即可。電影特征需要分類討論,然后多個矩陣相加求和,因為一部電影可能有多種類型特征,對電影名稱的分析則需要用到文本卷積網絡。
文本卷積網絡的第一層是詞嵌入層,由每一個單詞的嵌入向量組成嵌入矩陣。第二層是使用多個不同窗口大小的卷積核在嵌入矩陣上做卷積(窗口大小是指每次卷積覆蓋幾個單詞)運算,文本卷積要覆蓋整個單詞的嵌入向量。第三層網絡通過最大池化得到一個長向量,最后使用Dropout進行正則化,得到電影名稱的特征。



2.構建全連接層
從嵌入層索引出特征后,將各特征傳入全連接層,將得到的輸出結果再次傳入全連接層,最終得到用戶特征和電影特征向量。

3.損失函數
直接將用戶特征和電影特征進行矩陣乘法運算得到預測評分,再用MSE算法將預測評分與真實評分進行回歸運算得到損失函數。
