我目前正面临一个问题,我不确定是否有一个简单得多的解决方案。
我正在尝试用数据集来训练DNN,以完成应该对成本敏感的分类任务。关于这类任务的经典文献使用了一个成本权重,对于任何一种错误分类都是恒定的。我的问题需要使用输入的一个维度作为单一分类错误分类的代价。
我的解决方案是使用TensorFlow并将以后需要的参数添加到集合中,然后编写一个自定义丢失函数,从中获取集合中的值,以获取对成本敏感的损失。
所以我的问题是,有没有人知道更简单的解决方案,开源实现等等?
发布于 2019-04-05 11:00:05
分类成本有两种类型:每类和每个实例。
例如,在角化中,我们通过将sample_weight提供给.fit,为每个训练样本分配一个成本。例如,如果我们在第1行、第2行、第3行和第4行中有四个训练样本,而错误分类成本为2.5、1.5、1.0和1.0,那么我们就给sample_weight=[2.5, 1.5, 1.0, 1.0]喂食。
对于类成本,如果有三个类0、1和2,而错误分类成本为1.0、3.0、1.0,则我们向class_weight=[1.0, 3.0, 1.0]提供数据。
这里是Keras中的一个分步分类示例。
你应该用这条线来补充你的体重:
model.fit(train_images, train_labels, epochs=5)https://datascience.stackexchange.com/questions/48672
复制相似问题