【发布时间】:2013-03-15 16:22:00
【问题描述】:
我正在尝试使用正则化(L1 或 L2)实现逻辑回归。 mnrfit() 函数不实现正则化。是否有任何内置函数可以进行正则化,或者我必须推出自己的正则化代码? 如果是这样,有没有我可以看的教程?我一直在看的论文在数学上相当密集。
【问题讨论】:
标签: matlab statistics regression
我正在尝试使用正则化(L1 或 L2)实现逻辑回归。 mnrfit() 函数不实现正则化。是否有任何内置函数可以进行正则化,或者我必须推出自己的正则化代码? 如果是这样,有没有我可以看的教程?我一直在看的论文在数学上相当密集。
【问题讨论】:
标签: matlab statistics regression
L1 和 L2 正则化非常容易实现。
L1 正则化通过在每个训练步骤后减去固定数量的权重绝对值来发挥作用。因此,L1 正则化系数为例如0.01,您的权重 (1.0, -2.0, 3.0) 将变为 (0.99, -1.99, 2.99)。
L2 正则化通过减去 百分比 的权重来工作。系数为 0.01,这意味着将权重向量乘以 1。- 0.01 = 0.99。权重 (1.0, -2.0, 3.0) 将变为 (0.99, -1.98, 2.97)。这也称为权重衰减。
如您所见,L1 正则化将 small 权重拉向 0。另一方面,L2 正则化对小权重几乎没有影响,但大大降低了 large 权重。
【讨论】:
Liblinear 是我们使用的标准。
【讨论】: