1 逻辑回归的定位
首先,逻辑回归是一种分类(Classification)算法。比如说:
- 给定一封邮件,判断是不是垃圾邮件
- 给出一个交易明细数据,判断这个交易是否是欺诈交易
- 给出一个肿瘤检查的结果数据,判断这个肿瘤是否为恶性肿瘤
逻辑回归是互联网上最流行也是最有影响力的分类算法,也是深度学习(Deep Learning)的基本组成单元。
2 一个逻辑回归的例子
比如有下面一组数据:
一门考试之前学生的复习时间与这个学生最后是否Pass这门考试的数据
通过这些数据,利用逻辑回归算法进行模型训练,可以得到最终的模型结果是这个样子:
这样,给出任何复习时间,就可以预测出是否通过的概率
3 逻辑回归拟合函数:Sigmod函数(逻辑函数)
可以看到,逻辑回归最后的分类结果是0/1,因此,我们选择Sigmod函数(貌似是一个专业术语)来拟合训练数据。Sigmod函数的形式如下,它的x可以无限取值,但是y就在(0,1)之间
对于最简单的,只有一个自变量(x)的二元分类(y=0/1)逻辑回归中,构造出来的拟合函数为
所以,要得到最终的模型,就是根据样本点,计算a和b的值.
在上一节的复习时间和考试的例子中,最终计算出参数a=1.5046,b=-4.0777,因此可以得到下面的拟合函数的图像:
4 模型参数的计算方法
Coursera上Stanford大学的机器学习课程是很好的入门课程(虽说入门,但是我学习起来还是特别的吃力),主讲人Andrew Ng(吴恩达)原来是Google大脑的负责人,现在在百度负责百度大脑和深度学习,是业界最牛的人之一了。他的课程中详细讲解了在逻辑回归中如何来计算模型的参数,我把结论的一页截图放在下面:
其中,J就是进行拟合的成本函数:
看起来比较复杂,用我们上一节的例子来解释:
- m:代表给出的训练样本数,也就是20
- h函数:其实代表的是我们的Sigmoid函数,把样本的X值带进去,就得到的是参数a,b的函数
- y:就是样本中实际的y,只有0,1两个选择
把样本的数据都带入,最后得到的就是参数a,b的一个方程,逻辑回归就是求出一个最好的a,b的值,使得这个成本函数J的值最小。
那么,最终求解a和b就是一个纯数学问题了,比如可以用最小二乘法和梯度下降法来求解,纯数学的问题就不在这里展开了
5 多分类逻辑回归
生活中不仅仅只有分成两类的问题,还有分成多个类的问题,比如把邮件分成工作邮件、朋友邮件和垃圾邮件。
多分类的一般思想是:利用多次分成两类,计算划分到每一类的概率,取概率最大的。用邮件分类的例子来说就是:
- 将邮件分成“工作/非工作邮件”,可以根据上文的算法得出工作邮件的概率
- 将邮件分成“朋友/非朋友邮件”,计算出朋友邮件的概率
- 将邮件分成“垃圾/非垃圾邮件”,计算出垃圾邮件的概率
比较三个概率,取最大的那个概率,作为这个邮件的分类结果。