逻辑回归

来源:互联网 发布:linux黑屏 编辑:程序博客网 时间:2024/06/11 21:37

概述

Logistic回归的目的是寻找一个非线性函数Sigmoid的最佳拟合参数,求解过程可以由最优化算法来完成。在最优化算法中,最常用的就是梯度下降算法,而梯度下降算法又可以简化为随机梯度下降算法。
随机梯度下降算法与梯度下降算法的效果相当,但占用更少的计算资源。此外,随机梯度下降是一个在线算法,它可以在新数据到来时就完成参数更新,而不需要重新读取整个数据集来进行批处理运算。

我们想要找的函数应该是,能接受所有的输入然后预测出类别。例如,在两个类的情况下,上述函数输出0或1。具有这种性质的函数称为海维塞德阶跃函数(Heaviside step function),或者直接称为单位阶跃函数。然而,海维塞德阶跃函数的问题在于:该函数在跳跃点上从0瞬间跳跃到1,这个瞬间跳跃过程有时很难处理,即不满足单调可导的性质。幸好,另一个函数也有类似的性质,且数学上更易处理,这就是Sigmoid函数。
如果横坐标刻度足够大,Sigmoid函数看起来很像一个阶跃函数。

Logistic回归也可以被看成是一种概率估计。

函数表示

hθ(x)=11+eθTX

其中:
θTX=θ0x0+θ1x1+θ2x2+...+θnxn(x0=1)

代价函数

J(θ)=[1mmi=1(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i))))]+λ2mnj=1θ2j

梯度下降

Repeat until convergence {

θ0:=θ0α1mmi=1((hθ(x(i))y(i))x(i)0)

θj:=θjα1mmi=1((hθ(x(i))y(i))x(i)j+λmθj)forj=1,2,...n

}

调整可得:
Repeat until convergence {

θ0:=θ0α1mmi=1((hθ(x(i))y(i))x(i)0)

θj:=θj(1αλm)α1mmi=1((hθ(x(i))y(i))x(i)jforj=1,2,...n

}

多项式回归

不管是线性回归,还是逻辑回归,当使用方程进行拟合曲线的时候,一定要考虑是否使用多项式。例如当只有x1x2两个特征的时候,当发现使用直线无法将数据集进行分类的时候,可以考虑更高次幂的多项式组合:

y=θ0+θ1x1+θ2x2

y=θ0+θ1x21+θ2x1x2+θ3x22

y=θ0+θ1x31+θ2x21x2+θ3x1x22+θ4x32+θ5x21+θ6x1x2+θ7x22+θ8x1+θ9x2

然后令
x1=x21,x2=x1x2,x3=x22

x1=x31,x2=x21x2,x3=x1x22,x4=x32,x5=x21,x6=x1x2,x7=x22,x8=x1,x9=x2

将模型转化为线性回归模型。

需要注意的是,如果我们采用了多项式回归模型,在运行梯度下降之前,一定要进行特征归一化。

0 0
原创粉丝点击