在这里再介绍下逻辑回归几个重要概念
1. 决策边界,也称为决策面,是用于在N维空间,将不同类别样本分开的平面或曲面。首先看Andrew Ng老师课程上的两张图:
线性决策边界:
非线性决策:
非线性决策边界:
上面两张图很清晰的解释了什么是决策边界,决策边界其实就是一个方程,在逻辑回归中,决策边界由theta’X=0定义。
要注意理解假设函数和决策边界函数的区别与联系。决策边界是假设函数的属性,由假设函数的参数决定。在逻辑回归中,假设函数(h=g(z))用于计算样本属于某类别的可能性;决策函数(h=1(g(z)>0.5))用于计算(给出)样本的类别;决策边界(θ^Tx=0)是一个方程,用于标识出分类函数(模型)的分类边界。
2. 代价函数
线性回归中的代价函数:
线性回归中的代价函数看上去很好理解,但却不能用于逻辑回归,原因如下:如果我们使用这个代价值形式,J(θ)会变成参数θ的非凸函数,因为在逻辑回归中,H(θ)是一个Sigmoid函数,其曲线如下:
该函数是一个非凸函数,有很多局部最优值。如果你把梯度下降法用在一个这样的函数上,不能保证它会收敛到全局最小值。相应地我们希望我们的代价函数J(θ)是一个凸函数,是一个单弓形函数,如下:
如果对它使用梯度下降法,我们可以保证梯度下降法会收敛到该函数的全局最小值。由于H(θ)是一个sigmoid函数,导致J(θ)成为一个非凸函数,因此,我们需要另外找到一个不同的代价函数,它是凸函数,使得我们可以使用很好的算法,如梯度下降法,而且能保证找到全局最小值。因此,我们采用如下的形式计算样本的代价值:
其图像为:
从图中可以看出,这样构建的 Cost(hθ(x),y)函数的特点是:当实际的 y=1 且 hθ也为 1 时误差为 0,当 y=1 但 h θ不为 1 时误差随着 hθ的变小而变大;当实际的 y=0 且 hθ也为 0 时代价为 0,当 y=0 但 hθ 不为 0 时误差随着 hθ的变大而变大。Cost(hθ(x),y)的归一化表示是:
Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
代入原代价函数,得到逻辑回归的代价函数:
补充:极值,简单地说,是指一群同类量中的最大量(或最小量).对于极值问题的研究,历来被视为一个引人入胜的课题.波利亚说过:“尽管每个人都有他自己的 问题,我们可以注意到,这些问题大多是些极大或极小问题.我们总希望以尽可能低的代价来达到某个目标,或者以一定的努力来获得尽可能大的效果,或者在一定 的时间内做最大的功,当然,我们还希望冒最小的风险。我相信数学上关于极大和极小的问题,之所以引起我们的兴趣,是因为它能使我们日常生活中的问题理想 化.”波利亚,《数学与猜想》,第一卷,第133页我们将看到,许多实际问题和数学问题,都可归结为形形色色的极值问题,才能得到统一地解决.
3. 梯度下降
在逻辑回归中,依然使用梯度下降法对代价函数进行优化,完整形式如下:
注意:逻辑回归和线性回归问题中,梯度下降算法的形式看上去是一致的(更新参数的规则看起来基本相同),但实际上两者是完全不同的,因为假设函数是不同的,需要特别注意这一点。其向量化实现(vectorized implementation)如下:
计算偏导数的过程,先来计算S函数的偏导数
那么偏导数的计算过程如下:
4.高级优化
除了梯度下降算法以外还有一些常被用来令代价函数最小的算法,这些算法更加复杂和优越, 而且通常不需要人工选择学习率,通常比梯度下降算法要更加快速。这些算法有:
1. 共轭梯度 (Conjugate Gradient)
2. 局部优化法(Broyden fletcher goldfarb shann,BFGS)
3. 有限内存局部优化法(LBFGS)
5. 多类分类
多类分类问题中,我们的训练集中有多个类(>2),我们无法仅仅用一个二元变量(0或1)来做判断依据。例如我们要预测天气情况分四种类型:晴天、多云、下雨或下雪。下面是一个多类分类问题可能的情况:
一种解决这类问题的途径是采用一对多(One-vs-All)方法。在一对多方法中,我们将多类分
类问题转化成二元分类问题。为了能实现这样的转变,我们将多个类中的一个类标记为正向类
(y=1),然后将其他所有类都标记为负向类,这个模型记作:
接着,类似地第我们选择另一个类标记为正向类(y=2),再将其它类都标记为负向类,将这个模型记作,
依此类推。最后我们得到一系列的模型简记为:
其中 i = 1,2,3,...,k步骤可以记作下图:
最后,在我们需要做预测时,我们将所有的分类机都运行一遍,然后对每一个输入变量,都选
择最高可能性的输出变量。