TensorFlow:最大最小值、均值、和、softmax 及 argmax 的应用

一、最大最小值、均值、和

通过 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 个样本的分别的预测类别。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
argmax函数是一种Python中的常见函数,用于在数组或列表中查找具有最大值的元素的位置。argmax函数会扫描整个数组或列表,并返回元素的索引(位置)而不是具体的数值。 在Python中,我们可以使用numpy库中的argmax()函数来实现对数组中最大值元素索引的获取。该函数的语法为:numpy.argmax(array, axis=None, out=None)。 其中,array是需要查找最大值的数组;axis是用于指定查找方向,即要查找的轴;out是指定结果保存的位置。如果out为None,则返回新的数组;否则方法会将结果写入out中。 argmax函数的返回值是一个数值,代表在数组中最大值元素的位置(索引)。如果数组中有多个最大值,则返回第一个匹配的最大值位置。 例如以下代码: import numpy as np a = np.array([2, 11, 6, 9, 10]) result = np.argmax(a) 则变量result将会被赋值为1,因为在数组a中,最大值为11,并且位于索引1的位置上。如果我们将该代码改成以下形式: import numpy as np a = np.array([[2, 11, 6], [9, 10, 7]]) result = np.argmax(a, axis=0) 则变量result将会被赋值为[1, 0, 1],代表两行三列的二维数组a中,每一列最大值(11和10和7)分别出现在第1行、第0行和第1行。 总的来说,argmax函数在Python中是一个非常常用的函数,尤其在处理数据分析和机器学习等数据科学领域的应用中使用频率较高。熟练掌握该函数的使用方法对于提高工作效率和代码质量均具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南淮北安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值