逻辑回归算法:虽然名字中带有回归两个字,但它却不是回归算法,它是一个经典的二分类算法。
回归与分类的区别:
回归:可以得到一个准确值或一个区间值,比如房屋价格预测,NBA比赛得分等。
分类:预测结果是一个分类值,yes or no,0或1,好或坏,输或赢等等,比如预测猛龙队能否获得2019NBA总冠军,预测小明同学今年能否考上大学等等,结果都只有两个。
逻辑回归算法是所有机器学习算法中最简单的算法,但简单不一定代表效果不好。我们在处理机器学习问题时,优先采用简单算法,并对其参数进行优化。如果不能达到你的目的,我们再选择更加复杂的算法,比如支持向量机,神经网络等等。
逻辑回归是用来处理分类问题的,其分类边界不一定都是线性的,也可以是非线性的。如下图,一条非线性的决策边界将已有的数据点分成了两类。
前面我们刚讨论了线性回归,知道线性回归得出的是个准确值或区间值,那么我们如何将这个准确值转换为分类值呢?
举个例子,高考马上要来临了,我们可以根据你以往的考试成绩对你的高考成绩做一个预测,我们预测的值会是[0,750]中的一个值,但是我想预测下我能否考上大学,那么我就需要将这个回归问题转换为二分类问题。
在这里我们引用一个非常重要的数学函数,sigmod函数。sigmod函数的表达式如下:
接下来,我们直接看sigmod函数的图像。该函数的取值范围为(-∞,+∞),值域为(0,1)。
对于任意一个自然数,都可通过sigmod函数将其映射到(0,1)之间的一个值,(0,1)就相当于我们数学中的概率值。我们的二分类问题就是利用概率去判断的,比如判断中国队能否赢下这场比赛,如果预测的概率大于某一个临界值,比如0.6,那我们就可以预测中国队赢。
我们再举高考的例子,线性回归模型预测我得了500分,但不能给出能否考上的结果。这是再使用逻辑回归算法,将分数转换为概率值。假如概率值>0.5,我们就认为能考上,概率值<0.5,我们就认为没有考上。这就是通过逻辑回归算法将回归问题转化为了分类问题。