机器学习 统计学习方法笔记(三)

  • 训练误差与测试误差

        一般情况下,我们将数据集分为两大类:训练集和测试集。(有的时候分成三部分:训练集、验证集、测试集)。 

       训练误差是指模型在训练集上的误差,反映的是模型的学习能力。 

        训练误差是模型关于 训练数据集的平均损失:

                                                     

        测试误差是模型关于测试数据集的平均损失: 

                                                                    

  • 过拟合 

         如果一味追求提高对训练数据的预侧能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合(over-fitting)。过拟合是指学习时选择的模型对己知数据(训练数据集中的数据)预测得很好,但对未知数据(测试数据集中的数据)预测得很差的现象。

                                 

        上面的例子是,根据数据分布拟合多项式模型,M代表模型的多项式次数,我们可以看到M=0和M=1的时候,模型的学习和预测能力都不好,而M=9的时候,模型的学习能力很好(几乎都学会了,也就是说拟合出的多项式模型,可以通过每个训练数据样本点),但是它的预测能力很差!并且模型太复杂!而当M=3的时候,模型的学习能力和预测能力都是比较好的。(从图图像上直观的看到是,预测出的曲线模型和真实的曲线模型之间拟合度)。

  • 训练误差和测试误差与模型复杂度之间的关系 

                

  • 模型的选择方法:正则化和交叉验证 

正则化是结构风险最小化策略的实现: 

                                                            

         上式第二项是正则化项;

         正则化项可以有不同形式,回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2范数:

                                               

        正则化项可以是参数向量的L1范数: 

                                               

        L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,因此可以用于特征选择

        L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

  • 交叉验证 

        重复地使用数据,把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择.。

          简单交叉验证 
         首先随机地将己给数据分为两部分,一部分作为训练集,另一部分作为测试集;然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型.
         k-折交叉脸证(S-fold cross validation)
         首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均侧试误差最小的模型.
 留一文叉验证 (leave-one-out cross validation)
         k-折交叉验证的特殊情形是k=N,N是给定数据集的容量

  • 生成模型和判别模型 

        监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach).所学到的模型分别称为生成模型(geuemtive model)和判别模型(discriminative model)。生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(YIX)作为预测的模型,即生成模型。

                                                                           

        这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系.典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。

        判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型.判别方法关心的是对给定的输入X,应该预测什么样的输出Y.典型的判别模型包括k近邻法、感知机、决策树、逻辑斯谛回归模型、最大嫡模型、支持向量机、提升方法和条件随机场等。

        给定输入X,生成模型不能直接预测出输出的y,需要计算之后,再比较(或者求出的是各种输出可能性的概率值,最大作为最终的求解结果),而判别模型可以直接给出预测结果y,(利用判断规则或者方法)

生成方法的特点

1、生成方法可以还原出联合概率分布P(X,Y),而判别方法则不能;
2、生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;
3、当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用。

判别方法的特点:

1、直接学习的是条件概率P(Y|X)或决策函数f(X),直接面对预测,往往学习的准确率更高;
2、由于直接学习P(Y|X)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题. 

TP(True Positive)——将正类预测为正类数(d);
FN(False Negative)——将正类预测为负类数(c);
FP(False Positive)——将负类预测为正类数(b):
TN(True Negative)——将负类预测为负类数(a).

 精确率 P(Positive)=TP/(TP+FP)=d/(d+b) 
召回率R(Positive)=TP/(TP+FN)=d/(d+c) 
F1(精确率和召回率的调和均值) 
F1(Positive)=(2*P*R)/(P+R) 

关于正则化的解释可以参考如下文章:

L1范数和L2范数的区别

机器学习中的范数规则化之(一)L0、L1与L2范数

正则化方法:L1和L2 regularization、数据集扩增、dropout 

         

发布了43 篇原创文章 · 获赞 28 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/xiaoxiaoliluo917/article/details/82251452
今日推荐