今日学习机器学习中的关键组件
我们接下会介绍一些核心器件
1.可以用来学习的数据;
2.如何转换数据的模型;
3.一个目标函数,用来量化模型的有效性;
4.调整模型参数以优化目标函数的算法。
数据
每个数据集由一个个样本组成,大多数时刻,它们都是独立分布的。样本(数据点或数据实例),通常每个样本由一组称为特征的属性组成。机器学习会根据这些属性进行预测,要预测的是一个特殊的属性,它被称为标签。
例如,在处理图像数据时,每一张单独的照片就是一个样本,它的特征是由每个像素数字的有序列表表示的。比如,200 X 200彩色照片是由200 X200 X 3个数值组成,其中“3”对应的是每个空间位置的红、绿、蓝通道强度。
在每个样本的特征类别数量都相同时,其特征向量是固定长度(数据维度)的。然而,并不是所有的数据都可以用“固定长度”的向量表示。例如,处理来自于互联网上的任意图片,它们很难具备相同的分辨率和形状,所以不能用“固定长度”的向量表示。但是深度学习的一个主要优势就是可以处理不同长度的数据。
一般来说,拥有越多的数据,工作就越容易。就可以训练出更强大的模型,从而减少对预先设想的依赖。但是拥有海量的数据是不够的,必须保证这些数据都是正确的。特别是在一些敏感的应用中,如果数据不够准确或者有错误,可能会造成模型的错误与偏见。例如我们想训练一个皮肤病识别系统,但是它从未见过黑色皮肤的人群,这个模型就会处理不了这个数据。
因此,当数据不具有充分代表性时,模型就很有可能不准确。
模型
大多数机器学习会涉及到数据转换。深度学习主要关注功能强大的模型,这些模型由神经网络错综复杂的交织在一起,包含层层数据转换,因此称为深度学习。
目标函数
“从经验中学习”,面的学习指的是:自主提高模型完成某些任务的效能。在机器学习中,我们需要定义模型的优劣程度的度量,但这些度量大多数情况下都是“可优化”的,这就被称为目标函数。定义一个目标函数,并希望优化到它的最低点。因为越低越好,所以这些函数被称为损失函数。
当预测数值时,其损失函数为平方误差,即预测值与实际值之差的平方。当解决分类问题时,其目标函数是最小化错误率,即预测与实际情况不符的样本比例。通常,损失函数是根据模型参数定义的,并取决于数据集。我们可以通过最小化总损失来学习模型参数的最佳值。
总之,数据集可以分为两部分:训练数据集用于拟合模型参数,测试数据集用于评估拟合的模型。
优化算法
当我们获得了一些数据源及其表示、一个模型和一个合适的损失函数,现需要一个算法,它能搜索出最佳参数,以最小化损失函数。在深度学习中,优化算法通常是基于一种基本的方法——梯度下降。梯度下降法会检查每一个参数,观察仅对参数进行少量变动,训练集损失会朝哪个方向移动,然后找到可以减少损失的方向,继续进行优化。