Logistic回归原理介绍

来源:互联网 发布:英雄无敌3 mac 10.10 编辑:程序博客网 时间:2024/06/08 17:40

模型假设

根据线性回归可以预测连续的值,对于分类问题,我们需要输出0或者1。所以,在分类模型中需要将连续值转换为离散值。我们可以预测:

  • hθ大于等于0.5时,输出为y=1;

  • hθ小于0.5时,输出为y=0。

Logistic回归模型的输出变量范围始终在0和1之间,Logistic回归模型的假设为:

hθ(x)=g(θTx)

其中:

  • x代表特征向量
  • g代表逻辑函数(Logistic Function),常用逻辑函数为S形函数(Sigmoid Function),函数公式为:

g(z)=11+ez

该函数的图像为:


所以,整个模型的假设为:

hθ(x)=11+eθTx

该假设函数hθ(x)的作用是,对于给定的输入变量,根据已经训练好的模型参数计算出输出变量=1的可能性(estimated probability),即

hθ(x)=P(y=1|x;θ)

判定边界

在Logistic回归中,我们预测:

  • hθ大于等于0.5时,预测 y=1;

  • hθ小于0.5时,预测 y=0。

根据上面绘制的S形函数图象,当

  • z=0时,g(z)=0.5;z>0时,g(z)>0.5;z<0时,g(z)<0.5

其中,z=θTx,即:

  • θTx0时,预测 y=1;
  • θTx<0时,预测 y=0。

可以观察到z=θTx与线性回归非常相似,该函数所表示的线(面)就是Logistic回归中分界线,即判定边界(Decision Boundary)。针对不同的数据分布,我们可以用非常复杂的模型来适应形状判定边界。

代价函数

在线性回归中,我们将代价函数定义为模型所有误差的平方和。而在逻辑回归中沿用这个定义得到的代价函数是一个非凸函数,这难以用梯度下降法求局部最小值,因此需重新定义逻辑回归的代价函数:

J(θ)=1mi=1mCost(hθ(x(i)),y(i))

其中Cost()函数定义为:

Cost(hθ(x),y)={log(hθ(x))log(1hθ(x))y=1y=0

将构建的Cost()函数简化如下:

Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))

带入代价函数可得到代价函数表达式为:

J(θ)=1m[i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]

代价函数求解

仍然采用梯度下降法求代价函数的局部最小值:

θj:=θjαθjJ(θ)

求导后得到迭代过程:

θj:=θjαi=1m(hθ(x(i)y(i))x(i)j

Simultaneously update θj for j=0,1n.

注:虽然得到的梯度下降算法表面上看去与线性回归一样, 但是这里的hθ(x)=g(θTx)与线性回归中不同,所以实际上是不一样的。
另外,在运行梯度下降算法之前,进行特征缩放依旧是非常必要的

0 0
原创粉丝点击