损失函数神经元网络二元分类平均标签

问题描述

背景资料:
我正在尝试构建一个神经元网络来预测概率。 不幸的是,我只有类标签(特定事件发生与否),它们本质上是非常随机的。意思是,一个看似很大的部分是随机的,或者至少在特征数据中不相关。 它也是一个时间序列数据,但出于不同的原因,我将每个时间戳视为不同的数据点,时间编码为输入标签

我的标签是 0 或 1。当我使用以下行对数据集进行下采样时:

input_data = block_reduce(input_data,block_size=(4,1,1),func=np.mean)

这会导致某些标签具有价值:0.25、0.5 或 0.75 到目前为止,我只是通过选择每第 n 行来进行下采样,并使用 bceloss 作为我的损失函数。 但是我意识到以下几点:

>>> torch_label = torch.tensor([[1.,0.5],[1.,0.5]])
>>> torch_pred = torch.tensor([[1.,0.5]])
>>> loss_func = torch.nn.bceloss()
>>> print(loss_func(torch_pred,torch_label))
tensor(0.3466)

意思是它的行为不像我想要的那样。我尝试过 MSELoss,但它接缝错了,因为我仍然会说我有分类问题。

我实际上也关心事件发生的概率。我目前使用 SGD,因为 adam 对我不起作用,因为它是 stachastic 和 4 层神经网络。我使用网格搜索进行了优化。我也很感激任何提示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)