支持向量机(Support Vector Machine, SVM)是一种广泛应用于分类和回归的监督学习算法。其基本思想是在高维空间中找到一个超平面,将不同类别的数据点分开,并且使得超平面到最近的数据点的距离最大。
具体来说,给定一个训练数据集 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) {(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)} (x1,y1),(x2,y2),...,(xn,yn),其中 x i ∈ R d x_i \in \mathbb{R}^d xi∈Rd表示数据点的特征向量, y i ∈ − 1 , 1 y_i \in {-1, 1} yi∈−1,1表示数据点的标签。SVM的目标是找到一个决策函数 f ( x ) f(x) f(x),对于新的数据点 x x x,如果 f ( x ) ≥ 0 f(x) \geq 0 f(x)≥0,则将其预测为正类,否则预测为负类。
SVM的模型表达式可以写为:
f ( x ) = sign ( ∑ i = 1 n α i y i K ( x i , x ) + b ) f(x)=\text{sign}(\sum_{i=1}^n \alpha_i y_i K(x_i, x) + b) f(x)=sign(i=1∑nαiyiK(xi,x)+b)
其中, α i \alpha_i αi是支持向量机的参数, b b b是偏移量, K ( x i , x ) K(x_i, x) K(xi,x)是核函数。核函数用于将特征空间映射到高维空间,使得数据在高维空间中更容易分开。常用的核函数有线性核函数、多项式核函数、径向基核函数等。
支持向量机的基本思想是找到一个超平面,使得样本点到该超平面的间隔最大化,间隔指的是样本点到超平面的最短距离。最大化间隔可以使得支持向量机的泛化性能更好,也可以避免过拟合。支持向量机的优化问题可以转化为二次规划问题进行求解。