逻辑回归与梯度下降详解
2018-03-09 21:56
323 查看
逻辑回归Sigmoid函数:
Sigmoid函数梯度:
梯度的表达式这个梯度是指:沿着x方向移动
个单位,沿着y方向移动
个单位。函数f(x,y)在这一点上有定义并且可微,每个单位长度自行设定,称为步长,记为
梯度上升算法到达每个点后都会重新计算移动的方向,不断迭代移动,直到满足停止条件,停止条件可以是一个确定的迭代次数或是达到较小的误差。在迭代过程中,梯度总是选取最佳的移动方向。
权值调整公式利用该算法(梯度下降)进行求解优化问题:权值Weights更新:weights=weights+alphadata.transpose()error 按误差方向调整权重(回归系数)。即可以写成:
权值根据误差分方向进行调整增量是关于误差的一个函数。随机梯度上升算法:梯度上升算法每次更新都需要遍历整个数据集,如果数据量巨大,则耗时很大,复杂度高。改进方法:一次仅用户一个样本点来更新回归系数(随机梯度上升)。由于其在新样本到来时对分类器进行增量式更新,因而这是一个在线学习算法。用代码来看两者的区别:梯度上升:
Sigmoid函数梯度:
梯度的表达式这个梯度是指:沿着x方向移动
个单位,沿着y方向移动
个单位。函数f(x,y)在这一点上有定义并且可微,每个单位长度自行设定,称为步长,记为
梯度上升算法到达每个点后都会重新计算移动的方向,不断迭代移动,直到满足停止条件,停止条件可以是一个确定的迭代次数或是达到较小的误差。在迭代过程中,梯度总是选取最佳的移动方向。
权值调整公式利用该算法(梯度下降)进行求解优化问题:权值Weights更新:weights=weights+alphadata.transpose()error 按误差方向调整权重(回归系数)。即可以写成:
权值根据误差分方向进行调整增量是关于误差的一个函数。随机梯度上升算法:梯度上升算法每次更新都需要遍历整个数据集,如果数据量巨大,则耗时很大,复杂度高。改进方法:一次仅用户一个样本点来更新回归系数(随机梯度上升)。由于其在新样本到来时对分类器进行增量式更新,因而这是一个在线学习算法。用代码来看两者的区别:梯度上升:
for i in range(max_step): h = sigmoid(data_mat * weights) err = (label_mat - h) weights = weights + alpha * data_mat.transpose() * err return weights用全局的误差来更新weights随机梯度上升:
for i in range(n): h = sigmoid(numpy.sum(data[i] * weights)) err = label[i] - h weights = weights + data[i] * alpha * err return weights一个点只计算一次,遍历时使用当前点计算出的误差来调整本次的权值。两者区别在计算误差的方式上。其实怎么选取不重要,根据实验可以得到:随机选取和遍历每一个求得当前的误差,最后在于循环计算的次数,当次数趋向于一个合适的值时,误差稳定且较小,则此时分类即完成。http://blog.csdn.net/qq_20945297/article/details/78552273如果这不是一个凸优化问题,梯度下降势必会遇到局部最小(极小值)的情况如何应对其局部最小的问题:1、 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数;这就是从多个不同的初始点开始搜索寻优,这样陷入不同的局部极小值,从而选取更可能接近全局最小的解;2、 使用模拟退火:以一定的概率接受比当前解更差的结果,每步迭代中,接受次优解的概率要随着时间推移降低,保证算法能够收敛;3、 使用随机梯度下降,这样计算出的梯度仍可能不为0,这样就可能跳出局部极小值。
相关文章推荐
- 逻辑回归梯度下降法详解
- 逻辑回归梯度下降法详解
- 梯度下降原理及在线性回归、逻辑回归中的应用
- 机器学习实战——梯度下降求解逻辑回归(1理论基础)
- 逻辑回归和梯度下降简单应用案例
- 梯度下降原理及在线性回归、逻辑回归中的应用
- 梯度下降法解逻辑斯蒂回归
- 梯度下降法解逻辑斯蒂回归
- MLiA 逻辑回归 求解回归函数的系数中梯度下降法及其向量化
- LR 逻辑回归代码 (梯度下降)
- 逻辑斯谛回归(代价函数,梯度下降) logistic regression--cost function and gradient descent
- 逻辑回归代价函数及其梯度下降公式
- 逻辑回归-梯度下降训练
- 逻辑回归梯度下降公式详细推导
- 梯度下降求解逻辑回归(Python)
- 梯度下降和逻辑回归
- 逻辑回归-梯度下降法 python实现
- 【机器学习详解】线性回归、梯度下降、最小二乘的几何和概率解释
- 梯度下降求解逻辑回归(代码)
- 逻辑回归:损失函数与梯度下降