逻辑回归(logistics regression)

分类与回归的区别

我们可以按照任务的种类,将任务分为回归任务和分类任务.那这两者的区别是什么呢?按照较官方些的说法,输入变量与输出变量均为连续变量的预测问题是回归问题,输出变量为有限个离散变量的预测问题成为分类问题.
通俗一点讲,我们要预测的结果是一个数,比如要通过一个人的饮食预测一个人的体重,体重的值可以有无限多个,有的人50kg,有的人51kg,在50和51之间也有无限多个数.这种预测结果有无限多种可能的问题,我们会训练出一个模型,传入参数后得到这个确定的数,这类问题我们称为回归问题.预测的这个变量(体重)因为有无限多种可能,在数轴上是连续的,所以我们称这种变量为连续变量.
我们要预测一个人身体健康或者不健康,预测会得癌症或者不会得癌症,预测他是水瓶座,天蝎座还是射手座,这种结果只有几个值或者多个值的问题,我们可以把每个值都当做一类,预测对象到底属于哪一类.这样的问题称为分类问题.如果一个分类问题的结果只有两个,比如"是"和"不是"两个结果,我们把结果为"是"的样例数据称为"正例",讲结果为"不是"的样例数据称为"负例",对应的,这种结果的变量称为离散型变量.

逻辑回归不是回归

从名字来理解逻辑回归,我们前一段讲到回归任务是结果为连续型变量的任务,logistics regression是用来做分类任务的。

算法原理及公式推导

逻辑回归的目的是,对于给定的X,我们算出y’。其中y’表示在X的情况下y=1的概率。

在这里插入图片描述
那么这里的y’怎么算呢?按照线性回归的思想,我们可以假设:
在这里插入图片描述
但是这里有个问题:在逻辑回归中,y’表示在X的情况下y=1的概率。所以我们计算出来的y’应该是界于【0,1】之间。为了解决这个问题,我们引入sigmiod函数对上面的式子进行处理。使y’界于【0,1】之间
逻辑回归(logistics regression)_第1张图片
至此,问题就已经结束了,我们只需要将式子中的参数w,b求出来就可以了。
那么如何才能算出最合适的w,b呢?这里我们需要设置一个损失函数L(X),当损失函数最小的时候,w,b就是最合适的。
这里我们将L(x)设定为:在这里插入图片描述
这个函数就是我们逻辑回归(logistics regression)的损失函数,我们叫它交叉熵损失函数。
为什么要这样设呢?推导如下:
逻辑回归(logistics regression)_第2张图片
对L(X)求极大值,得到参数的估计值。这样,问题就变成了以对数似然函数为目标函数的最优化问题,我们可以使用梯度下降法来求解:
逻辑回归(logistics regression)_第3张图片
至此,找到了梯度下降中的方向,只要给定一个步长就可以用迭代的方式来求待求参数,迭代的公式为:
逻辑回归(logistics regression)_第4张图片

总结

逻辑回归的优点有以下几点:
1、模型的可解释性比较好,从特征的权重可以看到每个特征对结果的影响程度。
2、输出结果是样本属于类别的概率,方便根据需要调整阈值。
3、训练速度快,资源占用少。
而缺点是:
1、准确率并不是很高。因为形式非常简单(非常类似线性模型),很难去拟合数据的真实分布。
2、处理非线性数据较麻烦。逻辑回归在不引入其他方法的情况下,只能处理线性可分的数据。
3、很难处理数据不平衡的问题。

你可能感兴趣的:(机器学习,逻辑回归,数据挖掘,人工智能)