机器学习专题--02逻辑回归

738 阅读4分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

Linear Regression(线性回归)

在了解逻辑回归之前,我们先简单介绍一下Linear Regression(线性回归)。 线性回归是利用连续性的变量来预估实际数值(比如房价),通过找出自变量与因变量之间的线性关系,确定一条最佳直线,称之为回归线。并且,我们将这个回归关系表示为

Y=aX+bY = aX + b

正则化

奥卡姆剃刀(Occam's razor)原理:在所有可能选择的模型中,我们应选择能够很好的解释数据,并且十分简单的模型。从贝叶斯的角度来看,正则项对应于模型的先验概率。可以假设复杂模型有较小的先验概率,简单模型有较大的先验概率。让L2范数的正则项||W||2最小,可以使得W的每个元素都很小,都接近于0。(L1范数让W等于0),而越小的参数说明模型越简单,越简单的模型越不容易产生过拟合的现象。

为什么L1范数会使权值稀疏?

任何的正则化算子,如果他在Wi=0的地方不可微,并且可以分解为“求和” 的形式,那么这个正则化算子就可以实现稀疏。

Logistic Regression(逻辑回归)

逻辑回归概述

与线性回归不同的是,逻辑回归并不是一个回归算法,它是一个分类算法;通过拟合一个逻辑函数来预测一个离散型因变量的值(预测一个概率值,基于0与1),来描述自变量对因变量的影响程度。自变量可以有一个,也可以有多个。其中,一个自变量被称为一元逻辑回归,而多个自变量被称为多元逻辑回归。 以实例而言,逻辑回归可以预测一封邮件是垃圾邮件的概率是多少。同时,因为结果是概率值,它同样可以对点击率等结果做排名模型预测。

逻辑回归步骤

首先,寻找一个合适的预测函数h(x)来预测输入数据的判断结果。其次,构造一个损失函数cost,来表示预测的函数值h(x)与训练集数据类别y的偏差(二者的差值等形式)。对所有训练数据的损失求平均或者求和记为J(θ),表示所有训练数据预测值和世纪类别的偏差。我们很容易得到J(θ)越小,预测得越准确,所以我们的目的就是寻找数J(θ)的最小值。寻找最小值有许多方法,这里我们通过梯度下降法(Gradient Descent)进行展示。 接下来,我们对上述内容进行详细解读: 预测函数:

h(x)=11+e(ωTx+b) h(x)=\frac{1}{1+e^{-\left(\omega^{T} x+b\right)}}

损失函数

L((ω))L((\omega))
L(ω)=i1(yiωTxlog(1+eωTxi))L(\omega)=\sum_{i}^{1}\left(y_{i^{*}} \omega^{T} x-\log \left(1+e^{\omega^{T} x_{i}}\right)\right)

损失函数是由逻辑回归的预测函数公式推导而得,值得一提的是,上述的ω^T并不是ω的T次方,而是ω的转置的意思。如果您学习过线性代数的知识应该能很容易理解转置的含义,但没有学习过也没有关系,把它看成ωx使用即可。详细的推导过程不是必须要掌握的知识点,我们会将这部分内容放在文章附录,如果您感兴趣,可以在之后查看。

什么是梯度下降

我们可以观察一个最简单的函数y=x2y=x^2 Image Name 1.首先对 x 取任意一个值比如-0.8,我们可以得到一个 y 值: Image Name 2.其次,求更新方向。例如我们向正方向更新,得到图像如下: Image Name 可以发现,当我们向着正方向更新的时候,我们正在逐渐接近最终的结果(零点)。而两次更新之间的间隔(这里是 0.1),在机器学习当中,我们称为学习率。当学习率过大时,x 可能不能很好地收敛;当学习率过小时,x 的收敛速度可能过慢。 3.不断重复第 1、2 步,直到 x 收敛 以上就是梯度下降的主要思想,我们可以得到下降公式:

Image Name

实战

实战代码 逻辑回归

参考资料

blog.csdn.net/weixin_3417…

blog.csdn.net/fisherming/…

www.cnblogs.com/ModifyRong/…

blog.csdn.net/donaldsy/ar…

blog.csdn.net/guolindongg…

blog.csdn.net/qq_27009517…

zhuanlan.zhihu.com/p/98785902

zhuanlan.zhihu.com/p/61379965

www.cnblogs.com/endlesscodi…