12、Support Vector Machines(支持向量机)
支持向量机(SVM)是针对二分类任务设计的,对多分类任务要进行专门的推广。关于SVM,建议看西瓜书,而非吴恩达的视频。
12.1 Optimization objective(优化目标)
SVM的基本形式:
上述问题求解可使用“对偶问题(KKT—条件)”求解。
12.4 Kernels(核函数)
前面的讨论中,假设训练样本是线性可分的,即存在一个划分超平面能将训练样本正确分类。然而现实任务中,原始样本空间可能不存在一个能正确划分两个样本的超平面。对于这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
如果原始空间是有限维,即属性(特征)有限,那么一定存在一个高维特征空间使样本可分。关于核函数的详细推导可参考西瓜书。
“核函数”的定义:
常见的“核函数”:
映射到的高维特征空间的好坏对SVM的性能至关重要。需要注意的是,在不知道特征映射的形式时,我们不知道什么样的核函数是合适的,而核函数也仅是隐式地定义了这个特征空间。于是,“核函数选择”称为SVM的最大变数。
12.6 Use an SVM(使用SVM)
不同情况下,对学习算法的选择: