【问题标题】:How to compute probabilities instead of actual classifications on ML problems如何计算概率而不是 ML 问题的实际分类
【发布时间】:2014-08-07 18:20:30
【问题描述】:

假设我们有一些数据点可以用作训练集。每行由 4 个采用布尔值的列(特征)组成。第 5 列表示类,它也采用布尔值。这是一个例子(它们几乎是随机的):

1,1,1,0,1
0,1,1,0,1
1,1,0,0,1
0,0,0,0,0
1,0,0,1,0
0,0,0,0,0

现在,我想做的是建立一个模型,使得对于任何给定的输入(新行),系统不会返回类本身(就像在常规分类问题的情况下一样),而是返回这个特定的概率输入属于 0 类或 1 类。我该怎么做?此外,如何生成与该计算相关的置信区间或错误率?

【问题讨论】:

    标签: machine-learning classification regression


    【解决方案1】:

    并非所有分类算法都返回概率,因为并非所有分类算法都具有潜在的概率模型。例如,分类树只是一组规则,您可以遵循这些规则将每个新输入分配给特定的类。

    确实具有基础概率模型的分类算法的一个示例是逻辑回归。在该算法中,特定输入x 在该类中的概率为

    prob = 1 / (1 + exp( -theta * x ))
    

    其中 theta 是与x 具有相同维数的系数向量。通常,要从概率转移到分类,您只需设置阈值,例如

    if prob < 0.5
      return 0;
    else
      return 1;
    end
    

    其他分类算法可能有概率解释,例如随机森林本质上是一种具有多个分类树的投票算法。如果 80% 的树投票给第 1 类,20% 投票给第 2 类,那么您可以输出 80% 的属于第 1 类的概率。但这是模型工作方式的副作用,而不是明确的潜在概率型号。

    【讨论】:

      猜你喜欢
      • 2015-11-05
      • 2023-03-19
      • 1970-01-01
      • 2023-03-12
      • 2011-09-30
      • 2016-07-28
      • 2020-11-09
      • 2012-10-06
      • 2019-02-12
      相关资源
      最近更新 更多