b站李宏毅机器学习笔记随笔

b站李宏毅机器学习笔记随笔:P1-P4
视频地址:https://www.bilibili.com/video/BV1JE411g7XF?p=4

机器学习
从数据中筛选出一些有用的信息。最开始的机器学习,是对一些数据进行回归(预测未来),分类(剖析数据特征,分门别类)
我们的世界存在的数据,是人类无法全部获得的,可以认为是无穷的,小小的人类只能从部分的数据中,分析上帝到底在想什么。

事物具有普遍性与特殊性,能被我们采集到的数据也是如此:数据中蕴含的普遍性让能够窥探上帝在想什么,也就是说能一定程度上预测没有被我们采集到的数据是什么样的。同时,我们又很容易被采集回来的数据的特殊性带偏。

过拟合与欠拟合,就是对采集回来数据的特殊性与普遍性的一种学术表示。过拟合是因为我们太在意手头数据的特殊性了,被特殊性所带偏;欠拟合是没有很好地把握手头数据存在的普遍性。

李宏毅用射箭来描述这个现象:
1.复杂的模型能瞄准靶心,但是技术不行,导致散落在靶心周围。
2.简单的模型不能瞄准靶心,但是技术还可以,导致结果集中,但是远离靶心。
3.最好的情况是模型能瞄准靶心,同时技术也还可以,不会导致结果太散。
两种情况都会导致误差,但是误差的来源值得研究:
李宏毅把第一个情况导致的误差看作是bias(偏置,数学上来说是模型的期望输出均值偏离靶心;或者我可以认为他是稳态误差?),第二个误差看作是variance(方差)

误差来源
在具体的实践中,低阶的模型往往不能瞄准靶心,但是结果比较集中,因此误差来源是bias(偏置)
高级的模型能瞄准靶心,但是技术不行,总是导致结果太散,误差来源是variance(方差)

改进
了解了误差来自哪里,就可以有针对性地对模型进行改进。
1.简单模型+欠拟合
这时候决定误差的是模型本身,此时模型不能挖掘数据本身存在的普遍性,给再多的数据也没用,改进方法是提高阶数,使用更复杂的模型。
同时,给予模型更多的数据特征,也就是我们事先对数据进行了一个分类,其实相当于我们事先给模型提取了一些信息,再喂给模型。需要注意的是,单纯给模型堆数据量就没有意义了。

2.复杂模型+过拟合
此时决定误差的数据的不足,过拟合意味着模型被数据的特殊性带偏了,数据的普遍性被特殊性压制住了。

要了解到一点,根据泰勒公式,任何低阶模型都可以由复杂模型得到(高阶项的系数为0),理论上,一个复杂模型是肯定比简单模型要好的,但是为什么现实中不行呢?
因为理论意味着我们有无穷的数据量,但是现实中这是不可能的,我们不可能拥有取之不尽的数据量,因此这是复杂模型最主要的制约因素。
所以对于复杂模型+过拟合怎么办呢?没错,堆数据量呗…

3.复杂模型+过拟合
复杂模型被数据的特殊性蒙蔽了双眼,一个主要的体现是过于在乎数据的微小变化了,一个小小的噪声就能让复杂模型大动干戈,怎么办呢?
利用正则化:在目标函数后面加上这样的一项:+ 所有参数之和
这样的目的是惩罚大的参数(参数大代表对输入细微的变化也要死要活),从而起到平滑的作用,降低模型对输入数据的敏感程度。

4.稍微总结下:
复杂度较低的模型,总是欠拟合,不能表征数据的普遍性,此时主要的误差来源是bias;
提高模型复杂度之后,bias下降,variance上升,但是总体来说,模型表征现实的能力变强;到达红点时是,我们得到了最好的模型;
继续提高模型复杂度,bias持续下降,variance继续上升,但这时候,模型已经过拟合,总体来说模型性能是下降的。
在这里插入图片描述

一些技巧
1.李宏毅的平行时空理论
如果有1000个数据,那我不会将他一次用上(11000),而是分成十个“平行时空”,然后每个平行时空100个数据(10100),分别用来做模型拟合,然后对十个平行时空中模型的参数求平均值,得到最终的模型参数。
对于一个复杂模型来说,因为他能瞄准,只是技术不行老是射不准,这说明他的输出结果,应该是围绕着靶心的,服从一个正态分布的,那么这时结果的数学期望就是靶心。
同理,只要我对10个平行时空中的模型参数,取他的数学期望,那么最后的参数应该也能比较好地表征出数据的普遍性。
所以,取平均值(数学期望)能比较好地去除特殊性吗?不知道。

2.N折交叉验证
有公开的测试数据集,也有隐藏的测试数据集,有些人在公开测试集上挺好,隐藏的数据集比较垃圾。
这是因为对公开测试的数据集过拟合了…被玩坏了。所以提到了N折交叉验证的方法:
将自己的training set分成N份(以3份为例),做几次模型
第一,二份用来训练,第三份用来测试。
第一,三份用来训练,第二份用来测试。
第二,三份用来训练,第一份用来测试。

最后得出三个模型,三组模型参数,这样尽可能地利用数据里面的普遍性,尽可能地压制特殊性造成的影响。那最后可以挑一个最好的,或者再取个参数平均,任君选择吧。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值