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