sklearn已经提供了比较成熟的逻辑回归模型的拟合、预测方法,为什么还要研究矩阵计算的实现方法呢?
第一,我将LR视为标准模型系统的基石,我还是不太希望有不在把控的部分,自己去实现一次可以有很深的体验;
第二,我将使用遗传算法来对LR进行自动优化,这种计算量是非常大的,所以要在底层实现模型计算的并行,这就需要矩阵化。
本篇会探讨逻辑回归参数优化的原理(梯度计算),然后实现一次参数优化,并与sklearn的结果比较;接着尝试进行批量的参数优化。
假设获得的宽表(X)有1000行,1000列,我们同时进行两种可能性的搜索。
X1:有1000行,同时选取了 x1, x3, x5 这几个变量;
X2:有1000行,同时选取了 x2,x4这两个变量。
对X1和X2可以单独的进行梯度优化,并获得结果;然后我希望同时对X1、X2进行计算,同时获得结果。
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。
这个例子参考