机器学习中的关键组件
-
可以用来学习的数据(data);
-
如何转换数据的模型(model);
-
模型用来消化数据;
-
一个目标函数(objective function),用来量化模型的有效性,判断是否达到目标;
-
调整模型参数以优化目标函数的算法(algorithm)。
数据
由数据集组成,数据集==样本集合,每个样本都有一组称为特征的属性,模型则会根据这些属性进行预测。例如在进行图像处理时,一张单独的照片被称为一个样本,特征为$rgb三元素数值$表示。
数据的维数:每个样本的特征数量相同,特征向量长度固定。此长度称为维数。
数据不仅需要量,还需要正确的数据。含有偏见的数据训练出来的模型同样是有偏见的。
模型
负责数据的转换。比如根据图片预测笑脸。
目标函数
- 机器学习:从经验中学习。
- 学习:指自主提高模型完成某些任务的效能
如何才算提高?定义度量衡量模型的优劣程度,这个度量在大多数情况是“可优化”的,这被称之为目标函数。又称损失函数,希望优化它到最低点,越低越好。
损失函数是根据模型参数定义的,并取决于数据集。在一个数据集上,我们可以通过最小化总损失来学习模型参数的最佳值。 该数据集由一些为训练而收集的样本组成,称为训练数据集(training dataset,或称为训练集(training set))。 然而,在训练数据上表现良好的模型,并不一定在“新数据集”上有同样的性能,这里的“新数据集”通常称为测试数据集(test dataset,或称为测试集(test set))。可以理解为模拟考试和正式考试,模拟考试考得好未必代表正式考试考得好。
优化算法
有了数据源、模型、损失函数,接下来就需要一种算法,它能够搜索出最佳参数,以最小化损失函数。
- 梯度下降:在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。 然后,它在可以减少损失的方向上优化参数。