美文网首页数据挖掘&机器学习Machine Learning
机器学习入门(14)--逻辑回归(2)

机器学习入门(14)--逻辑回归(2)

作者: Alfie20 | 来源:发表于2016-11-25 12:07 被阅读688次

    在这里再介绍下逻辑回归几个重要概念

    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步骤可以记作下图:

    最后,在我们需要做预测时,我们将所有的分类机都运行一遍,然后对每一个输入变量,都选

    择最高可能性的输出变量。

    相关文章

      网友评论

      • 大咏为恒:一直都想找这样的博客,终于找到了,超赞!喜欢喜欢喜欢!加油加油加油!!!
        Alfie20:@大咏为恒 一起加油!

      本文标题:机器学习入门(14)--逻辑回归(2)

      本文链接:https://www.haomeiwen.com/subject/dqmjyttx.html