我正在构建最基本的线性分类器模型,以将输出分类为两个存储桶:类0和1。这是代码的摘录:
linear_classifier.train(
input_fn=training_input_fn,
steps=steps_per_period
)
training_probabilities = linear_classifier.predict(input_fn=probabilities_training_input_fn)
training_probabilities = np.array([item['probabilities'] for item in training_probabilities])
print (training_probabilities)
validation_probabilities = linear_classifier.predict(input_fn=probabilities_validation_input_fn)
validation_probabilities = np.array([item['probabilities'] for item in validation_probabilities])
大约有110个训练数据样本和20个验证数据样本。问题在于“ training_probabilities”和“ validation_probabilities”都显示出不稳定的行为。它们是二维张量。每个单个样本的0维值显示> 0.5(1类),每个样本的1维值显示<0.5(0类)。我期望样本之间会有不同的预测。
现在,如果我尝试显着提高学习率,我可以看到它们随着步数的增加而改变。但是,所有样本仍沿相同方向移动,也就是说,如果样本从一个类别移动到另一类别(概率变化),它们都会一起移动。这意味着对于每个单独的验证样本(属于训练样本)的预测,无论它属于0类还是1类,都完全相同。似乎这里有些事,有人可以帮忙吗?