第一次听说正则化是学到神经网络的Dropout时,有L1正则化,又有L2正则化
后来,又在许多地方见到了这个词,早已知道什么是正则化,但一直不清楚为什么要叫“正则化”这个名字。今天查了词源,提出一个可能的原因。
regularization = make ... regular
根据etymonline的结果,regular源于古法语,有以下几个含义:
- belonging to or subject to a religious or monastic rule
- containing rules for guidance
- rule, straight piece of wood
根据Longman的结果,regular也是源于古法语,含义为:
- edge for drawing straight lines, rule
于是regularization很可能是指的是
在一个优化问题当中,我们预先知道结果应当满足一种性质,这种性质被称为 prior 先验。比如Dropout认为网络权重的绝对值应尽量小,稀疏学习认为数据的稀疏表示应尽量稀疏(稀疏指矩阵含有很多零元素,所以其矩阵范数要尽量小),这都是先验的例子。人为地把先验加入优化项当中,就是“令结果遵循我们设定的规则,令结果具有我们设定的性质”,也就变得regular了。从这个意义上说,译成“正则化”可谓相当传神了(但就是不太容易看得出来)。
再联想一下“正则表达式”,不也正是令结果满足我们设定的规则吗?