机器学习基础(2):逻辑回归
为什么是逻辑回归?
上一篇文章我们说了线性回归模型,这一篇我们讲一讲逻辑回归。
读到这篇文章时你可能会问,为什么是“逻辑”而不是“线性”这个问题非常好,因为它引出了监督学习算法的两种类型——分类(逻辑回归)和回归(线性回归)。在这里,如果我们把数据科学的流程作一个总结,可以用一幅图表示如下:
当我们使用逻辑回归建立数据科学模型的时候。大多数机器学习概念,诸如监督和非监督学习、分类与回归、线性与非线性问题等概念都会涉及到。此外,还能了解如何准备数据、可能面临的挑战(如输入和特征选择)、如何度量模型、是否应该使用“准确性”、“精确回忆”、“ROC AUC”?或者是“均方误差”和“皮尔逊相关”?所有这些概念都是数据科学过程中最重要的部分。掌握了这些概念对于未来用复杂模型代替简单模型非常重要。
当然好处不只有这些,逻辑回归是一个非常强大的算法,即使对于非常复杂的问题,它也可以做得很好。以MNIST为例,仅使用逻辑回归就可以达到95%的准确率,这个结果不算很好,但它足以确保你的流水线工作。除此之外,使用正确的特性表示,它可以做得很好。
逻辑回归
逻辑回归是一种用于分类问题的机器学习算法,是一种基于概率概念的预测分析算法。
逻辑回归是一种分类算法,用于将观测值分配给离散的类集。一些分类问题的例子是垃圾邮件或非垃圾邮件,在线交易欺诈或非欺诈,肿瘤恶性或良性。Logistic回归使用Logistic sigmoid(如下图右子图所示)函数来转换它的输出,以返回一个概率值。
逻辑回归本质就是在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,被用于广告营销,生物医学分析等领域。
[图片上传失败...(image-134b2e-1575210144107)]
我们可以称逻辑回归为线性回归模型,但逻辑回归使用更复杂的成本函数,这个成本函数可以被定义为“s型函数”或也被称为“逻辑函数”而不是线性函数。逻辑回归的假设倾向于将成本函数限制在0到1之间。因此,线性函数不能表示它,因为线性回归的范围较广,它可以有一个值大于1或小于0。逻辑回归的假设如下(Logistic回归假设):
在线性回归中,输出是输入的加权和。逻辑回归是一种广义线性回归,因为我们不直接输出输入的加权和,而是通过一个可以映射0到1之间的任何实值的函数。
如果我们把输入的加权和作为输出,就像线性回归中做的那样,这个值可以大于1,但我们想要的是0到1之间的值。这就是为什么线性回归不能用于分类任务。
从下图可以看出,线性回归的输出通过一个激活函数传递,激活函数可以映射0到1之间的任何实值。
什么是Sigmoid函数?
为了将预测值映射到概率上,这里选择使用Sigmoid函数。该函数将任何实值映射到0到1之间的另一个值。在机器学习中,我们使用sigmoid将预测映射到概率。
[图片上传失败...(image-a00de5-1575210144107)]
Sigmoid函数的表达式如下所示:
假设表示
当使用线性回归时,我们使用假设的一个公式,即:
对于逻辑回归,我们要稍微修改一下。
我们期望我们的假设会给出0到1之间的值。
决策边界
通过预测函数传递输入并返回0到1之间的概率值时,我们期望分类器根据概率为我们提供一组输出或类。
例如,有两个类猫和狗(1 -狗,0 -猫)。我们基本上确定了一个阈值,超过这个阈值,我们就把值归为第一类,如果值低于这个阈值,我们就把它归为第二类。
如上图所示,我们选择的阈值为0.5,如果预测函数返回的值为0.7,那么我们将该观察结果归类为Class 1(DOG)。如果我们的预测返回值为0.2,那么我们将把观察结果归类为第2类(CAT)。
成本函数
我们了解成本函数J(θ)在线性回归中的意义,成本函数代表最终的优化目标。
对于logistic回归,成本函数定义为:
以上两个函数可以压缩成一个函数,即
梯度下降法求解成本函数
现在的问题是,我们如何降低成本价值。这可以通过梯度下降法来实现。梯度下降法的主要目标是使成本值最小化。即最小化J(θ)。
现在,为了最小化我们的成本函数,需要对每个参数运行梯度下降函数,即,
[图片上传失败...(image-ffb512-1575210144107)]
结语
回顾一下这篇文章的内容
- 逻辑回归的重要性
- 逻辑回归的基本概念及流程
- 梯度下降法优化逻辑回归目标函数
如果您觉得这篇文章有用,请多多转发。也可以关注公众号:小金博士。
定期分享机器学习,数据科学学习中的所得,一起在这个最具魅力的学科中畅游。
[图片上传失败...(image-bcca57-1575210144107)]
网友评论