1.一種基于GRU神經網絡的推薦方法,其特征在于,所述基于GRU神經網絡的推薦方法包括以下步驟:
S1、收集用戶對物品的歷史行為,并建立GRU神經網絡;
S2、按照行為發生時間對每一個用戶記錄的歷史行為進行先后排序;并針對每一個用戶生成相應的訓練樣本;
S3、根據訓練樣本對GRU神經網絡進行訓練,確定GRU神經網絡中的權重矩陣;
S4、根據訓練后的GRU神經網絡為每一個用戶生成推薦列表。
2.根據權利要求1所述基于GRU神經網絡的推薦方法,其特征在于,
所述GRU神經網絡包括輸入層、隱藏層以及輸出層,其中,所述輸入層的輸入包括用戶信息u(t)、用戶t時刻的行為信息a(t)以及用戶時刻行為t的目標物品信息v(t),所述隱藏層的輸出包括t時刻隱藏層的輸出s(t)、t-1時刻隱藏層的輸出s(t-1)以及t時刻替代隱藏層g,所述輸出層的輸出包括t時刻輸出層的輸出o(t)。
3.根據權利要求2所述基于GRU神經網絡的推薦方法,其特征在于,所述GRU神經網絡還包括重置門r和更新門z,所述重置門r的輸出的計算方法如下:
r=σ(Qru(t)+Wra(t)+Vrv(t)+Xrs(t-1))
其中,Qr,Vr,Wr,Xr分別表示輸入層u(t)、a(t)、v(t)、s(t-1)連接到隱藏層重置門r的權重矩陣;σ是sigmoid函數,σ(x)=1/(1+e-x);
所述更新門z的輸出的計算方法如下:
z=σ(Qzu(t)+Wza(t)+Vzv(t)+Xzs(t-1))
其中,Qz,Vz,Wz,Xz分別表示輸入層u(t)、a(t)、v(t)、s(t-1)連接到隱藏層更新門z的權重矩陣。
4.根據權利要求3所述基于GRU神經網絡的推薦方法,其特征在于,所述替代隱藏層g的輸出計算方法為:
其中,Q,V,W,X分別表示輸入層u(t)、a(t)、v(t)、s(t-1)連接到替代隱藏層g的權重矩陣。
5.根據權利要求4所述基于GRU神經網絡的推薦方法,其特征在于,隱藏層的輸出s(t),其計算方法為:
其中,表示按對應元素相乘。
6.根據權利要求5所述基于GRU神經網絡的推薦方法,其特征在于,輸出層的輸出o(t)的計算方法為:
o(t)=softmax(Ys(t))
其中,Y是隱藏層連接到輸出層的權重矩陣,softmax函數定義為:
7.根據權利要求6所述基于GRU神經網絡的推薦方法,其特征在于,所述步驟S3包括以下分步驟:
S31、隨機生成權重矩陣;
S32、檢查收斂條件,即檢查迭代次數是否達到上限;或目標函數的值是否不再減小;如果不滿足收斂條件,則進行步驟S33;反之則確定了GRU神經網絡中的權重矩陣,進行步驟S4;
S33、根據每一個用戶的訓練樣本對GRU神經網絡進行訓練,更新GRU神經網絡中的權重矩陣。
8.根據權利要求7所述基于GRU神經網絡的推薦方法,其特征在于,所述目標函數為其中,ti是第t時刻的訓練樣本中的物品編號,迭代次數上限為K≤100。
9.根據權利要求8所述基于GRU神經網絡的推薦方法,其特征在于,所述步驟S33包括以下分步驟:
S331、計算目標函數相對于權重矩陣的梯度;
S332、更新所有權重矩陣。
10.一種基于GRU神經網絡的推薦系統,其特征在于,所述基于GRU神經網絡的推薦系統包括以下功能模塊:
用戶行為收集模塊,用于收集用戶對物品的歷史行為,并建立GRU神經網絡;
訓練樣本生成模塊,用于按照行為發生時間對每一個用戶記錄的歷史行為進行先后排序;并針對每一個用戶生成相應的訓練樣本;
權重矩陣確定模塊,用于根據訓練樣本對GRU神經網絡進行訓練,確定GRU神經網絡中的權重矩陣;
推薦列表生成模塊,用于根據訓練后的GRU神經網絡為每一個用戶生成推薦列表。