之杰的机器学习笔记:4.Logistic回归

        之前已经详细的介绍了监督学习中的回归方法,它有助于我们解决连续世界的许多问题,但是当我们想要解决离散问题——比如区分照片中的猫和狗,线性回归显然不那么有效。与此相对应的分类算法则在离散世界中大放异彩;下面我们来讨论一下分类。

        从某种程度上说,离散世界比连续世界简单而美丽。对于离散问题,不需要准确的预测变量随时间的连续变化,而仅仅需要分辨不同的类。对于最简单的离散问题,结果往往只有两种:“0”和“1”。我们习惯于认为0代表那些不存在或较坏的结果,也叫“负类Negative Class”;认为1代表存在或好的结果,也叫“正类Positive Class”。

        我们仍然希望能够找到一个假设函数来解决问题,但是这个函数不再具有像回归问题时提出的那样简单的形式。事实上,即使我们有大量的样本xi,最后的结果也无非是两类:0和1。之前我们在讨论回归问题时,曾经引入以下形式的假设函数:

        现在我们希望能够找到一个新的函数来评估分类问题的结果——一种常用的思路是将上述函数h(x)作为一个新的自变量参数,并令:

        进一步我们构造一个新的函数g(z),其值域为[0,1],表征结果为“1”的概率。数学中有一种函数能够满足我们的要求,这个函数其实你已经相当熟悉了。在生物学中,它被称作Sigmoid函数也称为S型生长曲线它经常被用来描述人口增长;这便是Logistic函数。

        Logistic函数的表达式和函数图像如下所示:

 

        从函数图像中可以看出,当z=0时函数值为0.5,当z>0时函数值开始向1趋近,反之向0趋近。如果我们认为函数值代表状态“1”成立的概率,那么当拟合结果使得z大于0时,这个概率大于0.5,我们便认为最终输出状态“1”;反之,输出状态“0”。这便是Logistic回归算法的基本思想(尽管它被称作回归,这仍然是一类分类算法)。

        下面我们来进一步理解该算法的含义。为了便于图形化,我们假设问题具有2个特征:x1和x2。这两个特征对结果的影响都是线性的。按照之前的方法,我们可以写出:

        决定问题的关键在于z=0。这是一个分界条件,当z偏离这个条件时,会将结果指引向0或1。这个条件被称作决策边界(Dicision Boundary),它其实是一条曲线;更简单的理解,在我们这种假设下,它是一个二维平面的直线。

        进一步,如果拟合得到θ0=-2,θ1=θ2=1,那么此时的决策边界变为:

        这条曲线在二维笛卡尔坐标系中是这样的:

        这条曲线把坐标系分成两个区域。具有类似特征的物体聚集于同一个区域,我们便可以根据特征的分布来确定最终的物体是状态“0”还是状态“1”。当然这只是一个非常简单的例子。事实上物体可能有很多个特征,特征对结果的影响也不是线性的,这样决策边界会变得很复杂。但是无非是这些曲线把空间分离成若干个区域,不同的特征决定了我们的问题落在哪个区域内。

        下一个问题是如何得到参数θ。在解决回归问题时,我们引入了代价函数,并通过衡量代价函数来求取最优的θ,代价函数如下所示:

        这里我们对代价函数做了一个小的变形,并用cost函数来代表其中的求和式。但是在分类中,直接使用这个代价函数会出现问题:我们使用的函数g(z)是一个非线性函数,他不像我们之前假设的线性回归函数那样具有凸函数的性质,因此直接使用J函数会得到一个非凸函数(non-convex),这意味着函数具有很多局部最优解,从而使得我们在进行梯度下降时会受限于某个局部最优解中而无法收敛到全局最优解。

        在Logistic回归中,我们选取了一种新的代价函数形式,具体表现为:

        其中y为各样本的状态,hθ(x)也就是z。事实上数学家更喜欢用下式表达:

        这两个表达式是等效的,数学家证明了这种情况下所得的代价函数是一个凸函数,仅有一个全局的最优解。取对数这一步其实是一种极大似然估计的思想,如果你熟悉数理统计学理解起来会轻松一点,不理解也没关系——我知道你跟关心它的应用。

        上式便是Logistic回归的代价函数。通过对代价函数进行梯度下降求得理想的θ参数,便可以构建出一个Logistic回归模型,解决实际的分类问题了。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值