机器学习建模的数据特征工程—— 《Python深度学习》读书笔记(3)

版权声明:随便转载,互相学习,注明来源即可,不想注明也没事 https://blog.csdn.net/yangwohenmai1/article/details/88809249

本系列文章是对《Python深度学习》这本书阅读过程中,提炼出来的读书笔记。

《Python深度学习》这本书的作者是Kreas之父,也是Tensorflow框架的贡献者,本书的特点是,作者从一个编程学习者的角度来描述机器学习,而不是堆上来复杂的数学公式和函数变换。所有的数学理论或者公式,都用程序的方式描述出来,对于没有数学功底的开发者来说是一个很大的福利。不过当然,后期还是离不开数学,但作为入门来说这本书就相当的好了。

本章主要讲的是机器学习的数据特征工程方面的问题,什么是数据特征工程?

比如说你手上现在有一大批数据,这些数据有些是因为数据采集人员手误输错了;有的是因为没有及时输入数据导致数据中断或缺失;有的是特殊的原因造成数据不正常波动,如大旱或洪涝时期的粮食收成。对于这样的错误数据,缺失数据,异常波动数据,直接让机器学习只会让机器得出的模型偏差很大,那么你要怎么把手中的脏数据,清洗成合理的格式用于输入?这就是数据特征工程。

本章知识点:

1.机器学习的四个分支

监督学习,数据之间有映射关系的,比如训练机器学习1000张被标注“狗”标签的图片

无监督学习,只给你一批数据,你并不知道数据之间有什么内在关系,就让他自己学习,自我发现数据之间的内在联系。

自监督学习,用未来的数据来训练当前的结果,如时间序列预测的训练

强化学习,用于游戏,通过对当前场景的变化信息,学习如何使游戏获得的得分或奖励最大化

2.数据训练集的划分

如果你手上数据很多,那就简单的留出一部分数据不进行训练,用于后期的数据验证。

如果你手上数据不多,全拿来训练都不够用,但还要留出一部分用来验证,那就要用K折验证。所谓K折验证,就是把数据分为K份,首尾相接形成闭环,翻来覆去的训练。

对于没有时序关系的数据,可以使用重复的K折验证,也就是把分成K份的数据打乱后进行组合,这样能得到更多的数据。

3.数据特征工程内容

向量化,标准化,归一化,缺失值处理,数据编码方式one-hot code

4.数据的过拟合,欠拟合,以及解决办法

数据损失函数值越来越小,说明还有继续小下去的潜力,那就是欠拟合。

数据损函数值先变小,小到一定程度又变大,当他变大时就是过拟合了。那个最小值点就是最佳拟合点。一个最优的模型一定要有一个过拟合过程,才能找到最优的拟合点。

解决办法:减小或增大网络的大小,对权重的L1,L2正则化,神经节点的dropout正则化。

PS:奥卡姆剃刀原理是说,越简单的东西越可靠,模型层中,越多的权重系数能储存更多的信息,但也更容易过拟合,那么对于权重系数的数量,我们设定一个规则,每增加一个权重系数,就给网络的损失值增加一定比例,以防止过快的过拟合。

5.建模的流程及优化方法

定义需要建模的问题,

选择衡量模型是否有效的指标,

确定训练集,验证集,测试级的划分方法,

数据的准备和格式化,

建立一个符合常识的基准模型,

数据的欠拟合-过拟合处理

模型的正则化与超参数

6.常见的数据场景所适用的模型结构

见页底的图表


 

猜你喜欢

转载自blog.csdn.net/yangwohenmai1/article/details/88809249
今日推荐