在计算机任务中,要求实现word2vec算法,以使用神经网络为某些单词生成密集向量。 我实现了神经网络,并通过训练数据对其进行了训练。 首先,如何在测试数据上对其进行测试? 该问题要求绘制一个图表,显示训练期间(时期)训练和测试数据的困惑性。 我可以为此做些损失,就像这样:
EPOCH: 0 LOSS: 27030.09155006593
EPOCH: 0 P_LOSS: 24637.964948774144
EPOCH: 0 PP: inf
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:121: RuntimeWarning: overflow encountered in double_scalars
EPOCH: 1 LOSS: 25349.086587261085
EPOCH: 1 P_LOSS: 22956.95998596929
EPOCH: 1 PP: inf
EPOCH: 2 LOSS: 24245.455581381622
EPOCH: 2 P_LOSS: 21853.32898008983
EPOCH: 2 PP: inf
EPOCH: 3 LOSS: 23312.976009712416
EPOCH: 3 P_LOSS: 20920.849408420647
我是通过以下代码获得的:
# CYCLE THROUGH EACH EPOCH
for i in range(0, self.epochs):
self.loss = 0
self.loss_prob = 0
# CYCLE THROUGH EACH TRAINING SAMPLE