请支持正版图书, 购买链接
下方内容里面很多链接需要我们科学上网,请大家自备梯子,实在不会再请留言,节约彼此时间。
当开始着手进行一个端到端的机器学习项目,大致需要以下几个步骤:
观察大局
分析业务,确定工作方向与性能指标
获得数据
借助框架分析数据
机器学习算法的数据准备
选择和训练模型
微调模型
展示解决方案
启动、监控和维护系统
接下来,我将对每一个部分自己的心得进行总结。
一、观察大局
当开始一个真实机器学习项目时,需要针对项目的特点,有针对性进行分析。任何项目都有其最终的目的,总的说来,我觉得首先要考虑的是业务需求,即用这个模型要解决什么事情,需要的程度如何等等的问题。假设项目是一个预测的问题,那么我需要知道的是我上游环节能给我什么样的数据,下游的环节需要我提供怎样的数据流,是具体的价格(要精确到何种地步?)?还是一个等级划分?这些都决定了自己在这个项目上所花费的精力以及使用的模型、测量方法等一系列问题,总之要求不一样,进行的处理就不一样,这就是大局观。
二、分析业务,确定工作方向与性能指标
因为我们是要进行机器学习项目,所以应该根据业务对我们的项目要构造的机器学习系统的种类进行划分。从长远来看,机器学习系统大致有以下几种:
是否在人类监督下训练:监督式学习、无监督学习、半监督学习与强化学习
是否可以动态地进行增量学习:在线学习和批量学习
是简单地将新的数据点和已知的数据点进行匹配,还是对训练的数据进行有针对性的模型预测:基于实例的学习与基于模型的学习
这里,以文中的”房价预测“为例。
1、分析机器学习系统的类别
这里可以先提前给出部分数据,如下图。让我们来思考一下,这个预测问题应该划分为什么类别。
我们可以看到,图中数据有很多属性,由于我们最终做的是房价预测而数据中你会发现有一列属性很耀眼”median_house_value“,这个属性是该地区的房价中位数属性,那我就明白了一件事,那就是我要预测的结果应该与该地区的房价中位数差不多才是正确的预测结果,所以我的机器学习系统应该是一个有监督的学习系统,是一个多变量回归的问题。
2、测试指标的选择
因为已经确定了是一个对变量的回归问题,因此测试指标就应该对应多变量回归问题进行。
回归问题的典型性能衡量指标首选是均方根误差(RMSE),这里首先给出它的公式供大家参考:
注:其中的m是数据集实例中的实例数量,x是数据集中所有实例的所有特征值的矩阵,h(x)为系统的预测函数,即我们要预测的结果,y为真实值。
上式的意思就是描述预测值与真实值之间的差异,RMSE的值越小,说明预测效果越好,预测值与真实值的偏差越小。
(这里附一个链接,关于讲解均方根误差、标准差、方差之间的关系。总的说来,标准差是数据序列与均值的关系,而均方根误差是数据序列与真实值之间的关系。因此,标准差是用来衡量一组数自身的离散程度,而均方根误差是用来衡量观测值同真值之间的偏差,它们的研究对象和研究目的不同,但是计算过程类似)
如果获得的数据中存在许多的离群区域,我们可以考虑用平均绝对误差(MAE),这里给出公式: