一.什么是逻辑回归
我们之前学习的线性回归,主要是应用在连续型数据上,也被称作:多重线性回归。在理解了多重现行线性回归的基础上,我们才能比较容易理解逻辑回归。两者有共同点,也有不同点。
相同点:二者的模型形式基本上相同,以单变量为例,二者都具有 w*x+b这种形式
不同点:
多重线性回归直接将w*x+b作为因变量,即y =w*x+b,而逻辑回归则通过函数L将w*x+b对应到另一个状态p,即:p =L(w*x+b),然后根据p 与1-p的大小决定因变量的值。
某些方面讲,线性回归也有一个L,只是这个L相当于p = 1 * (w*x + b)。因此,我们可以这么理解:如果L是逻辑函数,就是逻辑回归,如果L是多项式函数就是多项式回归……
那么,这个逻辑函数是什么呢?
其实有很多种逻辑函数,但是在深度学习当中,最为常用的是Sigmoid函数:
Sigmoid函数的图像如下图所示:
于是,我们把线性回归函数的矩阵形式作为自变量代入,就得到了逻辑回归的方程式:
其实那里面的,就是我们之前说的W。只是表示的符号变了一个。
由于Sigmoid函数大致一看,最大值无限接近1。因此和概率问题有点像,毕竟概率不可能大于一。因此,逻辑回归的输出值也是在[0, 1]之间。其中取p=0.5作为一个界限,一旦输出值小于0.5, 我们干脆就直接取0。 否则,就直接取1。
正是因为这个理念,以Sigmoid函数作为逻辑函数的逻辑回归方程,经常用于二分类问题,因此逻辑回归是用来处理分类问题的。
二.什么是二分类问题
说白了就是二选一的问题。比如说:
广告点击率。对于用户而言,要么点击这个广告,要么不点击,就这两个选项。不可能有第三个选项
判断用户的性别。不考虑欧美那些政治正确的东西,整体而言,就是女性,男性两种性别。没有第三个选项
预测用户是否会购买给定的商品类:要么买,要么不买。
三.逻辑回归的损失函数
与线性回归原理相同,但由于是分类问题,损失函数不一样,只能通过梯度下降求解。
对数似然损失函数:
完整的损失函数:
在这里,我们需要跟线性回归的损失函数做一个对比。在线性回归当中,均方误差不存在多个局部最低点。但是,对数似然损失却有多个局部最小值,就像下面这张图:
利用梯度下降的方式,其实你只能无限接近于那个极小值点,但是,这个极小值点是不是最小值点,你却并不好做判断,而且,很遗憾,现在也没有什么有效办法能解决这个问题。因此,经过不断的总结,人们逐渐想出了一些其他方式,比如:
1、多次随机初始化,多次比比较最小小值结果
2、求解过程当中,不断调整学习率
不过,以上方式都是治标不治本的方法。只能做到尽量改善
除了以上这两个,还有BGD(批量梯度下降), SGD(随机梯度下降)。