一 序
本文属于贪心NLP训练营学习笔记,接着上一篇 NLP学习笔记21-逻辑回归2:决策边界,目标函数,凸函数,梯度下降。
二 当数据是线性可分
When Data is Linearly Separable,上节课老师留的问题
考虑以下情况,当数据是线性可分的时候,参数w为什么会趋向无穷大?以二分类为例。
这样的两堆点,可能有很多条线能区分,在线性回归的情况下哪条线能更好。
,对于逻辑回归来说,就是期望概率越大越好。
对于正样本趋向于1,负样本趋向于0.
对于p(y=1)当w趋向无穷大的时候,趋向于0,分母趋向于1,整体概率趋向于1
同理p(y=0)当w趋向无穷大的时候,分子趋向于0,整体概率趋向0.
所以,上面呢三条绿线里面,会选择垂直的线,特征是W非常大。(这种现象称为过拟合现象)
为了解决这个问题。让w更加合理,通常加上正则项,使得w不能变大。
Adding a Term-L2 Norm
解决的问题:避免W太大。
这个式子前面是目标函数,后面 是正则项。
其中
λ 也叫超参数,起到了平衡做用(通常会选择交叉验证的方式选择)。
下面看加入正则项之后,对于梯度下降法的影响:只是加了
三 模型复杂度和过拟合
之前说的过拟合与模型的复杂度有关,接下来学习模型复杂度与要素的关系
(1)模型复杂度
下面截图的点都是训练数据
模型训练数据表现好,应用在场景不好,就是过拟合的问题。这里模型非常重要的泛化能力。
模型的价值在于对未来数据的预测。
通常来说:复杂的模型准确率高,凡是泛化能力差。简单模型准确率比较低,但是泛化能力强。这需要做平衡。
过拟合--》泛化--》模型复杂度 三者相互影响
2模型复杂度影响因素
- 模型本身的选择 :简单的模型--》简单的环境。复杂的模型---》复杂的环境
- 模型的参数个数
- 模型的参数空间选择
- 模型拟合过少的样本
3 避免过拟合
1 模型本身的选择--》选择简单的模型
2 模型的参数个数:减少参数的个数
3.模型的参数空间选择:就是上面截图的,正则作用就是控制参数的范围,过滤掉复杂的参数。
4模型拟合过少的样本:获取更多样本。
接下来,重点看下第3点:模型的参数空间选择
上面讲过为了避免w很大,加了L2-norm 正则,(也叫范式)常用的还有:L0-norm、L1-norm、
L1-norm :
L1-norm 可以让很多参数=0,就是能解决数据稀疏性的问题。
L0-norm:不太常用。
除此之外,还有核范数 Nuclear Norm (矩阵奇异值的和,用于约束矩阵的低秩low rank)。
Nuclear Norm 可以过滤掉矩阵秩比较大的(如》50),还有其他的norm。
L1-norm:
L1-norm 跟L2-norm 共同点: 就会使得w变小。不同点,L1-norm会把L2-norm 里面非常小的变成0.
L1-norm 可以用来做一些选择性问题,不重要的变量可以过滤掉(0对应的变量就不重要)。
从几何上理解L1-norm,L2-norm 的区别:L1是菱形的等高线,L2是圆。是圆
L1与参数函数相交点倾向于x=0的y轴上,而L2则相交于点在x<>0的点上。
当有些时候我们需要过滤掉参数中不起作用的,就要用L1。老师举例:大脑神经元的例子,筛选出一小部分。
L2的特点是W更小。还可以把L1和L2一起用。老师推荐看论文:
假设 是线性回归。假设有几十个参数,这些参数里面有θ 1 , θ 2 , θ 3 \theta_1,\theta_2,\theta_3θ1,θ2,θ3三个参数是有很强的相关性的,那么我们在做特征工程的时候就要考虑只选择其中一个,L1正则项可以帮忙做到这一点,但是它只会随机的挑一个,不会去选那个最好的。如果结合上L2,那么就可以实现挑选出最好那个。
超参数的选择(交叉验证)
关于超参数可以这样理解,就是在模型之外的参数。
测试数据:不能用来训练,只是为了评估。选择在验证数据里最好的超参数组合。
为了选择,取不同的值,然后做以下循环,分别在下图中的绿色部分进行训练,然后在蓝色部分进行验证,然后求平均(这里是除以5),看λ 取哪个值最好。
整个过程:绝对不能用测试数据来引导(guide)模型的训练,否则就是作弊。
参数搜索策略:
一个超参数,例如逻辑回归中的λ ,我们先要给定一个候选值,再用上面交叉验证的方法来进行筛选。本节介绍这个值怎么选?
grid search:网格搜索(最笨最有效)
按照固定区间去进行设置候选值。举例是要求组合的最佳。
优点: 可以并发
缺点:计算量大
随机搜索(Random Search):随机找
遗传算法(Genetic/Evolutionary Algorithm):
贝叶斯优化(Bayesian Optimization):
这些内容老师没有展开讲。需要自行查资料学习补充。
总结
·好的模型拥有高的泛化能力
·越复杂的模型越容易过拟合
·添加正则项是防止过拟合的一种手段
·L1正则会带来稀疏特性
·选择超参数时使用交叉验证
·参数搜索过程最耗费资源