机器学习是什么?
机器学习是一门关于数据学习的科学技术,它能帮助机器从现有的复杂数据中学习规律,以预测未来的行为结果和趋势。例如:当我们在网上商城购物时,机器学习算法会根据我们的购买历史来推荐可能会喜欢的其他产品,以提升购买概率。
机器学习的5大步骤
机器学习能帮助人们利用数据做出更准确更实时的决策,通过机器学习解决问题的路径主要包括下面几个步骤:
业务问题转化
历史数据收集
特征工程
模型训练
预测应用
业务问题转化
不同业务场景下会有不同的业务目标,有些目标适合直接作为机器学习的问题,而有些业务目标需要进行进一步拆解,将拆解后的子目标作为机器学习的优化目标,并转换为一个机器学习问题。
对于互联网企业来说,在线广告的收入通常是其主要收入来源,而广告收入是一个受多因素影响的指标,需要进一步进行转化和拆解,产生一个机器学习的优化目标,因此基于业务理解对广告收入这个业务目标拆解为:
在线广告收入=在线广告点击率 * 广告价格
拆解后,在线广告点击率便成为了一个更明确也更独立的建模优化目标,这样就把“如何提升在线广告收入”的这样一个业务目标转化为“如何提升在线广告点击率”的模型优化目标,也就是如何为每一个看到广告的受众提供合适的广告,使得广告点击率最大。
历史数据收集
发掘规律需要大量的历史数据,这些历史数据是要能代表定义的问题,机器学习算法通过从这些历史数据中学习规律,最终得到预测模型。我们把已经知道结果的历史数据称为标记数据(Labeled data),每一条独立的标记数据叫做样本。一条样本包含两个部分:
目标值label:在做预测前我们需要有一个目标,也就是我们需要预测的答案,因此历史样本中须包含目标值。
特征:是指和目标值有关联关系的属性或者描述性的数据,特征越丰富越好。
在上面提到的提升在线广告收入的业务场景中,我们将每一条在线广告展现后是否被用户点击作为样本数据中的目标值;把这条广告相关的信息(广告内容、广告价格、广告标题、广告LandingPage URL ...)、受众相关的信息(访问来自的IP地址,访问的时间,访问的前置URL,受众的网页历史行为...) 等叫做特征。
特征工程
把历史样本中的变量数据处理得更具有表征意义,对特征进行选择,变换,组合等过程。目的是希望能够最大限度地从原始数据中提取特征以供算法和模型使用。
该过程包括但不限于以下几个方面:
特征选择:假设网站能为我们提供100个特征,我们可以选择最重要的30个有用特征用于建模;
特征变换:如某个特征是受众的IP地址,我们可以基于IP地址到地理位置的转化,把IP地址转化为不同地理位置粒度的信息;
特征组合:不同的特征经过组合后会形成一个新的意义的特征,如广告价格+广告标题做组合。
...
模型训练
为足够多的样本选择合适的算法并配置合适的算法参数,就能进行模型训练。算法能学习到训练样本数据中变量和目标值之间的相关规则,我们把学习到的这些规则合集叫做模型。
实际训练过程中,我们训练出的模型通常需要通过尝试多次评估以及多次的参数设定,训练来产生一个较优的模型以供实际业务使用,这个过程也叫作模型优化。
预测应用
给训练出的模型输入新的待预测的数据,则可得到新的预测结果。根据应用的场景不同,应用方式分为以下2种:
批量预测:通过某段时间的积累,有一大批待预测结果的数据,需要通过模型一次性的产生这些数据的预测结果,批量预测也叫作线下预测。
实时预测:通过模型对线上实时产生的一条或多条数据进行预测,实时的给出预测结果,实时预测也叫线上预测。