首页 > > > 2.3 逻辑回归算法
同学们好,这一节我们将学习逻辑回归算法。简单来说,逻辑回归是一种用于解决二分类问题的机器学习方法,用于估计事物之间的可能性。比如今天会下雨的可能性,明天你心仪的股票是否会上涨的可能性。上面举到的例子中,下雨和股票上涨都只存在两种情况,要么下雨,要么不下雨。或者要么上涨,要么不上涨。所以均属于二分类问题。既然是二分类问题,那么逻辑回归在这里就可以派上用场了。
在讲逻辑回归之前,这里不得不提一下“线性回归”。学过统计学的同学应该知道有个方法叫“线性回归”,在线性回归模型中,一般形式是Y=aX+b,y的取值范围是[-∞, +∞],输出一般是连续的。例如,对于每一个输入的x,都有一个对应的y输出。可是在前面已经提过,在二分类问题里面我们最后只想得出两个值,是或者不是。
显然,输出连续值的线性回归模型是不能满足我们的需求的,怎么办呢?不用慌,数学家们早已为我们找到了法子!我们再来回想一下我们的需求,我们最后需要输出的是两个值,那么我们是否可以将线性回归的结果给映射到两个值之间去呢?答案是肯定得。首先,我们来看下面的一个函数,这个函数叫做Sigmoid函数:

大家可以看到,函数中t无论取什么值,其结果都在[0,-1]的区间内。回想一下我们逻辑回归要解决的二分类问题,结果只有两种答案,“是”或者“不是”。在这里,我们就可以用0表示“不是”,1表示“是”。到这里可能同学又会问到,这函数不是在[0,1]区间内吗?怎么只有两值了?这是一个好问题,证明你开始思考了!其实,我们这里只有设置一个分类阈值就可以解决了这个问题。譬如,我们设定阈值为0.5,那么,大于0.5的就归为1类,小于0.5的就归为0类。这个阈值是由我们自己来调节的。
OK,接下来我们把aX+b带入t中就得到了我们的逻辑回归的一般模型方程:

结果P也可以理解为概率,换句话说概率大于0.5的属于1分类,概率小于0.5的属于0分类,这就达到了分类的目的。
其实,线性回归和逻辑回归都是一种广义上的线性模型(所谓的线性模型简单来说就是在空间上是用直线来分割数据)。逻辑回归是假设因变量y服务伯努利分布,而线性回归则是假设因变量y服务高斯分布。因此,逻辑回归和线性回归有非常多相同之处。要说两者之间的区别,就是逻辑回归在最后多了一个Sigmoid映射函数,如果去除这个函数的话,逻辑回归就是一个线性回归。可以说,逻辑回归是以线性回归为理论基础的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因而可以解决分类问题。
至此,我们已经讲解了逻辑回归的算法原理。如果对算法原理有疑问的同学欢迎在讨论区和我互动。下一节我将讲解如何使用逻辑回归算法进行文本分类。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69954080/viewspace-3163781/ ,如需转载,请注明出处,否则将追究法律责任。