本周主要内容
1.支持向量机优化目标
SVM (Support Vector Machine)
由逻辑回归修改至支持向量机:
假
设
函
数
:
h
θ
(
x
)
=
1
1
+
e
−
θ
T
x
假设函数:h_\theta(x)={1 \over 1+e^{-\theta^Tx} }
假设函数:hθ(x)=1+e−θTx1
可知: 逻辑回归为分类函数,如果y=1则希望
h
θ
h_\theta
hθ能够接近1,因此
θ
T
x
\theta^Tx
θTx要远远大于0,否则则相反。
观察: 损失函数:
C
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
=
−
y
×
log
(
h
θ
(
x
)
)
−
(
1
−
y
)
×
log
(
1
−
h
θ
(
x
)
)
Cost(h_{\theta}(x^{(i)}),y^{(i)})=-y\times\log(h_\theta(x))-(1-y)\times\log(1-h_\theta(x))
Cost(hθ(x(i)),y(i))=−y×log(hθ(x))−(1−y)×log(1−hθ(x))
y = 1时候:
C
o
s
t
=
−
log
1
1
+
e
−
θ
T
x
Cost=-\log{1 \over 1+e^{-\theta^Tx} }
Cost=−log1+e−θTx1,利用粉色线模拟原图像,称之
c
o
s
t
1
(
z
)
,
z
>
1
损
失
最
小
cost_1(z),z>1 损失最小
cost1(z),z>1损失最小
y = 0时候:
C
o
s
t
=
log
(
1
−
1
1
+
e
−
θ
T
x
)
Cost=\log(1-{1 \over 1+e^{-\theta^Tx} })
Cost=log(1−1+e−θTx1),利用粉色线模拟原图像,称之
c
o
s
t
0
(
z
)
,
z
<
−
1
损
失
最
小
cost_0(z),z<-1 损失最小
cost0(z),z<−1损失最小
构建支持向量机 :
- 逻辑回归损失函数中,去掉 1 m 1 \over m m1,加入参数C,去掉 λ \lambda λ, C = 1 λ C={1 \over \lambda} C=λ1得到支持向量机优化的目标函数,最小化目标函数,学习到C
2.支持向量机大边界
可见三条线均可以分类但是黑色线更佳
其中C的作用:
C相当于
λ
\lambda
λ的倒数因此与
λ
\lambda
λ影响正相反
C较大时,
λ
\lambda
λ较小,容易过拟合,导致高方差
C较小时,
λ
\lambda
λ较大,容易欠拟合,导致高偏差
向量内积知识补充: u T v = p ⋅ ∣ ∣ v ∣ ∣ , p 为 u 投 影 在 v 上 的 向 量 u^Tv = p\cdot ||v||,p为u投影在v上的向量 uTv=p⋅∣∣v∣∣,p为u投影在v上的向量,
简化损失函数前项为0,则结果为 1 2 ∣ ∣ θ ∣ ∣ , 即 为 损 失 成 本 函 数 , 找 到 θ 使 1 2 ∣ ∣ θ ∣ ∣ 最 小 , 由 补 充 的 知 识 可 知 θ T x = p ⋅ ∣ ∣ θ ∣ ∣ , p ⋅ ∣ ∣ θ ∣ ∣ > 0 , p 大 了 , 就 可 以 让 变 小 一 些 , 即 损 失 最 小 化 , 实 现 了 大 边 界 {1\over2}||\theta||,即为损失成本函数,找到\theta使{1\over2}||\theta||最小,由补充的知识可知\theta^Tx= p\cdot ||\theta||,p\cdot ||\theta||>0,p大了,就可以让变小一些,即损失最小化,实现了大边界 21∣∣θ∣∣,即为损失成本函数,找到θ使21∣∣θ∣∣最小,由补充的知识可知θTx=p⋅∣∣θ∣∣,p⋅∣∣θ∣∣>0,p大了,就可以让变小一些,即损失最小化,实现了大边界
3.核函数
高斯核函数
如何选取地标呢,就是从训练集m选m个地标,每个都进行运算得到对应的
f
(
i
)
f^{(i)}
f(i)
选择不带任何内核参数的为线性核函数
选用逻辑回归和向量机的普遍使用准则:
- 如果n比m大很多,即训练集数据量不够支持我们训练一个复杂非线性模型,选用逻辑回归或是不带核函数的支持向量机
- 如果n较小,m中等大小,比如n为1-1000,m为10-10000之间,则使用高斯核函数的SVM
- 如果n较小,m较大,比如n为1-1000,m大于50000,则SVM非常慢