一、最大最小值、均值、和
通过 tf.reduce_max
, tf.reduce_min
, tf.reduce_mean
, tf.reduce_sum
可以求解张量在某个维度上的最大、最小、均值、和,也可以求全局最大、最小、均值、和信息。
考虑 shape 为[4,10]的张量,其中第一个维度代表样本数量,第二个维度代表了当前样
本分别属于10 个类别的概率
当不指定axis 参数时,tf.reduce_*
函数会求解出全局元素的最大、最小、均值、和:
与均值函数相似的是求和函数tf.reduce_sum(x,axis)
,它可以求解张量在axis 轴上所有特征的和
二、softmax 和 argmax
除了希望获取张量的最值信息,还希望获得最值所在的索引号,例如分类任务的标签
预测。
考虑10 分类问题,我们得到神经网络的输出张量out,shape 为[2,10],代表了2 个
样本属于10 个类别的概率,由于元素的位置索引代表了当前样本属于此类别的概率,预测时往往会选择概率值最大的元素所在的索引号作为样本类别的预测值:
此时每个索引号上的概率值代表了属于此索引号的类别的概率,对于第一个样本来说索引为 5 的类别概率最大,所以在预测时考虑第一个样本应该最有可能属于类别 5
此时就需要求解最大值索引号的一个典型应用。
通过 tf.argmax(x, axis)
,tf.argmin(x, axis)
可以求解在axis 轴上,x 的最大值、最小值所在的索引号:
可以看到,这 2 个样本概率最大值出现在索引 5和3 上,因此最有可能是类别 5 和 3,我们将类别 5和3 作为这2 个样本的分别的预测类别。