1. 支持向量机
1.1. 从logistic回归到支持向量机
logistic回归模型:
θminm1[i=1∑my(i)(−loghθ(x(i)))+(1−y(i))(−log(1−hθ(x(i))))]+2mλj=1∑nθj2
其中−logh(x)=−log1+e−x1的图形如下:

−log(1−h(x))=−log(1−1+e−x1)的图形如下:

要使logistic回归误差最小,则:
当y=1时,θTx(i)≥0;
当y=0时,θTx(i)≤0;
这里支持向量机要求更加严格,要使支持向量机误差最小,则:
当y=1时,θTx(i)≥1;
当y=0时,θTx(i)≤−1;
此时支持向量机的误差函数为:
θminC[i=1∑my(i)cost1(θTx(i))+(1−y(i))cost0(θTx(i))]+21j=1∑nθj2
其中:
C=λ1cost1(θTx(i))={0,−a1θTx(i)+b1,if θTx(i)≥1otherwisecost0(θTx(i))={0,a0θTx(i)+b0,if θTx(i)≤−1otherwise(a1>0,b1>0,a0>0,b0>0)

如若能找到一系列θ,使得:
当y=1时,θTx(i)≥1;
当y=0时,θTx(i)≤−1;
则代价函数简化为:
J(θ)=21j=1∑nθj2s.t.{θTx(i)≥1,θTx(i)≤−1,if y(i)=1if y(i)=0
令负样本的取值为-1,正样本的取值为+1,则支持向量机的参数表达式为:
θmin s.t. 21∣∣θ∣∣2y(i)θTx(i)≥1,i=1,2,...,n
1.2. 线性可分支持向量
假设能找到一个超平面,把样本中的所有正样本和负样本区分开来,这样的样本就是线性可分的。

存在一条唯一的超平面,使得各点到该超平面的最小距离最大。
假设该超平面为:
θTx+b=0
则各点到该超平面的距离为:
γi=y(i)∣∣θ∣∣θTx(i)+b
乘上y(i)保证γi为正值。
令最小距离为γ,则:
γ=min(γi)=y(k)∣∣θ∣∣θTx(k)+b
所以该线性可分向量机参数方程为:
θ,bmax s.t. γy(i)∣∣θ∣∣θTx(i)+b≥γ,i=1,2,...,n
等价于:
θ,bmax s.t. K∣∣θ∣∣1∣∣θ∣∣γ1y(i)(θTx(i)+b)≥1,i=1,2,...,n
其中K=y(k)(θTx(k)+b)为常数,将θT和b同时缩小∣∣θ∣∣γ倍,作为新的θT和b。则原式等价于:
θmin s.t. 21∣∣θ∣∣2y(i)(θTx(i)+b)≥1,i=1,2,...,n
得到和1.1相同的表达式,这就是线性可分支持向量的满足的约束表达式。
2. 核函数
上述表达式只适用于样本为线性可分的场景,但对于线性不可分的场景就不能适用,这里提出核函数的概念,把线性不可分的样本转变成线性可分的样本。
高斯核函数(Gaussian kernel)
f(x)=e−2δ2(x−l)2
l为标记点,当x与l相距很近时,f(x)→1;当x与l相距很远时,f(x)→0;δ越大,曲线下降越慢。
我们将样本输入的每一个点作为一个标记,则有f1,f2,...fm个核函数。则:
θmin s.t. 21∣∣θ∣∣2y(i)(θTf(x(i))+b)≥1,i=1,2,...,n
其中:
θ=[θ1 θ2 ... θm]Tf(x(i))=[e−2δ2(x(i)−x(1))2 e−2δ2(x(i)−x(2))2 ... e−2δ2(x(i)−x(m))2]T
3. 支持向量机选择时机
logistic回归和不带核函数的支持向量机本质上基本一样,何时使用logistic回归和支持向量机,可通过特征量n和样本量m来决定。
-
n>>m,即训练集数据量不够支持我们训练一个复杂的非线性模型,选用logistic回归模型或者不带核函数的支持向量机。
- 如果????较小,而且????大小中等,n∈(1,1000),m∈(10,10000),使用高斯核函数的支持向量机。
- 如果????较小,而????较大,n∈(1,1000),m>50000,则使用支持向量机会非常慢。可以增加更多的特征,然后使用logistic回归或不带核函数的支持向量机。