什么是逻辑回归
- 逻辑回归,也称Logistic回归,是一种用于分类的算法。分类问题有多分类问题和二分类问题,但由于二分类问题是基础,此处仅探讨二分类问题。
- 那么具体什么是分类问题呢?
给出一个问题的模型,如,给出一个肿瘤的尺寸,判断肿瘤是良性的还是恶性的,这就是一个二分类问题,将给定的模型分为0类或1类。
如何实现逻辑回归
- 不多卖关子,使用线性回归不可以实现逻辑回归,否则为什么要领取其名呢?但 线性回归和逻辑回归是有相似之处 的。
我们都知道,线性回归进行预测的假设函数hθ(x) = θTX,而逻辑回归则需要加上一个sigmoid函数g(x),使其假设函数成为hθ(x) = g( θTX ),函数g(x)实现的正是sigmoid函数,而g(x)的表达式为:
逻辑回归的假设函数即为:
那么为什么要这样做呢, 为什么要引入sigmoid函数呢 ?正如上文所提及,我们要将给定的问题分为0类和1类,而sigmoid函数的值域限定在[0,1]中,很好地满足了我们需要的条件。 - 假设函数hθ(x)的作用,就是得到一个介于0和1之间的值,其取值的含义可以看作一个条件概率,即P(y = 1 | x;θ),当x和θ的值给定时,y = 1的概率是多少,其中x是输入,y是输出,θ是我们需要通过代价函数来寻找的参数。
逻辑回归的决策界限
取hθ(x)≥0.5时,y = 1。由sigmoid函数的图像可知,当sigmoid函数的参数θTX>0时,hθ(x)的取值即>0.5。
- 一个使用逻辑回归的例子,假设我们已经拥有了合适的参数θ。
此时,θTX的表达式为 -3 + x1 + x2,即满足 -3 + x1 + x2 ≥ 0,就可预测 y = 1,将这条曲线表现在图像上,如下图所呈👇。
- 更复杂的例子,非线性决策边界:
这样,θTX的表达式就为 -1 + x12 + x22,是一个圆。
再次强调,决策边界不是训练集的属性,而是假设函数本身及其参数的属性。
代价函数,寻找应用于逻辑回归的参数
由于是复习,不做过多的数学推导,直接给出代价函数的式子。
此处的代价函数不是平方差代价函数,而是使用Cost函数作以替代,而Cost函数是一个分段函数,实际上,Cost函数中的两段是可以合并的,如下图所示。
Cost(hθ(x),y) = - ylog( hθ(x) ) - (1 - y)log( 1 - hθ(x) )。
因此,得到的代价函数简化表达式为:
想要使代价函数的值最小,仍然需要使用梯度下降的方法。完整的梯度下降算法为:
可以注意到,每一次更新参数θ,其表达式和线性回归更新参数θ的表达式相同,因为尽管代价函数改变了,但是经过偏导运算,二者意外的相同了。此外,特征缩放同样可以用于Logistic回归,以提高梯度下降的效率。