总体来说,构造一个机器学习系统主要包括四个阶段:

  1. 模型设计:根据任务实际情况设计模型,并理解“没有免费的午餐”定理。
  2. 模型训:收集训练数据,对模型进行训练;本节以梯度下降算法为例,讲解模型优化过程。
  3. 模型测:选择一个独立于训练集的测试集评估模型性能,并理解过拟合现象的成因。
  4. 模型选择:依据奥卡姆剃刀准则,选择最优模型。

通过本节内容的学习,读者将了解如何从零开始构建一个机器学习系统,并培养解决实际问题所需的科学思维方式。

模型设计

1. 没有免费的午餐”定理

大小和颜色是区分苹果和桔子的显著特征

对于一个机器学习任务,比如识别“苹果”还是“桔子”,我们需要设计一个模型来实现这一分类。模型设计的第一步是从数据中提取显著特征,使任务更容易完成。例如,苹果和桔子可通过大小和颜色来区分。“大小”和“颜色”就是用于完成分类的“特征”。

在确定特征后,还需选择一种合适的模型结构。机器学习中有很多种模型,但在没有设定具体应用场景时,没有哪种模型绝对优于其他模型。这一结论被称为“没有免费的(No Free Lunch, NFL)”定理。

“没有免费的午餐(No Free Lunch, NFL)”定理。NFL 是机器学习与优化领域的重要理论,由 David

Wolpert 于 1996 年提出。该定理指出,对于所有可能的函数空间,任意优化算法的平均性能理论上是相同的。这意味着不存在一种优化算法能够在所有问题上都优于其他算法。换句话说,如果某个算法在某一类问题上表现优异,那么它在其他类问题上的表现可能会相对较差。

这一定理告诉我们,在不了解具体任务前,讨论哪种模型更好并无意义。模型设计应深入理解任务场景,并选取与之匹配的模型。

2. 模型设计需要考虑的因素

受“没有免费的午餐”定理启发,在设计模型时,需要综合考虑多方面因素:

数据格式与数据量:数据是连续(如语音)还是离散(如文字);是一维(如语音)还是二维(如图像);是有结构的(如数据库中的商品记录)还是无结构的(如地震波)。数据量是较大(如海量互联网数据)还是较小(如核反应堆泄漏时的辐射变化曲线)。

数据分布形式:数据是均匀分布还是集中在某些区域,是集中在一个区域(单峰分布)还是多个区域(多峰分布)。

内存和计算开销:模型训练和测试所需的内存及计算时间。

可容忍的错误率:不同应用对模型错误率要求不同,例如银行系统要求极低的错误率,而娱乐应用可能容忍较高的错误率。

综上所述,解决实际问题时需综合考虑任务需求和数据特点,选择合适的模型。

更多推荐