如何在经过训练的神经网络中找到最大和最小点

问题描述 投票:0回答:1

假设我有一个机器学习模型,该模型接受输入{X1 ... Xn}和输出y。如何在不迭代所有X值的情况下找到y的最大和最小点?

如果机器学习模型是线性回归,则有一个函数,因此问题很简单。我可以使用渐变并获得每个功能的最高/最低。

如果机器学习模型是神经网络,那么就没有泛化模型的功能。暴力是唯一的解决方案吗?

search optimization neural-network minimization maximization
1个回答
0
投票

如果输出是y,那么很容易找到最大值或最小值,您可以简单地将其视为一个numpy数组,并使用numpy.min()numpy.max()函数。

如果用输出表示最后一层的权重或最后一层的概率输出(softmax激活/ S型激活),那么您必须查找该特定库的文档(tensorflow,keras,pytorch等)。 。

对于大多数库,您可以获得每层(包括中间层)的输出。

在keras中,很容易获得softmax / Sigmoid激活输出。只需使用功能model.predict而不是model.predict_classes

© www.soinside.com 2019 - 2024. All rights reserved.