快捷搜索:  汽车  科技

logistic回归举例(Logistic回归学习笔记)

logistic回归举例(Logistic回归学习笔记)数据集Logistic回归虽然名为回归,但它实际上是用来处理分类问题的。我们以二分类为例,给定如下数据集其中,μ是位置参数,γ(γ>0)是形状参数。密度函数f(x)为分布函数F(x)的导数,函数图像分别如下图所示。Logistic分布密度函数(左)与分布函数(右)Logistic分布是由其位置和尺度参数定义的连续分布,特别的,当μ=0,γ=1时,其分布函数就是sigmoid函数。我们从函数图像中可以看出,曲线在中心附近增长较快,而在两端增长很慢,因此当我们以中心点μ处的分布概率为分界点时可以很好很快地把中心点附近的数据分类。

Logistic分布

设X是连续随机变量,Logistic分布指的是一种连续型的概率分布,其分布函数

logistic回归举例(Logistic回归学习笔记)(1)

Logistic分布分布函数

和密度函数分别如图所示。

logistic回归举例(Logistic回归学习笔记)(2)

Logistic分布密度函数

其中,μ是位置参数,γ(γ>0)是形状参数。密度函数f(x)为分布函数F(x)的导数,函数图像分别如下图所示。

logistic回归举例(Logistic回归学习笔记)(3)

Logistic分布密度函数(左)与分布函数(右)

Logistic分布是由其位置和尺度参数定义的连续分布,特别的,当μ=0,γ=1时,其分布函数就是sigmoid函数。我们从函数图像中可以看出,曲线在中心附近增长较快,而在两端增长很慢,因此当我们以中心点μ处的分布概率为分界点时可以很好很快地把中心点附近的数据分类。

Logistic回归模型

Logistic回归虽然名为回归,但它实际上是用来处理分类问题的。我们以二分类为例,给定如下数据集

logistic回归举例(Logistic回归学习笔记)(4)

数据集

假设该数据集分布如下:

logistic回归举例(Logistic回归学习笔记)(5)

数据集分布

那么我们的目标就是找到这样一条直线可以将上述数据线性可分,即将圆形划为一类(假设为反例,y=0),将五角星划为一类(假设为正例,y=1)。这样的直线我们称为决策边界,Logistic回归模型的任务就是要学习出决策边界。上述问题的决策边界可以表示为w1x1 w2x2 b=0,在该决策边界上方的样本为一个类别(正例),在该决策边界下方的样本为另一个类别(反例)。

我们令w=(w1 w2)^T,x=(x1 x2)^T,那么上述决策边界就可以写成w^Tx b=0。实现上述分类最理想的函数是单位阶跃函数。

logistic回归举例(Logistic回归学习笔记)(6)

单位阶跃函数

但是这个阶跃函数是不可微的,因此我们使用形如sigmoid函数的对数几率函数来代替它,我们将y视为x为正例的概率,则1-y就是x为反例的概率,两者的比值(该事件发生与不发生的概率比值)称为几率,最终改写公式如下:

logistic回归举例(Logistic回归学习笔记)(7)

对数几率函数改写公式

也就是说,输出y的对数几率是由输入x的线性函数表示的模型,这就是Logistic回归模型。可以看到,当w^Tx b的值越接近正无穷,x为正例(y=1)的概率就越接近1。

至此我们可以得出结论,Logistic回归模型的思路就是拟合决策边界(多项式,而不仅仅局限于线性),再建立这个边界与分类的概率联系,从而得到分类情况下的概率。

至此,我们得出结论:Logistic回归实际上是使用线性回归模型的预测值逼近分类任务真实标记的对数几率。

损失函数

有了如上模型的假设与训练数据后,我们就可以把模型中的参数求出来。在统计学中,我们常常使用极大似然估计法来估计模型参数,即找到一组参数,使在这组参数下,数据的似然度(概率)最大。以上述的二分类问题为例,假设P(y=1|x)=p(x),则P(y=0|x)=1-p(x)。那么似然函数如下:

logistic回归举例(Logistic回归学习笔记)(8)

似然函数

我们对上述等式两边同时取对数,得到对数似然函数:

logistic回归举例(Logistic回归学习笔记)(9)

对数似然函数

机器学习中通常使用损失函数来衡量模型预测错误的程度,我们令该模型的损失函数为整个数据集上的平均对数似然损失,那么Logistic回归模型的损失函数为:

logistic回归举例(Logistic回归学习笔记)(10)

损失函数

可以看到,在逻辑回归模型中,最大化似然函数和最小化损失函数实际上是等价的。

我们平常所说的最小化损失函数就是为了优化模型,优化的主要目标是找到一个方向,使得参数朝这个方向移动之后损失函数的值能够减小。我们使用随机梯度下降法来求解,具体来讲,就是通过J(w)对w的一阶导数来寻找梯度下降方向,并且以迭代的方式来更新参数。J(w)对w的一阶导数求解过程如下:

logistic回归举例(Logistic回归学习笔记)(11)

求导过程

得到一阶导后就可以使用它和超参数学习率α来更新参数w(k 1)=w(k)-α*一阶导。其中,k为迭代次数,我们可以设定最大迭代次数来停止迭代,也可以设置一个阈值,根据每次迭代后比较||J(w(k 1)) - J(w(k))||是否小于这个阈值来判断是否停止迭代。

猜您喜欢: