【问题标题】:Poor performance help- muti-class classification by ANN性能不佳的帮助- ANN 的多类分类
【发布时间】:2021-03-30 23:08:01
【问题描述】:

我正在实施一个具有标准化特征和一次性编码标签的 7 类分类任务。但是,训练和验证的准确度极差。

如图所示,我使用 StandardScaler() 方法对特征进行了归一化,每个特征向量都是一个 54 维的 numpy 数组。另外,我按以下方式对标签进行单编码。

如下图,标签为(num_y, 7)个numpy数组。

我的网络架构:

这里展示了我是如何设计我的模型的。我想知道糟糕的结果是否与损失函数的选择有关(我一直在使用Categorical Cross-Entropy

感谢您的任何回复。非常感谢!

【问题讨论】:

    标签: neural-network categorical-data loss-function multiclass-classification


    【解决方案1】:

    使用准确率显然是错误的。您的问题中未提供我所指的代码,但我可以推测您正在将真实标签与模型输出进行比较。您的模型可能会返回一个维数为 7 的向量,该向量构成类的概率密度函数(由于最后一层中的 softmax 激活),如下所示:

    模型返回:(0.7 0 0.02 0.02 0.02 0.04 0.2) -- 它们总和为 1,因为它们代表概率

    然后你将这些数字与:(1 0 0 0 0 0 0)

    你要做的是将模型输出转换为相应的预测标签((0.7 0 0.02 0.02 0.02 0.04 0.2)对应于(1 0 0 0 0 0 0),因为第一个输出神经元具有更大的值(0.7 ))。您可以通过在模型输出后应用 max 函数来做到这一点。

    为了确保您的问题公式有什么问题,请打印您要与真实标签进行比较的向量,以获得准确度并检查它们是否是 7 个总和为 1 的数字。

    【讨论】:

    • 谢谢你,@Gaussian_Prior。问题彻底解决了。
    猜你喜欢
    • 2018-08-19
    • 2021-12-20
    • 2022-07-25
    • 2011-06-12
    • 1970-01-01
    • 2012-01-09
    • 2017-12-10
    • 1970-01-01
    • 2020-06-19
    相关资源
    最近更新 更多