机器学习:基本概念及模型评估

目录

前言

一、机器学习是什么? 

1.1概念

1.2基本术语    

1.2.1学习阶段

 1.2.2预测阶段

 1.2.3测试过程

1.3假设空间

1.4归纳偏好

二、模型评估

2.1经验误差与过拟合

2.2评估方法

2.2.1留出法

 2.2.2交叉验证法

 2.2.3自助法

 2.2.4调参与最终模型

2.3性能度量

2.3.1错误率及精度

2.3.2查准率、查全率与F1

总结



前言

        随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文主要记录了有关机器学习问题的研究思路以及对于模型的评估方法,思路均来源于周志华老师《机器学习》前两章的内容。








一、机器学习是什么? 

1.1概念

        机器学习是一门研究如何通过计算的手段,利用经验来改善系统自身的性能的学科。在计算机上从数据中产生“模型”的算法,即学习算法。

1.2基本术语    

1.2.1学习阶段

以西瓜为例,存在数据集

(示例)样本1:(色泽=青绿;根茎=蜷缩;敲声=浊响)

(示例)样本2:(色泽=浅白;根茎=硬挺;敲声=清脆)...... 样本m: ......

均按照:属性(特征)=属性值的形式分别构成属性空间和样本空间

D={\left \{ x1,x2,x3,...,xm \right \}表示m个样例的数据集;

xi=\left ( xi1;xi2;xi3;...;xid \right )表示各个示例由d个属性描述;则xi即可转化为d维样本空间\chi中的一个向量,xi∈\chi\large xij对应为\large xi在第\large j个属性上的取值。

 1.2.2预测阶段

通过将数据转化为模型,对于数据存在的潜在规律提出假设,整个学习过程意在找出或逼近真相

 预测过程中对样本的结果信息进行标记:示例+标记=样例,以\large \left ( xi,yi \right )表示第i个样例,\large yi\epsilon \Y是\large xi的标记,组成输出(标记)空间。

 1.2.3测试过程

       在学得模型\large f之后,对于测试例\large x,可得其预测标记\large y=f\left ( x \right ),而学得模型对新样本的适用程度表示为“泛化能力”

1.3假设空间

        在具体事物中寻求一般规律即为归纳过程,在广义上可理解为从样例中学习规律,在狭义上可从数据中获取概念,即为概念学习。以布尔概念为例,用0/1来表示学习结果。

        在西瓜模型中,以1代表好瓜,0代表坏瓜,则可针对 “好瓜=(色泽=?)\large \wedge(根茎=?)\large \wedge(敲声=?)由此建立西瓜模型的假设空间如下:

1.4归纳偏好

        对于可能存在的统一样本对应的不同输出(等效假设),需要通过设置归纳偏好来确定最终的标记结果。如得出:“ 色泽=乌黑;根蒂=蜷缩;敲声=* ”,同时符合“ 色泽=乌黑;根蒂=*;敲声=* ”与“色泽=*;根蒂=蜷缩;敲声=*”,而对应结果一个为坏瓜一个为好瓜,我们将通过比对“乌黑”和“蜷缩”两个特征的影响比重来确定瓜的质量。

        根据NFL定理,绝对均匀分布的样本无论设置何种偏好都存在一半的错误率,故必须针对具体问题设置匹配算法。

二、模型评估

2.1经验误差与过拟合

        若对于\large m个样本中\large a个样本分类错误,则对应错误率\large E=a/m精度\large 1-a/m。更一般的,将“学习器实际预测输出-样本真实输出=误差”,分为在训练集上产生的误差:训练误差(经验误差)和在新样本上产生的误差:泛化误差。

        而我们想要的是泛化能力强的模型(泛化误差小),但学习过程中可能存在以下问题:

2.2评估方法

      可以通过实验测试来对学习器的泛化误差进行评估从而做出选择。通常通过使用“测试集”来测试样本的判别能力,再以测试过程中的测试误差来近似为泛化误差,即将包含\large m个样例的数据集\large D=\left \{ \left ( x1,y1 \right )\left ( x2,y2 \right ),...,\left ( xm,ym \right ) \right \}划分为互斥的两个集合,分别为训练集\large S与测试集\large T

   以下将介绍三种常用的划分方法:

2.2.1留出法

       \large D=S\cup T,\large S\cap T=\oslash,直接划分为两个互斥集合,在\large S上训练出模型后,用\large T来进行评估测试误差。如\large D中含有1000个样本,划分其为\large S中含700个,\large T中含300个,若在用\large T测试时有90个样本分类错误,则错误率=(90/300)×100%=30%,精度即为70%。

       划分时需要注意以下原则:

①对训练/测试集的划分应尽可能保持数据分布一致性:

       以分类任务为例,应保持样本类别比例相似,此方式可称为“分层采样”,若类别比例过大会产生误差估计的偏差。

②采用若干次随机划分、重复进行实验取平均值作为留出法评估结果:

      可有效提高稳定性与可靠度。

③将约2/3~4/5的样本用于训练,其余用于测试:

      若\large S多,则训练出的模型接近于\large D训练出的模型,但\large T小,评估的结果不够稳定准确;若\large T多,则\large S\large D差别更大,降低了评估结果的保真性。

 2.2.2交叉验证法

       将\large D划分为\large k个大小相似的互斥子集,且每个子集保持一定的数据分布一致性。\large D=D1\cup D2\cup D3\cup ...\cup Dk,\large Di\cap Dj=\oslash \large \left ( i\neq j \right ),采用 “k折交叉验证”,k常取值为10,还可为5,20......

       以下图示例“10折交叉验证”的划分过程:

此种验证方法有以下特点:

①将数据集\large D化为\large k个子集\large \rightarrow随机使用不同的划分重复P次\large \rightarrow评估结果为P次验证结果均值;

②假设\large D中包含m个样本,若令\large k=m,对应转化为"留一法",由于m个样本划分为m个子集仅有一种方法,此时实际评估模型与期望评估的很相似,对应结果也比较准确。

③其缺点是:训练集较大时,训练m个模型的计算量过大。

 2.2.3自助法

兼顾了“减少训练样本规模不同造成的影响”以及“降低计算复杂度从而能够更加高效。

其采样方法如下图示意:

 此验证方法有以下特点:

\large D中会有一部分数据重复,另外一部分不出现:

在m次采用中始终不出现的概率:\large \left ( 1-\frac{1}{m} \right )^{m}=\frac{1}{e}\approx 0.368

②于是我们将\large D'作为训练集,\large D\setminus D'作为测试集,则可保证实际评估与期望评估的模型均使用m个训练样本,有约为数据总量1/3的、没在训练集中出现的样本用于测试,此种方法称为“包外估计”。

③适用于数据集小、难以有效划分开训练集、数据集的样本;但由于产生的数据集\large D'改变了初始的分布,会引入估计误差。

 2.2.4调参与最终模型

       对算法参数进行设定即为参数调节,可通过选择其范围以及变化步长来减少计算量。在m个样本的数据集\large D中选择一部分数据来训练模型,确定学习算法以及参数配置后,应重新用\large D来训练,使得m个样本均参与,才可得最终模型。

2.3性能度量

       用于衡量模型的泛化能力,通常泛化能力取决于算法、数据、任务要求等因素。在预测任务中,给定样例\large D=\left \{ \left ( x1,y1 \right )\left ( x2,y2 \right ),...,\left ( xm,ym \right ) \right \},其中\large yi为示例\large xi的真实标记。评估学习器\large f的性能,实际上是将学习器预测的结果\large f\left ( x \right )与真实标记\large y进行比较。

①在回归任务中,常用度量为"均方误差":\large E\left ( f;D \right )=\frac{1}{m}\left ( f\left ( xi \right ) -yi\right )^{2};

②更一般的,对于数据分布\large D和概率密度函数\large p\left ( . \right ),均方误差可描述为:\large E\left ( f;D \right )= \int_{x\sim D}^{}\left ( f\left ( x \right )-y \right )^{2}p\left ( x \right )dx。(可类比计算平面密度不相同的物体质量的计算方法)

 此时样本可以看做非离散样本而是连续样本。








2.3.1错误率及精度

       对于样例集\large D,其错误率为:\large E(f;D)=\frac{1}{m}\sum_{i=1}^{m}\prod (f(xi)\neq yi),其中\large \prod \left ( \cdot \right )函数中,若\large \left ( \cdot \right )中条件成立,则函数取值为1,反之则取0。

精度对应为:\large acc(f;D)=\frac{1}{m}\sum_{i=1}^{m}\prod (f(xi)=yi)=1-E(f;D);

      对于数据分布\large D及概率密度函数\large p\left ( . \right ),可推广为:\large E\left ( f;D \right )=\int_{x\sim D}^{}\prod (f(x)\neq y)p(x)dx;

精度对应为:\large acc(f;D)=\int_{x\sim D}^{}\prod (f(x)=y)p(x)dx=1-E(f;D)

2.3.2查准率、查全率与F1

       以西瓜模型为例,查准率意味:“选中的西瓜有多少为好瓜”;查全率则指“所有的好瓜中有多少被选中了”。

对于二分类问题,结合其真实类别与学习器预测类别,划分出以下“分类混淆矩阵”

对应查全率\large R=\frac{TP}{TP+FN};查准率\large P=\frac{TP}{TP+FP} 。

        一般来说,查全率与查准率存在一个此消彼长的关系,故我们需要一个统一的指标来综合这两个性能对模型进行评价:

       根据预测结果对样例进行排序:按照“最可能为正例”\large \rightarrow“最不可能为正例”,逐个将样本作为正例来预测,记录查准率、查全率得到\large P-R曲线:

 两个\large P-R曲线存在以下两种关系:

①若一个学习器的\large P-R曲线完全被另一个的包住,则后者性能用于前者,如上图中\large A优于C

②对于 \large P-R曲线相交的情况,难分好坏,如\large A\large B曲线,一种方法是是通过比较曲线下的面积来找出相对“双高”的一支,但问题在于面积不好估算。

故引入“平衡点”\large BEP的概念,即(P=R时的取值),由此可得出\large A优于\large B曲线。

\large BEP过于简化了,常用为\large F1度量:

\large F1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{m+TP-TN},其中\large m代表样例总数;

对于特殊场景,鉴于对查准率、查全率的重视程度不同,\large F1度量的一般形式——\large F_{\beta };

\large F_{\beta }=\frac{1+\beta ^{2}\times P\times R}{(\beta ^{2}\times P)+R},其中分为:\large \beta=1,对应为\large F1标准;\large \beta>1,对应查全率有更大的影响;\large \beta<1时,对应查准率有更大的影响。

        若在\large n个二分类混淆矩阵中综合考察查准率、查全率,有以下两种数据处理的方式:

①先于各个矩阵上分别计算出查准率查全率,再计算均值,就得到“宏查准率”、“宏查全率”和“宏F1”。

②将混淆矩阵的对应元素进行平均,再计算查准率查全率和F1,就得到“微查准率”、“微查全率”和“微F1”。



总结

       以上思路来源于《机器学习》这本书前两章的内容,第二章ROC与AUC指标及之后的内容作为初学者较难理解,暂时不做总结。仅代表个人的思路和理解,如有错误欢迎指正!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值