从无数据中进行估算:从类别中得出连续分数

当只有分类标签可用于训练时,使用低容量网络获取细粒度评分的演练及其背后的数学原理从无数据进行估计:从类别中得出连续分数的帖子首先出现在走向数据科学上。

来源:走向数据科学

关于感染导致传染性呼吸道疾病的“病原体 A”的患者结果的数据。每个患者有 8 个特征和结果:(a) 在家接受治疗并康复,(b) 住院治疗并康复,或 (c) 死亡。

事实证明,训练神经网络以几乎完全准确的方式从 8 个特征中预测三个结果之一是微不足道的。然而,卫生当局希望预测一些没有被捕捉到的事情:在可以在家接受治疗的患者中,哪些人最有可能需要去医院?在预计住院的患者中,哪些人最有可能无法幸免于感染?我们能否得到一个代表感染严重程度的数字分数?

在这篇笔记中,我将介绍一个具有瓶颈的神经网络和一个特殊的头,用于从几个类别中学习评分系统,并介绍人们可能会遇到的小型神经网络的一些属性。随附的代码可以在 https://codeberg.org/csirmaz/category-scoring 找到。

数据集

为了能够说明这项工作,我开发了一个玩具示例,它是一段非线性但确定性的代码,用于计算 8 个特征的结果。该计算仅供说明之用——它不应该忠实于科学;所使用的特征的名称的选择仅仅是为了与医学示例保持一致。本笔记中使用的 8 个功能是:

  • 之前感染过病原体 A(布尔值)
  • 之前感染过病原体 B(布尔值)
  • 病原体 B 急性/当前感染(布尔值)
  • 癌症诊断(布尔值)
  • 与平均值的重量偏差,任意单位 (-100 ≤ x ≤ 100)
  • 年龄,岁数 (0 ≤ x ≤ 100)
  • 血压与平均值的偏差,任意单位 (0 ≤ x ≤ 100)
  • 吸烟年数 (0 ≤ x ≤ ~88)
  • 经典分类器

    但是如何训练评分系统呢?

    第 1 步:低容量网络

    第 2 步:类别近似器头

    步骤 3:提取阈值

    以及其中,

    ,

    结论