以下是自己关于机器学习的一些知识点总结,主要渗透了自己对某些知识点的理解,涵盖的面较广,将会不定期地更新。若有理解不一致之处,望指明并相互交流。
1 SVM中常用的核函数有哪些?如何选择相应的核函数?
常用的核函数有线性核,多项式核以及高斯核。
1.1 线性核
κ ( x , z ) = < x , z > \kappa (x,z) = < x,z > κ(x,z)=<x,z>
线性核对应的映射函数为: ϕ ( x ) = x \phi (x) = x ϕ(x)=x。即映射空间与原始空间是相同的。它适用于原始数据集是线性可分的情况。此时所使用的是线性SVM。

1.2 多项式核
κ ( x , z ) = [ a < x , z > + c ] b \kappa (x,z) = {[a < x,z > + c]^b} κ(x,z)=[a<x,z>+c]b
多项式核将数据从原始空间映射到了高维空间。
考虑数据集在原始空间的分布情况:如果分隔的决策面非线性且较为规则的话(比如,决策面是椭圆,椭球,双曲线等),可以考虑使用多项式核。


1.3 高斯核
κ ( x , z ) = exp ( − ∥ x − z ∥ 2 2 σ 2 ) \kappa (x,z) = \exp ( - \frac{
{
{
{\left\| {x - z} \right\|}^2}}}{
{2{\sigma ^2}}}) κ(x,z)=exp(−2σ2∥x−z∥2)
高斯核将数据从原始空间映射到了无限维空间。关于高斯核与多项式核的关系,可以参见这篇文章:关于支持向量机(SVM)的高斯核和惩罚因子C的理解(简单易懂)。
当原始空间的决策面较不规则,难以使用多项式核进行分类的时候,可以考虑高斯核。因为多项式核只是将原始空间映射成高维空间,而高斯核将原始空间映射成了无限维,所以对应的决策面可以更复杂,可以使得数据更容易被划分(当然这样也就可能出现过拟合的情况,关于高斯核参数 σ \sigma σ的理解,上文关于支持向量机(SVM)的高斯核和惩罚因子C的理解(简单易懂)亦有介绍)。
2 L1和L2正则化的理解?有何区别?
L1和L2正则化项的加入都是为了避免模型的过拟合。

L1正则化损失函数:
L = L 0 + λ ∑ j ∣ ϖ j ∣ L = {L_0} + \lambda \sum\limits_j {\left| {
{\varpi _j}} \right|} L=L0+λj∑∣ϖj∣
实际上,L1正则化就是在原有损失函数 L 0 {L_0} L0的基础上加入了权重约束:
∑ j ∣ ϖ j ∣ ≤ C \sum\limits_j {\left| {
{\varpi _j}} \right|} \le C j∑∣ϖj∣≤C
L2正则化损失函数:
L = L 0 + λ ∑ j ϖ j 2 L = {L_0} + \lambda \sum\limits_j {\varpi _j^2} L=L0+λj∑ϖj2
类似的,L2正则化就是在原有损失函数的基础上加上了权重约束:
∑ j ϖ j 2 ≤ C \sum\limits_j {\varpi _j^2} \le C j∑ϖj2≤C

上图表示损失函数 L 0 {L_0} L0分别在L2和L1正则化权重约束下寻找最优解 ϖ ∗ {\varpi ^*} ϖ∗示意图,此时特征数维度为2,两个权重约束下的可行域分别为圆形和菱形区域。
所以:L1正则化约束下的最优解往往位于可行域的凸点,而凸点处的权值 很多为0(上图所示 )。故而L1正则化的解具有稀疏性,可用于特征选择,去掉对研究问题没有贡献的特征,而只保留某些贡献较大的特征;L2正则化约束下的最优解很难使得某些个 为0,其更偏向于选择更多的特征,这些特征的权重都会接近于0。

3 常见的损失函数有哪些?
常见的损失函数有平方损失函数(回归损失函数),对数损失函数,指数损失函数,Hinge损失函数,感知损失函数。
3.1 平方损失函数
L ( Y , f ( X ) ) = ∑ i = 1 M ( y i − f ( x i ) ) 2 L(Y,f(X)) = \sum\limits_{i = 1}^M {
{
{({y_i} - f({x_i}))}^2}} L(Y,f(X))=i=1∑M(yi−f(xi))2
其是最小二乘法的应用:常用于连续变量的回归问题。最优拟合曲线应该使得所有点的输出与实际结果之间的距离平方和最小。
线性回归: L ( ϖ ) = 1 2 M ∑ i = 1 M [ f ( x i ) − y i ] 2 , f ( x i ) = ∑ i = 0 N ϖ i x i L(\varpi ) = \frac{1}{
{2M}}\sum\limits_{i = 1}^M {
{
{[f({x_i}) - {y_i}]}^2}} ,f({x_i}) = \sum\limits_{i = 0}^N {
{\varpi _i}{x_i}} L(ϖ)=2M1i=1∑M[f(xi)−yi]2,f(xi)=i=0∑Nϖixi
3.2 对数损失函数
L ( Y , f ( X ) ) = L ( Y , P ( Y ∣ X ) ) = − ∑ i = 1 M log P ( y ∣ x i ) L(Y,f(X)) = L(Y,P(\left. Y \right|X)) = - \sum\limits_{i = 1}^M {\log P(\left. y \right|{x_i})} L(Y,f(X))=L(Y,P(Y∣X))=−i=1∑MlogP(y∣xi)
其与极大似然估计有异曲同工之处:利用已知的样本分布(二分类问题是0-1分布),找到最大概率导致这种分布的参数值。
逻辑回归(二分类):
L ( ϖ ) = 1 M ∑ i = 1 M L ( y ^ i , y i ) = 1 M ∑ i = 1 M L ( f ( x i ) , y i ) = 1 M ∑ i = 1 M − log P ( y ∣ x i ) = 1 M ∑ i = 1 M − y i log y ^ i − ( 1 − y i ) log ( 1 − y ^ i ) L(\varpi ) = \frac{1}{M}\sum\limits_{i = 1}^M {L({
{\hat y}_i},{y_i}) = } \frac{1}{M}\sum\limits_{i = 1}^M {L(f({x_i}),{y_i}) = } \frac{1}{M}\sum\limits_{i = 1}^M { - \log P(y\left| {
{x_i}} \right.) = } \frac{1}{M}\sum\limits_{i = 1}^M { - {y_i}\log {
{\hat y}_i} - (1 - {y_i})} \log (1 - {\hat y_i}) L(ϖ)=M1i=1∑ML(y^i,yi)=M1i=1∑ML(f(xi),yi)=M1i=1∑M−logP(y∣xi)=M1i=1∑M−yilogy^i−(1−yi)log(1−y^i)
其中: P ( y ∣ x i ) = f ( x i ) y i ( 1 − f ( x i ) ) ( 1 − y i ) P(y\left| {
{x_i}} \right.) = f{({x_i})^{
{y_i}}}{(1 - f({x_i}))^{(1 - {y_i})}} P(y∣xi)=f(xi)yi(1−f(xi))(1−yi)。① 如果 x i {x_i} xi属于0类, P ( y = 0 ∣ x i ) P(y = 0\left| {
{x_i}} \right.) P(y=0∣xi)越接近1越好(此时 − log P ( y ∣ x i ) -\log P(y\left| {
{x_i}} \right.) −logP(y∣xi)越靠近0);② 如果 x i {x_i} xi属于1类, P ( y = 1 ∣ x i ) P(y = 1\left| {
{x_i}} \right.) P(y=1∣xi)越接近1越好(此时 − log P ( y ∣ x i ) -\log P(y\left| {
{x_i}} \right.) −logP(y∣xi)越靠近0)。
Softmax分类:
L ( ϖ ) = 1 M ∑ i = 1 M L ( f ( x i ) , y i ) = − 1 M ∑ i = 1 M y i log a i L(\varpi ) = \frac{1}{M}\sum\limits_{i = 1}^M {L(f({x_i}),{y_i}) = } - \frac{1}{M}\sum\limits_{i = 1}^M {
{y_i}\log {a_i}} L(ϖ)=M1i=1∑ML(f(xi),yi)=−M1i=1∑Myilogai
其中: a i = e z i ∑ k e z k ( c l a s s i f i c a t i o n s ) , z i = ∑ i = 1 N w i x i {a_i} =\frac{
{
{e^{
{z_i}}}}}{
{\sum\limits_k {
{e^{
{z_k}}}} }}(classifications),{z_i} =\sum\limits_{i = 1}^N {
{w_i}{x_i}} ai=k∑ezkezi(classifications),zi=i=1∑Nwixi。 z i {z_i} zi是每一个类别对应的线性模型的输出,每一个类别都有一组权重需要优化。
3.3 指数损失函数
L ( Y , f ( X ) ) = 1 M ∑ i = 1 M exp ( − y i f ( x i ) ) L(Y,f(X)) = \frac{1}{M}\sum\limits_{i = 1}^M {\exp ( - {y_i}f({x_i}))} L(Y,f(X))=M1i=1∑Mexp(−yif(xi))
Adaboost每次迭代的目的是为了找到最小化下列式子时的参数:
arg min α , G = ∑ i = 1 N exp [ − y i ( f m − 1 ( x i ) + α G ( x i ) ) ] \mathop {\arg \min }\limits_{\alpha ,G} = \sum\limits_{i = 1}^N {\exp [ - {y_i}({f_{m - 1}}({x_i}) + \alpha G({x_i}))]} α,Gargmin=i=1∑Nexp[−yi(fm−1(xi)+αG(xi))]
3.4 Hinge损失函数
L ( Y , f ( X ) ) = 1 M ∑ i = 1 M max ( 0 , 1 − m i ( w ) ) L(Y,f(X)) = \frac{1}{M}\sum\limits_{i = 1}^M {\max (0,1 - {m_i}(w))} L(Y,f(X))=M1i=1∑Mmax(0,1−mi(w))
Hinge损失函数可以用来解间隔最大化问题,典型的是SVM的代价函数:
L ( ϖ ) = C ∑ i max ( 0 , 1 − y i ϖ T x i ) + 1 2 ∥ ϖ ∥ 2 L(\varpi ) = C\sum\limits_i {\max (0,1 - {y_i}{\varpi ^T}{x_i})} + \frac{1}{2}{\left\| \varpi \right\|^2} L(ϖ)=Ci∑max(0,1−yiϖTxi)+21∥ϖ∥2
3.5 感知损失函数
L ( Y , f ( X ) ) = 1 M ∑ i = 1 M max ( 0 , − m i ( w ) ) L(Y,f(X)) = \frac{1}{M}\sum\limits_{i = 1}^M {\max (0, - {m_i}(w))} L(Y,f(X))=M1i=1∑Mmax(0,−mi(w))
感知损失函数是Hinge损失函数的一个变种。
感知机算法:输入空间 X ⊆ R n X \subseteq {R^n} X⊆Rn,输出空间 Y = { − 1 , + 1 } Y=\{-1, +1\} Y={
−1,+1},其学习目标在于求得一个能够将训练集正实例和负实例点正确分开的超平面。其代价函数为:
L ( ϖ ) = 1 M ∑ i = 1 M max ( 0 , − y i ϖ T x i ) L(\varpi ) = \frac{1}{M}\sum\limits_{i = 1}^M {\max (0, - {y_i}{\varpi ^T}{x_i})} L(ϖ)=M1i=1∑Mmax(0,−yiϖTxi)