前言:
眼前同学们对“logistic回归梯度上升优化算法”大约比较珍视,各位老铁们都需要学习一些“logistic回归梯度上升优化算法”的相关文章。那么小编同时在网摘上收集了一些对于“logistic回归梯度上升优化算法””的相关内容,希望咱们能喜欢,朋友们一起来学习一下吧!本期介绍Logistic回归,最常用的机器学习算法一直,主要介绍其原理及其特征相关问题。
《机器学习基础知识手册》总结了更多的问题,欢迎访问github地址:
原理推导
将视为样本是正例的可能性,即,则是其反例的可能性,则逻辑回归模型为:
将上式整理一下可得:
如果事件发生的概率是,那么该事件的几率是。此时根据上式,逻辑回归可以看作是对事件的对数几率的回归。
令,上式可写为:
写出似然函数:
取对数得到对数似然函数:
最大化对数似然函数:
当样本可能属于多个标签时,可以训练个二分类的逻辑回归分类器,第个分类器用于区分每个样本是否可以归为第类,训练该分类器时,需要把标签重新整理为”第类标签“和”非第类标签“两类。
LR的优缺点优点:LR能以概率的形式输出结果,而非只是0、1判定。因为结果是概率,可以做ranking model。LR的可解释性强,可控度高实现简单,训练快缺点:对数据和场景的适应能力有局限性,不如决策树算法适应性那么强逻辑回归为什么要对特征进行离散化引入非线性。逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;离散特征的增加和减少都很容易,易于模型的快速迭代;加快计算。稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;增大模型的鲁棒性。离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;方便交叉与特征组合。离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;提升模型的稳定性。特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;简化模型。特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。逻辑回归常用的优化算法一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可以一定程度上抑制局部最优解的发生。二阶方法:牛顿法、拟牛顿法。这里详细说一下牛顿法的基本原理和牛顿法的应用方式。牛顿法其实就是通过切线与x轴的交点不断更新切线的位置,直到达到曲线与x轴的交点得到方程解。在实际应用中我们因为常常要求解凸优化问题,也就是要求解函数一阶导数为0的位置,而牛顿法恰好可以给这种问题提供解决方法。实际应用中牛顿法首先选择一个点作为起始点,并进行一次二阶泰勒展开得到导数为0的点进行一个更新,直到达到要求,这时牛顿法也就成了二阶求解问题,比一阶方法更快。我们常常看到的x通常为一个多维向量,这也就引出了Hessian矩阵的概念(就是x的二阶导数矩阵)。缺点:牛顿法是定长迭代,没有步长因子,所以不能保证函数值稳定的下降,严重时甚至会失败。还有就是牛顿法要求函数一定是二阶可导的。而且计算Hessian矩阵的逆复杂度很大。拟牛顿法: 不用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法。拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)。
标签: #logistic回归梯度上升优化算法