《Hands on Machine Learning with Scikit Learn and TensorFlow》学习笔记

完整地学习一个案例项目包括以下主要步骤:

  1. 项目概述
  2. 获取数据
  3. 发现并可视化数据,发现规律
  4. 为机器学习算法准备数据
  5. 选择模型,进行训练
  6. 微调模型
  7. 给出解决方案
  8. 部署、监控、维护系统

首先,你需要划定问题监督、非监督还是强化学习?这是个分类任务、回归任务,还是其它的?要使用批量学习还是线上学习?
例如房价预测系统,很明显,这是一个典型的监督学习任务,因为你要使用的是有标签的训练样本每个实例都有预定的产出,即街区的房价中位数)。并且,这是一个典型的回归任务,因为你要预测一个值。讲的更细些,这是一个多变量回归问题,因为系统要使用多个变量进行预测(要使用街区的人口,收入中位数等等)。

1、性能指标

回归问题的典型指标是均方根误差(RMSE)。均方根误差测量的是系统预测误差的标准差。例如,RMSE等于50000意味着,68%的系统预测值位于实际值的50000美元以内,95%的预测值位于实际值的100000美元以内(一个特征通常符合高斯分布,即满足“68-95-99.7”规则:大约68%的值落在1σ内,95%的值落在2σ内,99.7%的值落在3σ内,这里的σ等于50000)。

虽然大多数时候RMSE是回归任务可靠的性能指标,在有些情况下,你可能需要另外的函数。例如,假设存在许多异常的训练数据。此时,你可能需要使用平均绝对误差(Mean Absolute Error,也称作平均绝对偏差)。

RMSE和MAE都是测量预测值和目标值两个向量距离的方法。

2、核实假设

例如,你的系统输出的街区房价,会传入到下游的机器学习系统,我们假设这些价格确实会被当做街区房价使用。但是如果下游系统实际上将价格转化成了分类(例如,便宜、中等、昂贵),然后使用这些分类,而不是使用价格。这样的话,获得准确的价格就不那么重要了,你只需要得到合适的分类。问题相应地就变成了一个分类问题,而不是回归任务。你可不想在一个回归系统上工作了数月, 最后才发现真相。

3、选择模型

线性回归、决策树、随机森林。

12-09 10:35