经典算法
SVM
在空间中线性可分的两类点,分别向SVM分类的超平面做投影,这些点在超平面上的投影仍然是线性可分的吗?
速记:不是
详细:一个简单的反例:设二维空间中只有两个样本点,每个点各属于一类任务,此时SVM的分类超平面(直线)就是两个样本点连线的中垂线,两个点在分类面(直线)上的投影会落到这条直线上的同一个点,自然不是线性可分的。
是否存在一组参数使SVM训练误差为0
速记:是,若给定数据集中不存在两个点在同一位置,则存在一组参数 { α 1 , . . . , α m , b } \{\alpha_1,...,\alpha_m,b\} {α1,...,αm,b}以及高斯核函数参数 γ \gamma γ使得该SVM的训练误差为0.
详细:根据SVM原理,我们可以将SVM的预测公式可写为
f
(
x
)
=
∑
i
=
1
m
α
i
y
(
i
)
K
(
x
(
i
)
,
x
)
+
b
f(x)=\sum_{i=1}^{m}\alpha_iy^{(i)}K(x^{(i)},x)+b
f(x)=i=1∑mαiy(i)K(x(i),x)+b
其中
{
(
x
(
i
)
,
y
(
i
)
)
,
.
.
.
,
(
x
(
m
)
,
y
(
m
)
)
}
\{(x^{(i)},y^{(i)}),...,(x^{(m)},y^{(m)})\}
{(x(i),y(i)),...,(x(m),y(m))}为训练样本,而
{
α
1
,
.
.
.
,
α
m
,
b
}
\{\alpha_1,...,\alpha_m,b\}
{α1,...,αm,b}以及高斯核函数参数
γ
\gamma
γ为训练样本的参数。
K
(
x
,
z
)
=
e
−
∣
∣
x
−
z
∣
∣
2
/
γ
2
K(x,z)=e^{-||x-z||^2/\gamma^2}
K(x,z)=e−∣∣x−z∣∣2/γ2。
由于不存在两个点在同一位置,因此对于任意的
i
≠
j
i\neq j
i=j,有
∣
∣
x
(
i
)
−
x
(
i
)
∣
∣
≥
ϵ
||x^{(i)}-x^{(i)}||\geq \epsilon
∣∣x(i)−x(i)∣∣≥ϵ。我们可以对任意
i
i
i,固定
α
i
=
1
\alpha_i=1
αi=1以及b=0,只保留参数
γ
\gamma
γ,则有
f
(
x
)
=
∑
i
=
1
m
α
i
y
(
i
)
K
(
x
(
i
)
,
x
)
+
b
=
∑
i
=
1
m
y
(
i
)
K
(
x
(
i
)
,
x
)
=
∑
i
=
1
m
y
(
i
)
e
−
∣
∣
x
−
x
(
i
)
∣
∣
2
/
γ
2
f(x)=\sum_{i=1}^{m}\alpha_iy^{(i)}K(x^{(i)},x)+b=\sum_{i=1}^{m}y^{(i)}K(x^{(i)},x)=\sum_{i=1}^{m}y^{(i)}e^{-||x-x^{(i)}||^2/\gamma^2}
f(x)=i=1∑mαiy(i)K(x(i),x)+b=i=1∑my(i)K(x(i),x)=i=1∑my(i)e−∣∣x−x(i)∣∣2/γ2
将任意
x
(
j
)
x^{(j)}
x(j)代入上式则有
f
(
x
(
j
)
)
=
∑
i
=
1
m
y
(
i
)
e
−
∣
∣
x
(
j
)
−
x
(
i
)
∣
∣
2
/
γ
2
f(x^{(j)})=\sum_{i=1}^{m}y^{(i)}e^{-||x^{(j)}-x^{(i)}||^2/\gamma^2}
f(x(j))=i=1∑my(i)e−∣∣x(j)−x(i)∣∣2/γ2
f ( x ( j ) ) − y ( j ) = ∑ i = 1 , i ≠ j m y ( i ) e − ∣ ∣ x ( j ) − x ( i ) ∣ ∣ 2 / γ 2 f(x^{(j)})-y^{(j)}=\sum_{i=1,i \neq j}^{m}y^{(i)}e^{-||x^{(j)}-x^{(i)}||^2/\gamma^2} f(x(j))−y(j)=i=1,i=j∑my(i)e−∣∣x(j)−x(i)∣∣2/γ2
∣ ∣ f ( x ( j ) ) − y ( j ) ∣ ∣ ≤ ∑ i = 1 , i ≠ j m y ( i ) e − ∣ ∣ x ( j ) − x ( i ) ∣ ∣ 2 / γ 2 ||f(x^{(j)})-y^{(j)}||\leq\sum_{i=1,i \neq j}^{m}y^{(i)}e^{-||x^{(j)}-x^{(i)}||^2/\gamma^2} ∣∣f(x(j))−y(j)∣∣≤i=1,i=j∑my(i)e−∣∣x(j)−x(i)∣∣2/γ2
由题意知
∣
∣
x
(
i
)
−
x
(
j
)
≥
ϵ
||x^{(i)}-x^{(j)}\geq\epsilon
∣∣x(i)−x(j)≥ϵ,取
γ
=
ϵ
/
log
m
\gamma=\epsilon/\sqrt{\log m}
γ=ϵ/logm,可将式6重写为
∣
∣
f
(
x
(
j
)
)
−
y
(
j
)
∣
∣
≤
∑
i
=
1
,
i
≠
j
m
y
(
i
)
e
−
∣
∣
x
(
j
)
−
x
(
i
)
∣
∣
2
/
γ
2
≤
∑
i
=
1
,
i
≠
j
m
∣
∣
e
−
log
m
∣
∣
=
m
−
1
m
>
1
||f(x^{(j)})-y^{(j)}||\leq\sum_{i=1,i \neq j}^{m}y^{(i)}e^{-||x^{(j)}-x^{(i)}||^2/\gamma^2}\\ \le \sum_{i=1,i \neq j}^{m}||e^{-\log m}||=\frac{m-1}{m} >1
∣∣f(x(j))−y(j)∣∣≤i=1,i=j∑my(i)e−∣∣x(j)−x(i)∣∣2/γ2≤i=1,i=j∑m∣∣e−logm∣∣=mm−1>1
所以,对于任意
x
(
j
)
x^{(j)}
x(j),预测结果
f
(
x
(
j
)
)
f(x^{(j)})
f(x(j))与样本真实标签
y
(
j
)
y^{(j)}
y(j)的距离小于1.注意到,
y
(
j
)
∈
{
1
,
−
1
}
y^{(j)}\in \{1,-1\}
y(j)∈{1,−1},当训练样本为正例,即
y
(
j
)
=
1
y^{(j)}=1
y(j)=1时,预测结果
f
(
x
(
j
)
)
>
0
f(x^{(j)})>0
f(x(j))>0,样本被预测为正例;而当训练样本为负例,即
y
(
j
)
=
−
1
y^{(j)}=-1
y(j)=−1时,预测结果
f
(
x
(
j
)
)
<
0
f(x^{(j)})<0
f(x(j))<0,样本被预测为负例.因此所有样本的类别都被正确预测,训练误差为0。
训练误差为0的SVM分类器一定存在吗?
速记:存在
详细:看书
加入松弛变量的SVM的训练误差可以为0吗?
速记:不一定,因为优化目标变了。
详细:看书。
逻辑回归
逻辑回归相比于线性回归,有何异同?
速记:逻辑回归处理分类问题,线性回归处理回归问题。二者在求解超参数的过程中,都可以使用梯度下降的方法。
详细:逻辑回归中,因变量的取值是一个二元分布,模型学习得出的是 E [ y ∣ x ; θ ] E[y|x;\theta] E[y∣x;θ],即给定自变量和超参数后,得到因变量的期望,并基于此期望来处理预测分类问题。线性回归实际上是求解 y ‘ = θ T x y^`=\theta^Tx y‘=θTx,是对我们假设的真实关系 y = θ T x + ϵ y=\theta^Tx+\epsilon y=θTx+ϵ的一个近似,其中 ϵ \epsilon ϵ代表误差项。逻辑回归的因变量是离散的,线性回归的是线性的。但二者都使用了极大似然估计来对训练样本进行建模,在求解超参数的过程中,都可以使用梯度下降的方法。
当使用逻辑回归处理多标签的分类问题时,有哪些常用做法,分别应用于哪些场景,它们之间又有怎样的联系。
速记:如果一个样本只对应一个标签,可以使用多项逻辑回归。当一个样本可能属于多个标签的情况时,可以训练k个二分类的逻辑回归分类器。
决策树
决策树有哪些常用的启发函数?
速记:ID3(最大信息增益)、C4.5(最大信息增益比)、CART(最大基尼指数)
详细:计算公式看书或上网查。下面总结三者之间的差异:
1.ID3采用信息增益作为评价标准,因为信息增益反映的是给定条件后不确定性减少的程度,泛化能力非常弱。C4.5其实是对ID3进行优化,通过引入信息增益比,一定程度上对取值比较多的特征进行惩罚,避免ID3出现过拟合的特性,提升决策树的泛化能力。
2.ID3只能处理离散型变量,而C4.5和CART都可以处理连续型变量。
3.ID3和C4.5只能用于分类任务,而CART可以用于分类和回归任务。
4.ID3对样本特征缺失值较敏感,而C4.5和cART可以对缺失值进行不同方式的处理。ID3和C4.5通过剪枝来权衡树的准确性与泛化能力,而CART直接利用全部数据发现所可能的树结构进行对比。
如何对决策树进行剪枝?
速记:预剪枝(不能提升性能就不再生成子树,快,简单,有欠拟合风险),后剪枝(生成完了再剪,慢,但效果较好)
详细:预剪枝的核心思想是在树中结点进行扩展之前,先计算当前的划分是否能带来模型泛化能力的提升,如果不能则不再继续生长子树。对于何时停止,有以下埃及中方法:
1.当树到达一定深度的时候,停止树的生长。
2.当到达当前结点的样本数量小于某个阈值的时候,停止树的生长。
3.计算每次分裂对测试集的准确度提升,当小于某一个阈值时,不再继续扩展。
预剪枝具有思想直接,算法简单,效率高等特点,适合解决大规模问题。但存在一定局限性,有欠拟合的风险。
后剪枝的核心思想是让算法生成一颗完全生成的决策树,然后从最底层向上计算是否剪枝。相比于预剪枝,后剪枝方法通常可以得到泛化能力更强的决策树,但时间开销会更大。
常见的后剪枝方法包括:错误率降低后剪枝(REP)、悲观剪枝(PEP)、代价复杂度剪枝(CCP)、最小误差剪枝(MEP)、CVP、OOP等。