1.2 机器学习流程与一些传统算法引子

引用ng老师的一幅图:TIM截图20180418155339机器学习就是一个不断迭代调优的过程,不断地验证新的想法,永无止境。本文主要介绍了机器学习主要的流程跟一些常规算法。

 

1.数据处理

  • 数据可视化:知道数据大概长啥样,心中有数…

看分布:

14

看属性之间的关系:15

  • 数据预处理:空值、异常值处理,标准化等…

空值处理:

16

异常值处理:

17

 

  • 特征提取尽可能的通过不同维度刻画出数据特征

以预测经销商是否跑路为例,理想的情况下是我们掌握了所有经销商的数据情况,通过学习以前经销商在跑路之前的数据特征,进行预防干预。

18

但是实际上我们对经销商的数据掌握极少…:一般在最后deadline前面一点点才对明显特征有所警觉,但为时已晚:

19

 

这也是一般人工判定的领域,但是有了数据,有了机器学习,我们可以提前进行预测:

20

 

2.传统数据挖掘算法引子

介绍各种各样传统算法的教程已经很多啦,在这只提一下名字,ng的机器学习课程基本上都有介绍…

这里引用挺好的读书笔记

  • 回归:线性回归
  • 分类:逻辑回归,支持向量机,决策树,k近邻
  • 推荐:协同过滤
  • 时间序列:拆分
  • 聚类:K均值,EM聚类
  • 神经网络

 

3.训练与测试

  • 评判:从预测目的出发,设定唯一评价标准,来确认模型的满意程度。下面两个图分别是分类与回归两类评价指标来源。

21

  • 过拟合:

不断地对训练集进行拟合,很有可能只是“死记硬背”到真正上战场的时候成绩反而不好

22

真正考试的时候:

23

这就是因为模型太过复杂,“完美”拟合训练例子,反而对新的例子没有判别能力了,训练误差并不是越低越好:

24

  • 训练策略:训练集与测试集

把一部分数据“藏”起来,从来测试一下训练好的模型表现如何:

25

甚至可以分好几次好几份,分别训练和测试,叫做交叉验证:

26

一般来说:机器学习的训练误差会越来越低,但是测试误差会随着模型的“过于复杂”而上升,这里是一个欠拟合到过拟合的过程:

27

发表评论

电子邮件地址不会被公开。