2.2 构建更复杂的分类器
在前一节中,我们使用了一个非常简单的模型:在一个维度上用阈值进行划分。遍览本书,你可以看到很多其他类型的模型,但我们并不想涵盖所有东西。
一个分类模型是由什么组成的?我们可以把它分成三部分。
模型结构 在这里我们采用一个阈值在一个特征上进行划分。
搜索过程 在这里我们尽可能多的尝试所有特征和阈值的组合。
损失函数 我们通过损失函数来确定哪些可能性不会太差(因为我们不会去讨论完美的解决方案)。我们可以用训练误差或者其他方式定义这一点,比如我们想要最高的正确率。一般来说,人们希望损失函数最小化。
我们可以反复试验这三部分,并得到不同的结果。例如,我们可以设置一个阈值,让它的训练误差达到最小,不过对每个特征我们只测试三个值:特征的平均值、均值加一个标准偏差,以及均值减1个标准偏差。尤其是,如果测试每一个值都非常耗时(或者我们有成千上万的数据),那么就有必要使用我们刚才提到的那种方法。因为穷举搜索显然不可行,我们必须进行近似处理。
作为选择,我们可以有不同的损失函数。一种可能的情况是,一种错误比另一种的代价更大。在医疗领域,假阴性和假阳性的代价并不相同。假阴性 (当检测结果是阴性,但实际上是假的)可能会导致患有严重疾病的患者无法及时得到治疗。假阳性 (当检测结果是阳性,即使患者并没有真正患有这种病)可能会导致患者进行更多不必要的诊断和治疗(这仍然是有代价的,例如治疗的副作用)。因此,根据具体情况,选择不同的折中是可以理解的。在一个极端情况下,如果疾病是致命的,而治疗费用很低,副作用也很少,那么我们会希望尽可能使假阴性最少。在垃圾邮件过滤问题中我们面临同样的问题;误删一个正常邮件对用户来说是十分危险的,而让一个垃圾邮件通过,只会带来一点小麻烦。
提示 如何构造损失函数 取决于你正在处理的具体问题。在给出一个通用算法的时候,我们通常把精力集中在使分类错误最少上(达到最高的正确率)。然而,如果一些错误的代价比其他的更大,那么为使综合成本最小,也许接受一个较低的总体精度较好。
最终,我们还可以有其他的分类结构。简单的阈值规则是非常局限的,它只能在非常简单的情况下发挥作用,例如Iris数据集。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论