Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 使用Keras自定义损失函数的预测数的随机均匀分布_Tensorflow_Machine Learning_Keras_Neural Network_Loss Function - Fatal编程技术网

Tensorflow 使用Keras自定义损失函数的预测数的随机均匀分布

Tensorflow 使用Keras自定义损失函数的预测数的随机均匀分布,tensorflow,machine-learning,keras,neural-network,loss-function,Tensorflow,Machine Learning,Keras,Neural Network,Loss Function,我正在实现一个自定义损失函数,其中期望平均/均匀地预测标签。 i、 例如,给定一组标签-[1,2,3,4,5],我们需要最大化输出数的熵。每一个结果都应该有相同的概率 我不知道如何在这里实现相同的概率,仅仅增加相等的权重就足够了吗 from tensorflow import keras from tensorflow.keras import layers model = keras.Sequential() model.add(layers.Dense(64, kernel_initial

我正在实现一个自定义损失函数,其中期望平均/均匀地预测标签。 i、 例如,给定一组标签-[1,2,3,4,5],我们需要最大化输出数的熵。每一个结果都应该有相同的概率

我不知道如何在这里实现相同的概率,仅仅增加相等的权重就足够了吗

from tensorflow import keras
from tensorflow.keras import layers

model = keras.Sequential()
model.add(layers.Dense(64, kernel_initializer='uniform', input_shape=(5,)))
model.add(layers.Activation('softmax'))

def custom_loss_function(y_true, y_pred):
   squared_difference = tf.square(y_true - y_pred)
   return tf.reduce_mean(squared_difference, axis=-1)

weights = {1:1, 2:1, 3:1, 4:1, 5:1}
model.fit(x_train, y_train,verbose=1, epochs=10,class_weight=weights)

我会尝试对损失函数求反以得到最大熵(而不是最小值):这里加负数:return-tf。reduce_mean(平方差,轴=-1)我会尝试对损失函数求反以得到最大熵(而不是最小值):这里加负数:return-tf。reduce_mean(平方差,轴=-1)