前言

在学习和实践了线性回归模型后,我们终于来到了下一站——分类问题,分类问题中经典的算法称为逻辑回归.

逻辑回归模型引入

给定一些样本以后,我们首先需要选用一个合适的样本估测函数去估计样本值,首先如果使用线性函数去模拟可以吗?现在想要预测肿瘤良性与肿瘤大小的关系,看下面这些样本在坐标系上的分布.
Classification----logisitic regression
此时使用线性回归可以得到如下图形:
Classification----logisitic regression
若使用线性函数模拟,在本次模拟中,根据下列函数判定,模拟效果还不错:

y={1,if predict_result0.50,if predict_result<0.5

可以在图像中看出,黄线左侧肿瘤预测为良性,右侧预测为恶性,目前看来一切都很正常,那我们再加入一个样本(18,1),得到的结果如下图:
Classification----logisitic regression
预测的准确率低的离谱,这就说明在分类问题中,运用线性回归预测是不科学的,可能存在某些数据导致预测很差(不知道这叫不叫过拟合),那么,我们需要构造一个合理的预测函数,这个预测函数h的值最好能够满足0<h(x)<1,有一个函数完美的契合了这样的条件——sigmoid function.

sigmoid function——预测函数

这个函数表达式是这样的:

ϕ(z)=11+ez

它的图像是这样的:
Classification----logisitic regression
从图像上可以看出,当z<0时,ϕ<0.5,z>0时,ϕ>0.5,并且它是连续的,位于0和1之间,我们将z=θTx代入函数,就可以得到满足条件的预测函数:
hθ(x)=11+eθTx

该预测函数的值可以看成类1的后验估计,即h的值可以表示预测类为1的概率.得到预测函数之后,接下来需要定义代价函数

cost function——代价函数

由于刚刚学习了线性回归,我们很自然的想到利用线性回归中的代价函数,即:

J(θ)=12mi=1n(hθx(i)y(i))2

但是这样定义的代价函数对梯度下降求极值是不友好的,因为它是非凸函数,即存在许多极小值,我们知道样本服从的是0-1分布,而预测函数h为类1的后验估计,那么可以表示为如下形式:
hθ(x)=11+eθTx=P(y=1|x;θ)

类0的后验估计则为:
1hθ(x)=111+eθTx=P(y=0|x;θ)

由于0-1分布的似然函数的形式如下:
J(θ)=i=1nP(y=1|xi;θ)yiP(y=0|x;θ)(1yi)

我们可以代入hθx,可以得到:
J(θ)=i=1nhθx(i)yi(1hθx(i))1yi

取对数得到:
logJ(θ)=i=1nyiloghθx(i)+(1yi)log(1hθx(i))

我们将累加项提取出来分析一下:
yiloghθx(i)+(1yi)log(1hθx(i))

由于对数似然函数求导是要求J的最大值,但是我们要求的是求最小值,所以我们在前面加上负号,即:
yiloghθx(i)(1yi)log(1hθx(i))

若y=1,若预测值为0,那么可以看出该项值趋于无穷大,即代价值非常大,若预测值为1,那么该项值为0,即代价值为0,若y=0,与之相反,可以看出该项很契合代价值的评估.也就是说该似然函数可以当做逻辑回归过程中的代价函数.

梯度下降

利用最大似然函数的求解过程,即求偏导,我们得到梯度下降过程中θ遵循的变化公式:

θnew=θold+αi=1n(yihθxi)xji

与线性回归的比较

  • 当特征值相差较大时,逻辑回归也需要进行特征缩放.
  • 线性回归样本总体满足高斯分布,逻辑回归满足伯努利分布即0-1分布.
  • 两者其实在梯度下降过程中都使用了最大似然思想.只不过由于满足的分布不同,导致似然函数有差异.

相关文章:

  • 2021-05-25
  • 2021-10-08
  • 2021-12-27
  • 2021-05-21
  • 2021-10-16
  • 2021-07-10
  • 2021-08-02
猜你喜欢
  • 2021-10-07
  • 2021-11-02
  • 2021-06-04
  • 2021-06-01
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
相关资源
相似解决方案