22.支持向量机—高斯核函数
主要内容
- 高斯核函数的引入
- 高斯核函数详细介绍
一、高斯核函数的引入
1.1 非线性决策边界问题—常规方法(高级数的多项式模型)
-
对于一个非线性决策边界问题,我们可以使用高级数的多项式模型 来解决无法用直线进行分隔的分类问题:
-
为了获得上图所示的判定边界,我们的模型可能是
θ
0
+
θ
1
x
1
+
θ
2
x
2
+
θ
3
x
1
x
2
+
θ
4
x
1
2
+
θ
5
x
2
2
+
⋯
{{theta }_{0}}+{{theta }_{1}}{{x}_{1}}+{{theta }_{2}}{{x}_{2}}+{{theta }_{3}}{{x}_{1}}{{x}_{2}}+{{theta }_{4}}x_{1}^{2}+{{theta }_{5}}x_{2}^{2}+cdots
θ0+θ1x1+θ2x2+θ3x1x2+θ4x12+θ5x22+⋯ 的形式。
-
我们可以用一系列的新的特征
f
f
f来替换模型中的每一项。例如令:
f
1
=
x
1
,
f
2
=
x
2
,
f
3
=
x
1
x
2
,
f
4
=
x
1
2
,
f
5
=
x
2
2
{{f}_{1}}={{x}_{1}},{{f}_{2}}={{x}_{2}},{{f}_{3}}={{x}_{1}}{{x}_{2}},{{f}_{4}}=x_{1}^{2},{{f}_{5}}=x_{2}^{2}
f1=x1,f2=x2,f3=x1x2,f4=x12,f5=x22得到
h
θ
(
x
)
=
θ
1
f
1
+
θ
2
f
2
+
.
.
.
+
θ
n
f
n
h_θ(x)={{theta }_{1}}f_1+{{theta }_{2}}f_2+...+{{theta }_{n}}f_n
hθ(x)=θ1f1+θ2f2+...+θnfn。
2.2 非线性决策边界问题—优化方法(高斯核函数)
- 给定一个训练样本
x
x
x
x
l
(
1
)
,
l
(
2
)
,
l
(
3
)
l^{(1)},l^{(2)},l^{(3)}
f
1
,
f
2
,
f
3
f_1,f_2,f_3
-
新特征的得到方法:例如:
f
1
=
s
i
m
i
l
a
r
i
t
y
(
x
,
l
(
1
)
)
=
e
(
−
∥
x
−
l
(
1
)
∥
2
2
σ
2
)
{{f}_{1}}=similarity(x,{{l}^{(1)}})=e(-frac{{{left| x-{{l}^{(1)}} right|}^{2}}}{2{{sigma }^{2}}})
f1=similarity(x,l(1))=e(−2σ2∥x−l(1)∥2)
-
其中:
∥
x
−
l
(
1
)
∥
2
=
∑
j
=
1
n
(
x
j
−
l
j
(
1
)
)
2
{{left| x-{{l}^{(1)}} right|}^{2}}=sum{_{j=1}^{n}}{{({{x}_{j}}-l_{j}^{(1)})}^{2}}
∥
∥x−l(1)∥
∥2=∑j=1n(xj−lj(1))2,为实例
x
x
x中所有特征与地标
l
(
1
)
l^{(1)}
l(1)之间的距离的和。上例中的
s
i
m
i
l
a
r
i
t
y
(
x
,
l
(
1
)
)
similarity(x,{{l}^{(1)}})
similarity(x,l(1))就是核函数,具体而言,这里是一个高斯核函数(Gaussian Kernel)
-
地标的作用:
-
如果一个训练样本
x
x
x与地标
l
l
l之间的距离近似于0,则新特征
f
f
f近似于**
e
−
0
=
1
e^{-0}=1
e−0=1,**
-
如果训练样本
x
x
x与地标
l
l
l之间距离较远,则
f
f
f近似于**
e
−
(
一个较大的数
)
=
0
e^{-(一个较大的数)}=0
e−(一个较大的数)=0**
-
-
利用高斯核函数来预测的方法:
-
在上图中,假设我们已经训练好了参数列表为:$θ_0=-0.5 ,θ_1=1,θ_2=1,θ_3=0 $
-
则当样本处于洋红色的点位置处,因为其离
l
(
1
)
l^{(1)}
l(1)更近,但是离
l
(
2
)
l^{(2)}
l(2)和
l
(
3
)
l^{(3)}
l(3)较远,因此
f
1
f_1
f1接近1,而
f
2
f_2
f2,
f
3
f_3
f3接近0。因此
h
θ
(
x
)
=
θ
0
+
θ
1
f
1
+
θ
2
f
2
+
θ
1
f
3
>
0
h_θ(x)=θ_0+θ_1f_1+θ_2f_2+θ_1f_3>0
hθ(x)=θ0+θ1f1+θ2f2+θ1f3>0,因此预测
y
=
1
y=1
y=1
-
同理可以求出,对于离
l
(
2
)
l^{(2)}
l(2)较近的绿色点,带入计算得
h
θ
(
x
)
>
0
h_θ(x)>0
hθ(x)>0也预测
y
=
1
y=1
y=1,
-
但是对于蓝绿色的点,因为其离三个地标都较远,带入计算得
h
θ
(
x
)
<
0
h_θ(x)<0
hθ(x)<0预测
y
=
0
y=0
y=0
-
最后我们依据一个个单一的训练样本和我们选取的地标所得决策判定边界——即图中红色圈圈,在红色圈圈范围内预测
y
=
1
y=1
y=1,在红色圈圈范围外预测
y
=
0
y=0
y=0,在预测时,我们采用的特征不是训练样本本身的特征,而是通过核函数计算出的新特征
f
1
,
f
2
,
f
3
f_1,f_2,f_3
f1,f2,f3
-
二、高斯核函数详细介绍
2.1 高斯核函数中地标
l
(
1
)
l^{(1)}
l(1)与
σ
sigma
σ值不同对 函数
f
f
f 得影响
-
假设我们的训练样本含有两个特征[
x
1
x_{1}
x1
x
2
x{_2}
x2],给定地标
l
(
1
)
l^{(1)}
l(1)与不同的
σ
sigma
σ值,见下图:
-
说明: 中水平面的坐标为
x
1
x_{1}
x
2
x_{2}
f
f
-
说明: 中水平面的坐标为
-
可以看出,只有当
x
x
x与
l
(
1
)
l^{(1)}
l(1)重合时
f
f
f才具有最大值
-
随着
x
x
x的改变
f
f
f值改变的速率受到
σ
2
sigma^2
σ2的控制
- α2越大,高斯核函数变得越平滑,即得到一个随输入x变化较缓慢,模型的偏差和方差大,泛化能力差,容易过拟合
- α2越小,高斯核函数变化越剧烈,曲线越瘦变化越快,模型的偏差和方差越小,模型对噪声样本比较敏感。
2.2 高斯核函数中地标的选择方法
- 通常是根据训练集的数量选择地标的数量,即如果训练集中有
m
m
m
m
l
(
1
)
=
x
(
1
)
,
l
(
2
)
=
x
(
2
)
,
.
.
.
.
.
,
l
(
m
)
=
x
(
m
)
l^{(1)}=x^{(1)},l^{(2)}=x^{(2)},.....,l^{(m)}=x^{(m)}
- 好处: 新特征建立在原有特征与训练集中所有其他特征之间距离的基础之上
-
对实例 (x(i),y(i)),有:
2.3 将高斯核函数应用于支持向量机SVM中
-
将高斯核函数Gaussian Kernel 代入 SVM 的代价函数cost function:
- 这里与之前的 cost function的区别在于用核函数 f 代替了x
- 预测一个实例 x 对应结果的方法: 给定
x
x
f
f
时预测
时预测
-
为了简化计算, 在计算正则项$ θ^Tθ$ 时,用$ θ^TMθ $代替 $θ^Tθ $,其中 M 是一个矩阵,核函数不同则M不同。
(注:理论上也可以在逻辑回归中使用核函数,但使用 M 简化计算的方法不适用于逻辑回归,计算将非常耗时。)
2.4 SVM 中的参数
-
带有高斯核函数的支持向量机SVM有两个参数
C
C
C 和
σ
σ
σ, 对预测结果的影响:
-
(1) 参数
C
C
C
- 当 C 较大,相当于 λ 小,可能会导致过拟合,高方差 variance
- 当 C 较小,相当于 λ 大,可能会导致欠拟合,高偏差 bias
-
(2) 参数
σ
σ
σ
-
当 σ 较大时,图像扁平,可能会导致低方差,高偏差 bias
-
当 σ 较小时,图像窄尖,可能会导致低偏差,高方差 variance
-
2.5 线性核函数(linear kernel)
- 不使用核函数又称为线性核函数。线性核函数SVM 适用于函数简单,或特征非常多而实例非常少的情况。
如果觉得文章对你有帮助的话,可以给我点赞鼓励一下我哦,欢迎小伙伴们收藏文章
关注我,我们一起学习,一起进步!!!