视频字幕
欢迎了解支持向量机,简称SVM。它是一种强大的监督学习算法,主要用于分类和回归分析。SVM的核心思想是找到一个最优的决策边界,将不同类别的数据点分开,并使这个边界与最近的数据点之间的距离(也就是间隔)最大化。在这个例子中,蓝色点和红色点代表两个不同的类别,绿色线是决策边界,两条浅绿色线表示最大间隔。
支持向量是离决策边界最近的数据点,它们实际上"支持"或定义了最优的决策边界。在这个例子中,黄色圆圈标记的点就是支持向量。SVM的目标是最大化决策边界与支持向量之间的距离,也就是间隔。这种最大化间隔的策略有助于提高模型的泛化能力,使模型在面对新数据时表现更好。虚线表示支持向量到各自边界的距离,这些距离是相等的。
对于线性不可分的数据,SVM使用一种称为"核技巧"的方法。核技巧的本质是将数据从原始的低维特征空间映射到更高维的特征空间,在那里数据可能变得线性可分。在左侧的原始特征空间中,我们可以看到两类数据呈现环形分布,无法用直线分隔。通过核函数变换后,在右侧的高维特征空间中,这些数据变得线性可分了。常见的核函数包括线性核、多项式核和径向基函数核,其中RBF核在实践中应用最为广泛。
SVM的数学原理基于最大间隔分类器的概念。在数学上,SVM寻找的超平面可以表示为w·x + b = 0,其中w是权重向量,b是偏置项。向量w垂直于决策边界,决定了边界的方向。
最大化间隔的优化问题可以表示为:最小化||w||²/2,约束条件是对所有训练样本,y_i(w·x_i + b) ≥ 1,其中y_i是类别标签(+1或-1)。
这个约束确保所有数据点都在正确的一侧,并且至少距离决策边界有一定距离。间隔的宽度等于2/||w||,所以最小化||w||²等价于最大化间隔。
通过拉格朗日乘数法和KKT条件,这个问题可以转化为对偶问题,最终SVM的决策函数为f(x) = sign(∑α_i y_i K(x_i, x) + b),其中α_i是拉格朗日乘数,只有支持向量的α_i不为零。
支持向量机在许多领域都有广泛的应用。在文本和图像分类中,SVM可以有效地区分不同类别的文档或图像。在人脸识别系统中,SVM可以用来识别人脸特征。在生物信息学领域,SVM被用于蛋白质分类和基因表达分析。在医学诊断中,SVM可以帮助医生根据患者的症状和检查结果进行疾病诊断。
SVM的主要优点包括:在高维空间中依然有效;当样本数量小于特征数量时仍然有效,这在基因分析等领域特别有用;通过核函数可以灵活处理非线性分类问题;决策函数只由少量支持向量决定,这使得模型内存高效且对异常值不敏感。
然而,SVM也有一些缺点:对于大规模数据集,计算成本较高;核函数的选择需要经验和领域知识;SVM不直接提供概率估计,这在某些需要概率输出的应用中可能是个缺点。
总的来说,支持向量机是机器学习中一个强大而灵活的工具,特别适合处理复杂的分类问题,尤其是在中小规模数据集上。