random.seed(3141) np.random.seed(59265) weights = np.random.randn(dimVectors, 5) print "Training for reg=%f" % regularization # We will do batch optimization weights = sgd(lambda weights: softmax_wrapper(trainFeatures, trainLabels, weights, regularization), weights, 3.0, 10000, PRINT_EVERY=100) # Test on train set _, _, pred = softmaxRegression(trainFeatures, trainLabels, weights) trainAccuracy = accuracy(trainLabels, pred) print "Train accuracy (%%): %f" % trainAccuracy # Test on dev set _, _, pred = softmaxRegression(devFeatures, devLabels, weights) devAccuracy = accuracy(devLabels, pred) print "Dev accuracy (%%): %f" % devAccuracy # Save the results and weights results.append({ "reg": regularization, "weights": weights, "train": trainAccuracy, "dev": devAccuracy })
dimensions[1] + 1) * dimensions[2], ) tr_N = trainLabels.shape[0] tr_labels = np.zeros((tr_N, dimensions[2])) for i in xrange(tr_N): tr_labels[i, trainLabels[i]] = 1 dv_N = devLabels.shape[0] dv_labels = np.zeros((dv_N, dimensions[2])) for i in xrange(dv_N): dv_labels[i, devLabels[i]] = 1 weights = sgd(lambda weights: neural_wrapper(trainFeatures, tr_labels, weights, dimensions), weights, 3.0, ITER, PRINT_EVERY=100) _, _, pred = forward_backward_prop(trainFeatures, tr_labels, weights, dimensions) trainAccuracy = accuracy(trainLabels, pred) print "Train accuracy (%%): %f" % trainAccuracy _, _, pred = forward_backward_prop(devFeatures, dv_labels, weights, dimensions) devAccuracy = accuracy(devLabels, pred) print "Dev accuracy (%%): %f" % devAccuracy ########################################### # Save the results and weights results.append({ "reg" : regularization, "weights" : weights, "train" : trainAccuracy, "dev" : devAccuracy})
random.seed(3141) np.random.seed(59265) weights = np.random.randn(dimVectors, 5) # 0,1,2,3,4 总共5类 print("Training for reg=%f" % regularization) # We will do batch optimization # 使用sgd来训练参数,并不重新训练词向量 weights = sgd(lambda weights: softmax_wrapper(trainFeatures, trainLabels, weights, regularization), weights, 3.0, 10000, PRINT_EVERY=100) # Test on train set _, _, pred = softmaxRegression(trainFeatures, trainLabels, weights) trainAccuracy = accuracy(trainLabels, pred) # 13.7289325843 print("Train accuracy (%%): %f" % trainAccuracy) # Test on dev set _, _, pred = softmaxRegression(devFeatures, devLabels, weights) devAccuracy = accuracy(devLabels, pred) print("Dev accuracy (%%): %f" % devAccuracy) # Save the results and weights results.append({ "reg": regularization, "weights": weights, "train": trainAccuracy, "dev": devAccuracy })
# Try our regularization parameters results = [] for regularization in REGULARIZATION: random.seed(3141) np.random.seed(59265) weights = np.random.randn(dimVectors, 5) print "Training for reg=%f" % regularization # We will do batch optimization weights = sgd(lambda weights: softmax_wrapper(trainFeatures, trainLabels, weights, regularization), weights, 3.0, 10000, PRINT_EVERY=100) # Test on train set _, _, pred = softmaxRegression(trainFeatures, trainLabels, weights) trainAccuracy = accuracy(trainLabels, pred) print "Train accuracy (%%): %f" % trainAccuracy # Test on dev set _, _, pred = softmaxRegression(devFeatures, devLabels, weights) devAccuracy = accuracy(devLabels, pred) print "Dev accuracy (%%): %f" % devAccuracy # Save the results and weights results.append({ "reg" : regularization, "weights" : weights, "train" : trainAccuracy, "dev" : devAccuracy}) # Print the accuracies
random.seed(3141) np.random.seed(59265) weights = np.random.randn(dimVectors, 5) print "Training for reg=%f" % regularization # We will do batch optimization weights = sgd(lambda weights: softmax_wrapper(trainFeatures, trainLabels, weights, regularization), weights, 3.0, 10000, PRINT_EVERY=100) # Test on train set _, _, pred = softmaxRegression(trainFeatures, trainLabels, weights) trainAccuracy = accuracy(trainLabels, pred) print "Training accuracy (%%): %f" % trainAccuracy # Test on dev set _, _, pred = softmaxRegression(devFeatures, devLabels, weights) devAccuracy = accuracy(devLabels, pred) print "The dev accuracy (%%): %f" % devAccuracy # Save the results and weights results.append({ "reg": regularization, "weights": weights, "train": trainAccuracy, "dev": devAccuracy })