一、什么是线性回归(Linear regression)?
首先我们要了解,什么是回归?
我们认为所有的特定组数据是相关的,符合一定的分布规律(可以想象成各种曲线),而回归就是来确定这个曲线的参数从而确定这个曲线(曲线可以用数学函数来表示)。
继而我们可以根据确定的函数和要预测的一组x值,来计算新的数据的结果,这个结果就是我们要预测的x值对应的y值。
简单来说,回归是一种拟合数据的方法。
第二步,我们了解线性回归是什么。我们学习代数的时候会看到下面这样的式子:
就是一堆x1,x2……的变量乘以他们对应的权重w1,w2…… ,得到最后的结果。
而线性回归就是已经知道图上的一些数据点,用一根曲线去拟合的过程。简单来说,就是确定w1,w2这些参数的值。
知道这些参数值后,再有新的x值,我们就可以计算(预测)出y值。这是我们的目的。
二、什么是逻辑回归( Logistic Regression)?
上面说了线性回归,它很简单也很好理解,但线性回归有很多缺点,最明显的是两个:
- 一是线性回归是输入到输出的线性变换,拟合能力有限。
- 二是线性回归的目标值是(−∞,+∞),而很多时候我们希望输出的值是(0,1)(比如广告领域在做CTR预估的时候)。
所以出现了逻辑回归。逻辑回归是机器学习中的一种分类模型,在线性回归的基础上,套用了一个逻辑函数,用于估计某种事物的可能性。
在工业界,逻辑回归被广泛运用,某些场景下甚至有“一个LR打天下”的情况出现,可以说这个模型是机器学习必须精通的模型。
这里需要注意两个点:
-
一是逻辑回归解决的是分类问题,而不是回归问题,虽然它名字里有回归俩字;
-
二是这里的可能性,不是数学上的概率,这里的可能性是特征值得加权求和,不是直接相乘。
和线性回归一样,我们会拿到一堆的x1,x2……,然后想办法确定模型的各种参数,我们的目标是知道当一组x输入时,结果是0还是1。怎么才能达到输出0,1的目标呢?
- 第一步,我们得引入sigmoid函数:
其中x 是我们的输入,theta 为我们要求取的参数
sigmoid函数的图形因为函数的特性,不管输入什么x值,y值都会是在(0,1)的范围内。
- 第二步,就是对于得到的y值,大于某个阈值(通常是0.5)就输出1,小于就输出0。
到具体场景里就是,一个妹子在浏览电商网站,我们通过app上报的数据了解到:
- x1(现在用的手机是iphon),
- x2(用4g上网),
- x3(23岁),
- x4(女性)
- x5 (买了一个新iPhone)
- 还有一些其他的信息……
那么问题来了,她会不会买个手机壳?
我们把这一堆x输入到模型中,经过与模型参数的各种计算,得到一个y值。
当y大于0.5时,我们就输出1,认为她会买。如果小于等于0.5,系统就输出0,认为她不会买。
三、他们的区别是什么?
经过上面的介绍,相信大家已经知道了他们的区别:
- 1 线性回归是计算出具体的值,是解决回归问题;逻辑回归是给出是和否,解决的是分类问题。
- 2 逻辑回归引入了sigmoid函数,把y值从线性回归的(−∞,+∞)限制到了(0,1)的范围。
- 3 逻辑回归通过阈值判断的方式,引入了非线性因素,可以处理分类问题。
网友评论