machine-learning - 计算最佳成本函数 - SVM
问题描述
我必须使用 SVM 计算以下分类问题的成本函数:
训练数据:
X1 X2 Y
1.3 0.2 0
1.5 0.4 0
4.7 1.4 1
4.5 1.5 1
A. 1.6*x1 + 4*x2 - 5.6 = 0
B. 2.4*x1 + 4 * x2 - 7.2 = 0
C. 0.96*x1 + 4 * x2 - 4.8 = 0
如何计算上述每个决策边界的成本函数,以找到最佳值?
解决方案
要计算每个给定决策边界的“成本”,您必须计算每个数据点的预测标签。例如,对于决策边界 A 和第一个数据点,您必须替换x1 = 1.3
,x2 = 0.2
然后预测标签为1.6 * 1.3 + 4 * 0.2 - 5.6 = -2.72
。由于您正在处理二进制标签,通常模型(您没有训练模型并且已经给出决策边界)应该说“如果(1.6 * x1 + 4 * x2 - 5.6)> = 0,那么它的标签为 1"(反之亦然)。仔细检查给定的模型。例如,假设决策边界 A 的预测标签和第一个数据点是0
(因为计算值是 -2.72 < 0),那么这是一个真正的否定(因为预测标签和给定标签都是0
)。
总共有 4 种情况: 1)如果预测标签为 1,给定标签为 1,则称为“真阳性”。2)如果预测标签为0且给定标签为0,则称为“真阴性”。3)如果预测标签为1而给定标签为0,则称为“假阳性”。4)如果预测标签为0,给定标签为1,则称为“假阴性”。
然后,通常,成本函数是关于“真阳性”、“真阴性”、“假阳性”、“假阴性”的数量的函数。然后,在计算所有四个给定数据点的预测标签后,您可以计算这些数字,从而计算模型的成本。
PS 在 99.9% 的机会中,成本函数只会以“假阳性”、“假阴性”的形式出现,但在一些非常罕见的情况下,有时它也可能取决于“真阳性”、“真阴性”。
推荐阅读
- mysql - 如何从 Redhat Linux 中完全删除 MySQL 8,以便安装 MySQL 5?
- python - Python `pkgutil.get_data` 会中断未来的导入
- c# - 没有结果被保存,但结果被提取到表中
- python - 在 Python/R 中将表与其另一列分开
- python - 如何在numpy数组上映射函数
- python - 在 Pandas CSV 中拆分随机数据训练和数据测试
- ios - NavigationLink(destination: SomeView()) 仅在第一次 swiftUI 时工作
- sql - 按 15 分钟间隔的累积和组 - Oracle SQL
- c++ - 如何访问 char 数组元素的各个内存地址?
- string - 字符串包含不可翻译的字符