1

我正在尝试使用正则化(L1 或 L2)实现逻辑回归。mnrfit() 函数不实现正则化。是否有任何内置函数可以进行正则化,或者我必须推出自己的正则化代码?如果是这样,有没有我可以看的教程?我一直在看的论文在数学上相当密集。

4

2 回答 2

1

Liblinear 是我们使用的标准。

http://www.csie.ntu.edu.tw/~cjlin/liblinear/

于 2013-03-26T00:53:20.530 回答
1

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 正则化将权重拉向 0。另一方面,L2 正则化对小权重几乎没有影响,但大大减少大权重。

于 2013-03-26T01:10:31.140 回答