机器学习之逻辑回归

逻辑回归是一种回归的方法,可以说是线性回归映射到(0, 1)之间的线性回归,适合两类分类,以及在给出分类的时候能够一同给出分到该类别的概率大小。

线性回归模型如下:

用sigmoid函数映射到(0, 1)区间如下:

那么可以得到以下条件概率:

那么给定一个样本x,它的似然函数为

对数似然函数为

接下来对w求导,结果如下:

如果用cost function 来定义,那么得到的方程正好与上式相差一个负号,如下:

那么接下来就是用来求解参数w了,如果使用似然函数,那么最优化问题可以转化为梯度上升算法,如果使用cost function,那么可以转化为梯度下降算法,二者是等价的。

——————————————————————————————————————————————————————————————————

上面是求解w的公式推导,但是在实际问题中使用梯度下降(或者梯度上升,下文使用梯度下降)会存在问题,

这里在提一下梯度下降算法,这个再线性回归中也会用到,最后的优化方程跟上面逻辑回归得到的是一样的。迭代公式如下:

每次朝着w最优的方向调整,上面已经得到w的偏导,那么初始化一个w,接下来进行迭代就没问题了。此外我们注意到,w的偏导,是对所有的数据点进行一个表达式的求和,所以在每次迭代的时候,都要遍历所有数据点,样本数量少尚可,样本量大了,那么复杂度就太高了,一个改进的方法就是使用随机梯度下降,每次用一个样本更新w,所有的样本随机取,并且迭代多次。

可能会有一个问题,为什么要用随机迭代呢,这里因为数据可能会有周期性,那么在w的求解过程中,可能会有震荡产生。随机取样可以避免这种现象的发生。

参考资料:

[1] 李航等, 统计学习方法, 2012年3月第1版

[2] Peter Harrington,机器学习实战,2013年第1版

原文地址:https://www.cnblogs.com/xiamaogeng/p/4480357.html