机器学习三要素为:数据(Data)、模型(Model)、算法(Algorithm)。
简而言之,三要素间的关系,可以用一句话来说明:
算法通过在数据上进行运算产生模型 。
那么,我们来具体了解机器学习三要素。
数据(Data)
向量空间模型(VSM)
原始数据(Raw Data)是无法直接用来喂给算法进行计算的,所以,需要构建一个向量空间模型(Vector Space Model/VSM)。VSM 的任务是将各种格式的Raw Data(文字、图片、音频和视频等等)转换为数字向量形式。接着,才可以把这些转换后的向量才可以作为机器学习算法的输入。
比如:著名的鸢尾花数据集(Iris)。
Iris的原始形式是一个个花,而使用VSM将每个花转换为一个长度为4的向量:(花萼长度, 花萼宽度, 花瓣长度, 花瓣宽度)
鸢尾花数据集的形式是这样的:
其中,每行代表了一个样本,比如第一行:[5.1, 3.5, 1.4, 0.2],代表了第一个样本的花萼长度=5.1, 花萼宽度=3.5, 花瓣长度=1.4, 花瓣宽度=0.2
每一行,也称为特征向量(Feature Vector) ,可以这么理解,花萼和花瓣的长度宽度,就是这个花的特征。要把这些特征输入到机器学习算法之中,而非花的本身。
模型
之前说过,机器学习学习的三要素是数据、模型、算法,,那什么是模型?
模型是机器进行学习的结果,学习的过程称为训练(Train)
可以把一个训练好的模型,理解成一个函数
我们把数据()输入到模型()中,得到预测结果()
输出的结果可能是一个实数(回归问题),也可能是一个标签(分类问题)。
比如,我们预测一张图片是猫还是狗:
这时候,会先用VSM将图片转换成向量,并放入到模型中进行计算,之后获得预测结果。
模型的要通过训练才能得到最终的结果,训练过程需要依靠某些方法来让模型变得更好。这个方法就是算法。
算法
介绍算法,首先要理解损失函数(Loss Function)的概念
机器学习的目标是优化模型,让模型的预测更准。于是,人们提出了损失函数 的概念,用来衡量模型的性能。
比如。回归任务的损失函数,通常用该点的预测值 与实际值的差的平方和作为损失函数,也就是
那么,最终的损失函数,就是在所有点上预测的误差的和,也就是
加上 是为了方便后续计算。 这个损失函数的名称叫做均方误差(Mean Squared Error,MES), 也是回归任务最常见的损失函数。
当这个损失函数最小的时候,也就是在当前数据上预测最准的时候(不代表在未知数据上也很准)。
而分类任务的性能判断方式有很多,最常用的包括:
准确分数(Accuracy Score,AC):所有分类正确的百分比
召回率(Recall Score)
ROC_AUC分数(Roc_auc Score)
交叉熵损失
而算法,则是用来降低这些损失函数的方法,算法通常也被称作优化算法,常用的算法包括:梯度下降(Gradient Descent),共轭梯度法(Conjugate Gradient),牛顿法和拟牛顿法,模拟退火法(Simulated Annealing) 等等。
一般来说,算法是机器学习和深度学习中比较考验数学与编程能力的部分,所以算法工程师的高薪不难理解。
不过,算法并非最重要的,数据的质量及数量以及模型是否适合与算法共同决定了最终的效果,所以,理解为什么数据、模型以及算法并称为机器学习三要素了吧?
领取专属 10元无门槛券
私享最新 技术干货