概述
Logistic regression is a method for classifying data into discrete outcomes.
逻辑回归将数据归类为离散的结果并输出。
逻辑回归虽然名为“回归”,但它解决的其实是分类问题。以二分类问题为例,习惯上把我们关注的某一现象的存在归为y=1(如垃圾邮件、恶性肿瘤细胞),反之则为y=0。
为什么不用线性回归
.利用线性回归解决分类问题通常不是好的方法,主要有两个原因:
1. 如图1所示,线性回归的参数很容易受到极端值的影响,容易得到不好的假设函数。
2. 比如进行2分类(binary classifying)问题,假设y的值ϵ{0,1},但是线性回归模型的假设函数计算出来的函数值会远大于1或远小于0。
假设函数(Hypothesis Funciton)
针对一个分类问题
想要:0≤hθ(x)≤1
对假设函数h_θ (x)输出结果的解释:y=1的概率。
若计算出hθ(x)=0.7,则表示对输入x,输出y=1的概率为0.7。
logistic函数
logistic函数可以很好避免线性回归的第2点不足。
逻辑回归(Logistic Regression)的函数值在区间[0,1]中。
Sigmoid函数和Logistic函数通常是指同一个函数:g(z)= 1/(1+e−z ) ,
进一步地,常用的Logistic函数的形式:hθ(x)=g(θTx)= 1/(1+e−θTx)
该函数具有如下较好性质:g′(z)=g(z)(1−g(z)) x→−∞lim1+e−z1=0x→+∞lim1+e−z1=1g(0)=0.5
决策边界(Decision Boundary)
类似于高中学的线性规划或者非线性规划的边界,根据函数不等式反解出来。
hθ(x)=g(θTx)(两个x是不同的),由于函数是单调递增的,
0.5≤hθ(x)<1⇔x≥00<hθ(x)<0.5⇔x<0
所以当进行二分类时,容易想到利用0作为阈值(threshold)。
根据假设函数(hypothesis function)的设想以及概率的意义(假设函数计算的可以不严谨地理解为概率)
当hθ(x)≥0.5⇔x≥0⇒预测y=1 当hθ(x)<0.5⇔x<0⇒预测y=0当要确定h_θ (x)≥0.5的范围,只要确定x≥0的范围即可。
eg1:线性决策边界
hθ(x)=g(θ0+θ1x1+θ2x2)假设[θ0,θ1,θ2]=[-3,1,1]。想要预测y=1
只需要g(θ0+θ1x1+θ2x2)=g(−3+x1+x2)≥0.5只需要−3+x1+x2≥0则直线l:−3+x1+x2是决策边界,当-3+x_1+x_2≥0时,y预测为1。
eg2:非线性决策边界
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x32+θ4x42)
[θ0,θ1,θ2,θ3,θ4]=[−1,0,0,1,1]
想要预测y=1,只需要g(θ0+θ1x1+θ2x2+θ3x32+θ4x42)=g(−1+x32+x42)≥0.5只需要−1+x32+x42≥0则−1+x32+x42=0是决策边界,当−1+x32+x42≥0时,y预测为1。
代价函数(Cost Function)
如果采用之前的均方误差(Mean Squared Error)公式:J(θ)=m1i=1∑m21(hθ(x(i))−y(i))2把J(θ)改写成更一般的形式
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))Cost(hθ(x(i)),y(i))=21(hθ(x(i))−y(i))2J(θ)是非凸函数,拥有多个局部最小值,使用梯度下降法不一定能收敛到全局最小。
下面介绍一个能使J(θ)为凸函数的Cost函数。
Cost(hθ(x),y)={−log(hθ(x)),−log(1−hθ(x)),y=1y=0
当y=1时,从Cost函数的图像中不难看出,当y=1时,Cost = 0,说明当实际值为1,预测值为1时,付出的代价为0;当y从右边趋于0时,Cost趋于正无穷,说明当实际值为1,预测值为0,付出的代价非常大。这符合Cost函数的性质。
当y=0时,做类似解释。
由于原来的Cost函数为分段函数,不好处理,构造出等价的Cost函数,即
Cost=y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))(y只取0,1)
梯度下降及优化算法
θj←θj−α∂θj∂J(θ)i.e.θj←θj−αm1i=1∑m(hθ(x(i))−y(i))xj(i)(同时更新所有θj)hθ(x)=1+e−θTx1
优化算法:
共轭梯度(Conjugate gradient)、BFGS、L-BFGS等方法。
优点:1可以自动寻找适合的学习率α
2 能够更快地收敛到最优解
缺点:算法复杂
多分类问题
比如要把整个数据集分成3类,则先挑出第一类,其余两类视为一类,重复操作两次。
hθ(i)(x)=P(y=i∣x;θ),(i=1,2,3).所以这里有三个分类器
针对每个类别 i,训练一个逻辑回归分类器hθ(i)(x)去预测y=i的概率。
针对一个新的输入x,预测x的类别i,
i s.t.
imaxhθ(i)(x)
可以理解为取i , s.t maxP(y=i)。