机器学习,是一个从特殊到一般的“泛化”过程。怎么理解这句话?
归纳 (induction) 和 演绎 (deduction) 是科学推理的两大基本手段。
归纳,是从特殊到一般的 “泛化”(generalization) 过程,即从具体事实归结出一般性规律;
演绎,是从一般到特殊的 “特化”(specialization) 过程,即从基本原理推演出具体状况。
而机器学习,直译是机器的学习,但是什么是机器的学习?其实说白了,就是总结规律,机器尝试从大量的事实中总结出一般性规律,是一个归纳的过程,所以机器学习亦称“归纳学习”。
但是其实这么说机器学习是有局限性的,因为现在我们接触到的机器学习为“从样例中学习”这个思想,这个思想基于上世纪90年代的发展,逐渐成为机器学习的核心,但是其实机器学习仍然存在另外三种思想,例如“从指令中学习”等,但是由于当前时代与人类技术的选择,选择了“从样例中学习”。
归纳学习,更深一层次,其实也分为狭义和广义;广义的归纳学习相当于从样例中学习,而狭义的学习则要求从训练数据中学得概念 (Concept)。但是想要学得泛化性能好且语义明确的概念实在太困难,目前研究与应用也很少,现实中常用的技术都是产生“黑箱”模型。但是其实对概念学习有所了解,非常有助于理解机器学习的一些基础思想。
理解了机器学习使用的是归纳的方法,从样例中总结规律应用规律的思想,下面来理解什么是误差。
我们在挑选西瓜时,尽管已有二十多年选择西瓜的经验,但是还是会偶尔选的不好;尽管我们已经精通加减法,但是偶尔做计算的时候,还是会发生算错的现象。……
种种这些,我们可以称为挑选西瓜时产生的误差,即可以用 (选错的/选的全部西瓜) 作为误差模型;还记得小学时候数学期末考试有计算题,计算题最后的分数 score*100% 也可以作为计算的误差模型。
机器学习也一样,即使完成分类与计算,但是仍然存在很大可能发生分类错误以及计算错误,我们将机器学习的实际预测输出与样本的真实输出之间的差异称为“误差”。而学习器在训练集上的误差称为“训练误差” (training error),在新样本上的误差称为“泛化误差” (generalization error)。
当然,我们希望机器学习产生的模型可以得到最小的误差值,甚至完全正确,但是事实上,因为种种因素( e . g . e.g. e.g.比如西瓜存在声音沉闷但是是好瓜的可能),导致几乎没有100%正确率的模型。而我们可以做到的,也只是尽量做出适用于所有样本以及潜在样本的“普通规律”。
其实对于上述的理解,可以理解为我们在找规律,找到越多共性的特征,我们对于该物体的理解越深刻。但是,就像薛定谔的猫,你永远不会知道是不是已经找到了所有的规律。你只能相对来说,哦,符合这些特征的,是这个。原因么,因为你不是造物主。
但是找规律,也有人能找得好,有人找不好。
盲人摸象,大家小时候都听说过这个典故,用来比喻对事物了解不全而固执一点,乱加揣测;
摸到大象腿的盲人说:“大象就像一根大柱子!”
摸到大象鼻子的忙说:“不对, 不对,大象又粗又长,就像一条巨大的蟒蛇。”
摸到大象耳朵的人急急地打断,忙着说:“ 你们说的都不对,大象又光又滑,就像一把扇子。”
摸到大象身体的人也说:“大象明明又厚又大, 就像一堵墙嘛。”
最后,抓到象尾巴的人慢条斯理地说:“你们都错了!依我看,大象又细又长,活像一根绳子。”
什么是欠拟合?在机器学习中,假如你的模型最后得到的结论:只要有两个眼睛的就是人,这个就是欠拟合,只将部分特征作为判断条件。
什么是过拟合?在机器学习中,假如你的模型最后得到的结论:戴眼镜的才是人,这个就是过拟合,错误的认为人必须要戴眼镜。
下图可说明欠拟合与过拟合区别:
下面部分需要接触到机器学习相关模型之后才可以清晰了解
线性回归与逻辑回归中的过拟合与欠拟合:
解决方法:
1、在训练集中加入更多的数据;
2、将不必要的特征剔除,加入必要特征;
3、建立验证集 Validation Set。
具体内容在介绍完相关基础模型后讲解。
2022年11月1日
理工大学图书馆