1,名词解释:
泛化能力:机器学习的主要目的是从训练集上学习到数据的真实模型,从而能够在未见过的测试 集上也能够表现良好,我们把这种能力叫做泛化能力
模型的容量:通俗地讲,模型的容量或表达能力,是指模型拟合复杂函数的能力。
过拟合:模型的容量过大,将训练集中的噪音也学习了,这样会伤害模型的泛化能力,在训练集上表现良好,但在测试集上表现欠佳。(Overfitting)
欠拟合:模型的容量过小,不仅会导致在训练集上表现不佳,同时也会在测试集上表现不佳。(Underfitting)
2,正则化
(1)L0,L1,L2范数
L0范数 指向量中非0的元素的个数。 但平时不用,因为没法求导,就没有办法进行反向更新。
L1范数 指向量中各个元素绝对值之和。
L2范数 指向量各元素的平方和然后求平方根。
(2) 造成过拟合的一个原因,参数过多,可以通过减少参数来避免过拟合。
通过设计不同层数、不同大小的网络模型可以为优化算法提供初始的函数假设空间(即模型容量),但是模型的实际容量可以随着网络参数的优化更新而产生变化。以多项式函数模型为例:
上述模型的容量可以通过𝑛简单衡量。但是在训练过程中,假如从 K+1 开始,系数都为零,那么这个网络的实际容量就退化到k次多项式的函数容量。因此通过限制网络参数的稀疏性,可以约束网络的实际容量。
(3) 在未加正则化约束前,损失函数可以这样表示:
对模型添加额外的约束,可以这样表示:
其中 L0 范数‖𝜃𝑖‖0定义为𝜃𝑖中非零元素的个数。通过约束∑ ‖𝜃𝑖‖0 𝜃𝑖 的大小可以迫使网络中 的连接权值大部分为 0,从而降低网络的实际参数量和网络容量。但是由于 L0 范数‖𝜃𝑖‖0 并不可导,不能利用梯度下降算法进行优化,在神经网络中使用的并不多。同理,L1,L2也是同样的道理,迫使参数值变得稀疏,以避免过拟合。
式子中的𝜆,用来权衡范式所起的作用。
https://www.bilibili.com/video/BV17441117dm,,,,bilibili上一个讲的比较好的正则化