MATLAB中Logistic回归系数的正则化

时间:2013-03-26 00:49:08

标签: matlab statistics regression

我正在尝试使用正则化(L1或L2)实现Logistic回归。 mnrfit()函数不实现正则化。有没有可以进行正则化的内置函数,还是我必须滚动自己的正则化代码? 如果是这样,有什么教程我可以看一下吗?我一直在研究的论文在数学上非常密集。

2 个答案:

答案 0 :(得分:1)

Liblinear是我们使用的标准。

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

答案 1 :(得分: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正则化对小权重几乎没有影响,但却大幅减少了权重。 / p>