逻辑回归是一种在机器学习领域中用于数据分类的方法。它通常用于将数据分为两个或多个类别,包括二元分类和多类分类。二元分类指的是只有两个类别,例如是/否、真/假、0/1等。多类分类则涉及两个以上的类别。在深入讨论之前,先定义一下逻辑回归:逻辑回归是一种用于分类的算法,适用于处理是/否、真/假、0/1等类别变量。
可能也听说过线性回归。让告诉,线性回归和逻辑回归之间有很大的区别。线性回归用于生成连续值,比如房价、收入、人口等。而在逻辑回归中,通常计算介于0和1之间(包括0和1)的概率,然后利用这个概率对数据进行分类。例如,如果计算出的概率大于0.5,则数据属于类别A;否则,属于类别B。
但是,可能会问,否仍然可以使用线性回归进行分类?回答是“可以!为什么不呢?但当然,这是一个荒谬的想法。”原因是可以为线性回归设置一个阈值,如果预测值大于阈值,则属于类别A;否则属于类别B。但这会导致较大的误差和低准确度的模型,这显然是不希望看到的。对吧?建议使用专门的分类算法。
线性回归的图形是一条直线,通过一些点,因为总是避免欠拟合和过拟合曲线。而逻辑回归的图形则是一条曲线,与线性回归不同。这是刚刚讨论的两种回归类型之间的主要区别。那么,为什么逻辑回归要用曲线而不是直线呢?为了回答这个问题,将从线性回归开始讨论,然后引出逻辑回归曲线。可以吗?让开始吧。
现在,定义变量权重的值:theta_0=-1 和 theta=0.1。所以,方程看起来像这样,下面的图形表示了二维平面上的方程:
h(x) = -1 + 0.1x
当x=13时,函数h(x)的值为:
h(13) = -1 + (0.1) * (13) = 0.3
如前所述,定义阈值为0.5,即任何大于(等于)0.5的h值将被标记为1,否则为0。可以将其定义为如下的步进函数形式:
上述曲线被称为Sigmoid函数,将在本文中使用它。这里将介绍Sigmoid函数。Sigmoid函数用符号sigma表示。其图形行为已在上图中描述。Sigmoid函数的数学方程如下所述:Sigmoid函数给出数据属于特定类别的概率,该概率位于区间[0,1]内。它接受theta的转置和特征向量X的点积作为参数。结果值是概率。
因此,当P(Y=1 | X) = sigmoid(theta*X)时,P(Y=0 | X) = 1 - sigmoid(theta*X)。
同时,希望注意到Sigmoid函数的行为:当theta(转置)*X变得非常大时,Sigmoid的值变为1;当theta(转置)*X变得非常小时,Sigmoid的值变为0。
在本节中,将讨论逻辑回归的一些应用场景。
1. 预测一个人心脏病发作的概率。
2. 预测客户购买产品或停止订阅的倾向。
3. 预测给定过程或产品的失败概率。
在结束本文之前,只想简要回顾一下何时应该使用逻辑回归:
当数据是二元的:0/1、真/假、是/否
当需要概率结果时