周志华机器学习初学笔记(1)

初学机器学习有感

      在介绍机器学习之前,我们有必要了解一下什么是人工智能(artificial  intelligence)。简单来说,就是让计算机拥有类似于人的智慧,来处理各种事物,体现在感知、决策、行动三方面。计算机处理事物的过程中,需要不断地学习来丰富自己的“经验”,建立起属于自己的一套评判“模型“。这是拟人化的表达,实际上就是计算机根据特定的算法来处理各种数据,根据数据的属性反映出不同的处理方式。

      因此“机器学习“就显得异常重要:它致力于研究如何通过计算的手段,利用经验也就是计算机的数据来改善系统自身的性能。那么问题也随之而至:机器学习的内容是什么?如何判断机器学习的成果?机器学习的方式是什么?等等。而这也就是我们正在学习的研究的内容。

      举一个简单的例子,现在我手里有10张手写的从0到9的数字卡片,需要让计算机识别出手写的数字卡片的真实对应的数字值。我们可以将卡片切割成10*10的小矩形,判断每个小矩形的墨色分布、明暗度等属性,然后根据属性的差异来判断出对应的数字。这就是一种理想化的模型。为了让计算机能够根据属性的差异判断出相应的结果,我们需要对其进行训练,告诉它什么样的属性对应什么样的数据,从而让计算机拥有判断数字的模型,这就是学习的过程。

      为了让计算机拥有一种理想的模型,我们需要大量的样本对其进行训练。但我们的目标不仅局限与计算机学会我们提供给它用作训练的样本,我们还需要计算机有泛化能力,也就是学得的模型可适用于新样本。有人会疑问,这么复杂的事情,计算机可以完成吗?其实这是可以实现的,在我们提供大量样本训练机器的时候,样本的特征会渐渐服从一个未知的分布,而每个样本都是独立地从这个分布上采样获得的。因此面对一个新样本,其特征也会服从于这个未知的分布且相对其它独立,于是机器就可以识别出来。但也有一个问题,这个未知的分布如何确定,我还暂不知晓。

      在此需要特别提醒,机器学习的目标是我们人赋予的,我们千辛万苦的研究机器学习的目的还是让机器可以按照我们的意愿来完成模型的建立。因此一个有效的机器学习算法必须有其归纳偏好。也可以理解为机器的“价值观“。我们既然要赋予机器智慧,就要告诉它应遵循的价值观。同时也需要注意,机器学习必须针对某一特定的问题来展开,不能脱离要实现的目标,这样机器学习才有意义。

      我们知道了,机器学习的阶段性目标之一是建立模型也就是算法。但在完成一个任务之前我们需要先判断,怎么样才算是完成任务。因此,在建立模型之前,我们先看看如何进行模型评估和选择。

      首先引入两个概念“错误率”和“精度”,错误率是分类错误的样本占总样本的比,精度即分类正确的样本占总样本的比。这其实也就是一个概念。因为知道了错误率,自然也就知道了精度。那么我们可以认为精度越高,模型就越好吗?如果没有新样本的出现当然没问题,可我们所期望的就是让机器拥有泛化能力,如果精度为100%,那么机器训练的样本的所有特征就会被当成所以潜在样本所必须具备的特征,会导致泛化性能的下降。你可不要有错误率越高越好的想法,错误率太高的话,连训练样本的识别都有问题,更不用考虑泛化性能的问题了。所以你现在应该觉得先了解模型评估和选择比建立模型更重要了吧,不然建立了半天,最后却是个废模型。

      我们的目的是希望机器习得的模型可以从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”。不能训得太好,也不能训得太差,这确实是一件麻烦事。于是我们就引入了更多的标准对模型进行评估,这就是性能度量。

      为了更直观的介绍较为抽象的性能度量,我还是举个例子。妈妈为了教小明认识阿拉伯数字,拿出了十张手写数字卡片,前五张均为手写的数字“5”,后五张为除5以外其它9个数字的随机。妈妈随机选出一张卡片让小明辨认那张是“5”,十张卡片都辨认后,妈妈做出了统计:6张卡片被小明选出来是“5”,但是小明只选对了4张。也就是说小明把两张不是5的卡片选成了“5”。如下表:

真实情况

小明选择的结果

是“5”

不是“5”

是“5”

4

1

不是“5”

2

3

      由表可知小明选择的卡片选对的概率为4/6,这个概率就是查准率;真正为“5”的卡片被小明选出来的概率为4/5,这个概率就是查全率。顾名思义,查准率就是在我们选择的标准信息中,真正符合标准的概率;查全率就是在所有符合标准的信息中,被选择出来的概率。这两对度量成反比。以查全率为横轴,查准率为纵轴作图,得到“P-R曲线”,查全率=查准率的点叫做“平衡点“。查全率。查准率越高,模型性能自然越好,但很多情况下二者不可兼得。根据不同情况,二者重视程度也有所不同,因此需要具体问题具体分许。

      除了查全率和查准率,性能度量还有ROC和AUC。基本原理就是将检测值与一个分类阙值进行比较。ROC曲线是根据另外两个标准,真正例率和假正例率。用小明的例子解释就是,选的6个“5“卡片中,实际是”5“所占的比例就是真正例率,实际不是”5“所占的比例就是假正例率。以二者为横纵坐标作图就是ROC曲线,所谓面积就是AUC。AUC面积越大,模型性能越好。

      对于代价敏感错误率和代价曲线,不过多介绍。实际就是犯错程度“弃真“和“取伪“。我们需分析考虑这种情况选择出最优方案。

      通过以上叙述,我们知道了判断一个模型性能可不是简单的非黑即白。因此要让机器习得一直高水平的模型,需要严格分析模型对其完成任务目标各种情况的性能度量,对结果进行比较。而如何比较也是我们需要考虑的。由于此部分较深,不再叙述。先假设,再检验验证假设。

 

原创文章 6 获赞 5 访问量 148

猜你喜欢

转载自blog.csdn.net/weixin_44868393/article/details/105816855
今日推荐