Machine Learning学习笔记(一)

参考书籍:Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow

第二章 End-to-End Machine Learning Project 端到端的机器学习项目

项目checklist:

着眼全局

  1. 制订方案: 了解研究对象,模型的用途等,以便选择算法、评估标准。当前方案可以作为参考(对性能及自己的解决方案)

Pipelines: 一系列数据处理组件的序列。通常是异步的。当有一个组件出现故障时,其下流的组件可以使用该故障组件之前的输出,因此至少短时间内,不会出现问题,因此这个结构相对来说比较健壮

当以上信息了解完毕后,可以开始设计自己的系统了,比如是选择监督、非监督还是增强学习,是分类还是回归问题,需要batch还是online

Multiple and univariate regression: 利用多个特征预测单个变量值的问题
Multivariate regression: 预测变量值为多个时,为多元变量回归问题

当数据量很大时,可以选择在多个服务器上进行batch learning(MapReduce Technique)或者使用online learning

  1. 选择性能指标
    性能指标可以用来评估当前方案的优劣,常用的有:
  • 均方根误差(Root Mean Square Error, RMSE),适用于回归任务
  • 平均绝对误差(Mean absolute error, MAE),相较RMSE,当有较多异常值(outlier)时,可以选用该指标
  • 以上两种方法实际上都属于范数(norms),RMSE对应2-范数,即欧几里得范数(Euclidean norm),记为 ∣ ∣ ⋅ ∣ ∣ 2 \lvert \lvert \cdot \rvert \rvert_2 ∣∣2 ∣ ∣ ⋅ ∣ ∣ \lvert \lvert \cdot \rvert \rvert ∣∣∣∣MAE对应1-范数,即曼哈顿范数(Manhattan norm),记为 ∣ ∣ ⋅ ∣ ∣ 1 \lvert \lvert \cdot \rvert \rvert_1 ∣∣1
  • 更普遍地,k-范数, l k l_k lk的定义为 ∣ ∣ v ∣ ∣ k = ( ∣ v 0 ∣ k + ∣ v 1 ∣ k + ⋯ + ∣ v n ∣ k ) 1 k \lvert \lvert \mathbf v \rvert \rvert_k=(\lvert v_0 \rvert^k+\lvert v_1 \rvert^k+\cdots+\lvert v_n \rvert^k)^\frac{1}{k} ∣∣vk=(∣v0k+v1k++vnk)k1。0-范数, l 0 l_0 l0表示向量中非0元素的个数,无穷范数, l ∞ l_\infty l表示所有向量元素中绝对值最大的值
  • 索引越高,范数越关注大值忽略小值,这也就是为什么RMSE相较MAE对异常值更加敏感,当异常值非常稀少时,RMSE表现优异
  • m m m表示数据集中用于评估性能的实例数,一般就是指测试集大小
  • x ( i ) \mathbf x^{(i)} x(i)表示第 i i i个实例的特征向量, y ( i ) y^{(i)} y(i)表示对应的标签,即期望输出值
  • X \mathbf X X表示所有实例的特征向量组成的特征矩阵,第 i i i行相当于 x ( i ) \mathbf x^{(i)} x(i)的转置,记为 ( x ( i ) ) T {(\mathbf x^{(i)})}^{\mathsf T} (x(i))T
  • h h h表示自己的预测函数,也称为假设(hypothesis)。对给定的向量 x ( i ) \mathbf x^{(i)} x(i),输出预测值 y ^ = h ( x ( i ) ) \hat y=h(\mathbf x^{(i)}) y^=h(x(i))
  • 均方根误差公式:   R M S E ( X , h ) = 1 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) 2 \ RMSE(\mathbf X, h)=\sqrt{\frac {1}{m}\sum_{i=1}^m(h(\mathbf x^{(i)})-y^{(i)})^2}  RMSE(X,h)=m1i=1m(h(x(i))y(i))2
  • 平均绝对误差公式:   M A E ( X , h ) = 1 m ∑ i = 1 m ∣ h ( x ( i ) ) − y ( i ) ∣ \ MAE(\mathbf X, h)=\frac {1}{m}\sum_{i=1}^m\lvert h(\mathbf x^{(i)})-y^{(i)}\rvert  MAE(X,h)=m1i=1mh(x(i))y(i)
  1. 检查假设: 确保任务目标等正确。

准备数据

  1. 获取数据
  2. 配置工作环境
  3. 下载数据: 可以编写脚本便于更新数据以及部署到不同的机器上。
  4. 查看数据组成
  5. 创建测试集: 在进一步分析数据前,先将测试集分出,不对它们进行分析,避免data snooping偏见
    • 处于训练集中的数据不能再用于测试
    • 测试集划分时,要分层抽样,避免偏差

探索并可视化数据

  1. 可视化数据
  2. 寻找相关性: 计算不同特征间的相关系数(correlation coefficient),相关系数只衡量线性相关性,无法得知非线性相关信息。相关系数取值范围为-1到1,越接近1,表明越正相关;越接近-1,越负相关;越接近0,越无线性相关性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值