机器学习笔记之Logistic回归
阅读原文时间:2021年04月27日阅读:1

Logistic 回归是一种分类方法,因变量可以是二分类也可以是多分类,但常用于二分类问题。

函数表达式:
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1​

函数在坐标图上的形状:

可以看到,z趋向于负无穷大时,值越接近 0;z趋向于正无穷大时,值越接近 1,这样就可以使输出值在 0 到 1 之间。处理二分类问题时,用 0 和 1 分别表示两种情况,Logistic函数 就可以对数据进行非线性拟合。


假设函数

对于分类问题,要让估算值在 0 到 1 之间:
0 ≤ h θ ( x ) ≤ 1 0\leq h_\theta(x)\leq1 0≤hθ​(x)≤1
使用 Logistic 模型来假设函数:
h θ ( x ) = g ( θ T x ) h_\theta(x)=g(\theta^Tx) hθ​(x)=g(θTx)
最后构造的预测函数:
h θ ( x ) = 1 1 + e − θ T x h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}} hθ​(x)=1+e−θTx1​
根据这个方程,当一个合适 θ \theta θ 被求出时,把因变量 x x x 代入方程,求出 h θ ( x ) h_\theta(x) hθ​(x) 的值,就可以根据这个值是更接近 0 还是更接近 1 来判断它属于哪一类。


决策界限

先预测一下情况:
h θ ( x ) ≥ 0.5 时 , 预 测 y = 1 h θ ( x ) < 0.5 时 , 预 测 y = 0 h_\theta(x) \geq0.5时, \quad 预测 y =1 \\ h_\theta(x)< 0.5 时, \quad 预测 y=0 hθ​(x)≥0.5时,预测y=1hθ​(x)<0.5时,预测y=0 下面是一个样本训练集:
坐标系中的直线为决策边界,直线左下方的点代入方程中,求出的 h θ ( x ) h_\theta(x) hθ​(x) 值小于 0.5,预测的 y y y 值为 0;直线右上方的点代入方程中,求出的 h θ ( x ) h_\theta(x) hθ​(x) 值大于 0.5,预测的 y y y 值为 1。这样,找出合适的 θ \theta θ 值,就对两类数据进行了分类。

再列举另一个样本训练集:

坐标系中的圆也是决策边界,圆内预测的 y y y 值为 0,圆外预测的 y y y 值为 1。


代价函数

线性回归中的代价函数:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac1{2m}\sum_{i=1}^m\left(h_\theta(x^{(i)})-y^{(i)}\right)^2 J(θ)=2m1​i=1∑m​(hθ​(x(i))−y(i))2
改写为另外一种形式:
J ( θ ) = 1 m ∑ i = 1 m C o s t ( h θ ( x ( i ) ) ,    y ( i ) ) J(\theta)=\frac1m\sum_{i=1}^mCost\left(h_\theta(x^{(i)}),\ \ y^{(i)}\right) J(θ)=m1​i=1∑m​Cost(hθ​(x(i)), y(i))
其中 C o s t Cost Cost 部分:
C o s t ( h θ ( x ( i ) ) ,    y ( i ) ) = 1 2 ( h θ ( x ( i ) ) − y ( i ) ) 2 Cost\left(h_\theta(x^{(i)}),\ \ y^{(i)}\right)=\frac12\left(h_\theta(x^{(i)})-y^{(i)}\right)^2 Cost(hθ​(x(i)), y(i))=21​(hθ​(x(i))−y(i))2
如果直接以这种方式求值的话,会导致代价函数的形状为非凸函数,有很多的局部最优解,难以找出局部最优解。我们需要使代价函数的形状为凸函数,所以需要改变一下代价函数的形式。

需要达到的效果如下图所示:


构造Cost函数

分为两种情况考虑:
C o s t ( h θ ( x ( i ) ) ,    y ( i ) ) = { − l o g ( h θ ( x ) ) ( 当   y = 1   时 ) − l o g ( 1 − h θ ( x ) ) ( 当   y = 0   时 ) Cost\left(h_\theta(x^{(i)}),\ \ y^{(i)}\right)=\left\{ \begin{array}{rcl} -log(h_\theta(x)) & (当 \ y=1 \ 时) \\ -log(1-h_\theta(x)) & (当 \ y=0 \ 时) \end{array} \right. Cost(hθ​(x(i)), y(i))={−log(hθ​(x))−log(1−hθ​(x))​(当 y=1 时)(当 y=0 时)​
y = 1 时的图像:

如果 h θ ( x ) h_\theta(x) hθ​(x) 趋近于 1,越贴近于我们的实际值 y = 1 y=1 y=1,那么 C o s t Cost Cost 就趋近于 0,可以达到需求;但是如果 h θ ( x ) h_\theta(x) hθ​(x) 趋近于 0,那么 C o s t Cost Cost 就趋近于 ∞ \infty ∞,无法达到需求。

y = 0 时的图像:

如果 h θ ( x ) h_\theta(x) hθ​(x) 趋近于 0,越贴近于我们的实际值 y = 0 y=0 y=0,那么 C o s t Cost Cost 就趋近于 0,可以达到需求;但是如果 h θ ( x ) h_\theta(x) hθ​(x) 趋近于 1,那么 C o s t Cost Cost 就趋近于 ∞ \infty ∞,无法达到需求。

为了更方便地写出代价函数并推导出梯度下降,合并为一个式子:
C o s t ( h θ ( x ( i ) ) ,    y ( i ) ) = − y l o g ( h θ ( x ) ) − ( 1 − y ) l o g ( 1 − h θ ( x ) ) Cost\left(h_\theta(x^{(i)}),\ \ y^{(i)}\right)=-ylog(h_\theta(x))-(1-y)log(1-h_\theta(x)) Cost(hθ​(x(i)), y(i))=−ylog(hθ​(x))−(1−y)log(1−hθ​(x))
这样代价函数就变成:
J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac1m\left[\sum_{i=1}^my^{(i)}logh_\theta(x^{(i)})+\left(1-y^{(i)}\right)log\left(1-h_\theta(x^{(i)})\right)\right] J(θ)=−m1​[i=1∑m​y(i)loghθ​(x(i))+(1−y(i))log(1−hθ​(x(i)))]
Cost 函数和 J(θ) 函数是基于最大似然估计推导得到的,我们可以不需要深入了解推导过程,但是要把这个代价函数了解清楚,这是大多数情况下用来拟合 Logistic 函数的代价函数。


梯度下降

接下来对 θ \theta θ 进行梯度下降 ( α α α为学习率 ):
θ j = θ j − α ∂ ∂ θ j J ( θ ) ( j = 0 , 1 , 2 , ⋯   , n ) \theta_j=\theta_j-α\frac{∂}{∂\theta_j}J(\theta)\quad(j=0,1,2,\cdots,n) θj​=θj​−α∂θj​∂​J(θ)(j=0,1,2,⋯,n)
对 J ( θ ) J(\theta) J(θ) 求导,下面是最后的形式:
∂ ∂ θ j J ( θ ) ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) \frac{∂}{∂\theta_j}J(\theta))=\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)} ∂θj​∂​J(θ))=m1​i=1∑m​(hθ​(x(i))−y(i))x0(i)​
可以发现和一般的多元梯度下降的规则是一样的:
θ j = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) ( j = 0 , 1 , 2 , ⋯   , n ) \theta_j=\theta_j-α\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\quad(j=0,1,2,\cdots,n) θj​=θj​−αm1​i=1∑m​(hθ​(x(i))−y(i))xj(i)​(j=0,1,2,⋯,n)
但是式子中 h θ ( x ) h_\theta(x) hθ​(x) 的形式已经改变了,所以它们还是完全不同的情况。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章