【Deep Learning with Python】C4 特征工程&过拟合处理原理

大佬还是大佬,看完之后,很多东西都豁然开朗,可能也是大量的recall。

机器学习

机器学习四个分支:

  • 监督学习
  • 无监督学习

书里说,无监督学习是数据分析的面包和黄油,指的是,很多监督学习都需要先用无监督学习进行处理,比如聚类和降维。

  • 自监督学习

自监督学习,启发式算法,让机器进行标注。但这只能说是大概,比如自编码器,提供过去的输入,如文本,或视频片段,要求预测下一个word或者frame。

  • 强化学习

强化学习是一种利用环境反馈进行改进优化的技术,但是目前比较好的应用只有在游戏中。但作者的看法,强化学习会在未来发挥巨大的作用,比如无人驾驶、机器人、教育等等。

notes:信息泄露

关于调参对val过拟合这件事,这里给出了信息论的解释,但你一直针对val调参时,val的一些信息就会泄露到train中。相反,如果你对val调参,确实在test验证,就不会有这个问题。test高分依然代表高泛化性。

数据预处理

数据处理注意

1. 为了使得数据分布一致,建议随机采样。

2. 与上面相反,有时序性的需要保持顺序

3. 防止重复的数据分别在不同的数据集,比如在test中,会使得结果虚高。

深度学习数据预处理

深度学习数据处理

1. 向量化

2. 数据标准化

3. 缺失值处理

置为0一般来说是可以的,因为一般神经网络,相当于没有贡献。要注意,test数据有缺失,train中就应该有,没有的话,应该加入一些重复,去掉部分特征。

特征工程

特征工程是什么?

上图这个例子非常直观。

特征工程是机器学习中最重要的一步,但它的本质是什么?书中指出,本质问题是,使得问题更监督的表达,这个看起来很朴素,但需要对数据深入理解。

深度学习因为有强大的自动提取特征的功能,所以问题:深度学习还需要特征工程吗?答案是需要的。

  • 好的特征会节省大量的资源,例如上面的例子,使用卷积识别图片来识别几点,这个是非常傻的做法。
  • 通常数据不会有那么多,自动抽取特征需要巨量的高质量数据。

机器学习永远的话题:过拟合

机器学习的主要任务是优化和泛化,通俗来讲,优化是针对train loss,泛化是针对没见过的数据。

但实际情况是,泛化这件事才是最重要的,可以说,模型永远轻易就能过拟合。

所以解决过拟合的方法有什么?

首选方法,增加训练数据。

为了解决模型对某部分特征过拟合的问题,最更本的方法是,增加训练数据,从统计的角度,只有数据量够大,最终保留下来的才会是出现最多的特征。

次佳方法,限制模型可存储信息

其实可以认为就是正则化,但我觉得这个观点非常精辟。

限制可存信息或者对信息的存放增加约束。这会使得模型为了最小化损失,只能把注意力集中在最重要的特征上。还是很抽象,来看看熟悉的东西。

  • L2正则

从这个角度上说,L2正则,就是用θ压制loss的取值,从而使得模型必须把有限的取值分配给最重要的特征。从公式上来理解也非常好,直接在loss中加入θ项,使得θ和拟合度(越拟合需要越多的θ,越多的θ就会引入loss中)必须自己取舍。

  • Dropout

dropout引入噪声的解释是,信息的保存变得不容易——有一定的概率会被丢弃,之前的累积前功尽弃,异曲同工。这东西不仅是直接缩小了模型的作用,更在于,从特征抽取的角度,重要特征必然会比偶然特征出现得更加频繁,而随机关闭某些特征,则限制偶然特征的存在——只有一份,一旦被关闭就没了。

  • 缩小网络

欧姆剃刀定律,如果两个解释都可以解释问题,那么更简单的那个更接近正确。

不管是添加噪声,还是增加限制,最终都会使得信息保存变得不容易。

参数的数量通常可以代表模型的拟合能力。

很容易过拟合的原因是,直观上,一旦参数足够,代表模型能存放更多的信息,很容易就可以建立一种类似map的结构——虽然没有泛化能力。

其次,模型参数是调参很值得参考的,模型的层次结构,单元数倒是区别不大。

正交化调参思想

控制一个开关,直到它对于val loss的边际效用开始递减。

机器学习模型的基本流程

  1. 数据集
  2. 评价指标
  3. 数据预处理
  4. 先超过随机选择
  5. 弄出最低限度过拟合的模型
  6. 正则化

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值