使用支持向量机识别面部
1. 处理异常值
当一组包含异常值的观测数据无法严格线性分离时,我们可以允许对这些异常值进行错误分类,并尽量减少引入的误差。样本 $x^{(i)}$ 的误分类误差 $\zeta^{(i)}$(也称为铰链损失)可以表示为特定形式。结合我们想要减小的最终项 $||w||$,我们要最小化的最终目标值如下所示。
对于包含 $m$ 个样本 $(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}), \cdots, (x^{(i)}, y^{(i)}), \cdots, (x^{(m)}, y^{(m)})$ 的训练集,超参数 $C$ 控制着这两项之间的权衡:
- 若选择较大的 $C$ 值,误分类的惩罚相对较高。这意味着数据分离的规则更严格,模型可能容易过拟合,因为训练期间允许的错误较少。具有大 $C$ 值的 SVM 模型偏差较低,但可能会有高方差。
- 相反,若 $C$ 值足够小,误分类的影响相当低。与大 $C$ 值的模型相比,此模型允许更多误分类的数据点。因此,数据分离变得不那么严格。这样的模型方差较低,但可能会受到高偏差的影响。
参数 $C$ 决定了偏差和方差之间的平衡,可以通过交叉验证进行微调。
2. 实现 SVM
我们已经了解了 SVM 分类器的基础知识,现在将其应用于一个简单的二元分类数据集,使用来自 scikit - learn 的经典威斯康星乳腺癌数据集(https://scikit - learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html)。具体步骤如下:
1
超级会员免费看
订阅专栏 解锁全文
1541

被折叠的 条评论
为什么被折叠?



