逻辑回归及其分析
分类概念
什么是分类,分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification)。(引自《统计学习方法》李航著)
分类问题的举例:
1. 邮件:垃圾邮件/非垃圾邮件
2. 打卡情况:已打卡/未打卡
3. 学生身份:本科生/研究生/博士生
其中1、2的问题可以称之为二分类问题,3为多分类问题。
二分类问题可以用如下形式表示:
其中0称之为负例,1称之为正例。
而对于多分类问题,可以有如下定义:
逻辑回归主要就是用于解决分类问题。
逻辑回归与多重线性线性回归有许多相同之处,其最大的不同的就在于因变量不同。因此,逻辑回归虽属于分类器,但也归类到回归分析中。
- 如果是连续的,就是多重线性回归;
- 如果是二项分布,就是Logistic回归;
逻辑回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释。所以实际中最常用的就是二分类的逻辑回归。
逻辑回归处理
逻辑回归的三个步骤/要处理的函数:
1. Hypothesis Representation;
2. Cost function;
3. Minimize cost function.
1.预测函数
线性回归无法将输出结果界定在0~1之间,因此逻辑回归预测函数的构造主要利用了Logistic函数(或称为Sigmoid函数),其形式为:
其在在坐标轴上的表示为:
由
我们得到逻辑回归的数学表达式为:
其中
Hypothesis输出的直观解释:
数学表示为:
对于因变量y=0或1这样的二分类问题:
其分类判定可以设置阈值为:
依据阈值可以对y进行分类。下图是一个线性的决策边界。
其边界形式为:
当
我们可以得到非线性的决策边界:
2.损失函数
逻辑回归的损失函数主要基于对数损失函数进行构造:
该损失函数的直观解释,当y=1时,有:
如果y = 1,
由此可推知y=0的情况。
上述损失函数,可以写作:
3.最小化损失函数
目标为最小化损失函数
其中:
更新过程可以表述为:
其他优化算法:
Conjugate gradient method(共轭梯度法)
Quasi-Newton method(拟牛顿法)
BFGS method
L-BFGS(Limited-memory BFGS)
后二者由拟牛顿法引申出来,与梯度下降算法相比,这些算法的优点是:
第一,不需要手动的选择步长;
第二,通常比梯度下降算法快;
但是缺点是更复杂。
多分类问题
简单的逻辑回归可以处理二分类问题,对于多分类问题,可以这样处理:将其看作二分类问题,保留其中一类,剩下的作为另一类。
若对于如下多分类问题
可以分别计算其中一类相对于其他类的概率,再将余下的类作为二分类问题继续进行处理:
引用参考
Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”
http://blog.csdn.net/pakko/article/details/37878837