ITPub博客

首页 > > > 2.3 逻辑回归算法

2.3 逻辑回归算法

作者:RayChou 时间:2019-12-27 11:29:37 0 删除 编辑

2.3 逻辑回归算法


前言

  同学们好,这一节我们将学习逻辑回归算法。简单来说,逻辑回归是一种用于解决二分类问题的机器学习方法,用于估计事物之间的可能性。比如今天会下雨的可能性,明天你心仪的股票是否会上涨的可能性。上面举到的例子中,下雨和股票上涨都只存在两种情况,要么下雨,要么不下雨。或者要么上涨,要么不上涨。所以均属于二分类问题。要注意的一点是,这里用的是“可能性”,而非数学上的“概率”,逻辑回归的结果并非数学意义上的概率值,不能直接当做概率来用。

学过统计学的同学应该知道有个方法叫“线性回归”。那么这里的逻辑回归和线性回归又有什么关系呢?

其实,线性回归和逻辑回归都是一种广义上的线性模型(所谓的线性模型简单来说就是在空间上是用直线来分割数据)。逻辑回归是假设因变量y服务伯努利分布,而线性回归则是假设因变量y服务高斯分布。因此,逻辑回归和线性回归有非常多相同之处。要说两者之间的区别,就是逻辑回归在最后多了一个Sigmoid映射函数,如果去除这个函数的话,逻辑回归就是一个线性回归。可以说,逻辑回归是以线性回归为理论基础的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因而可以解决分类问题。

  看完以上内容,相信同学们对逻辑回归算法已经有了初步的了解。那么下面将讲述一下其算法原理,本章知识点如下:

  • 假设函数
  • 决策边界
  • 代价函数
  • 优化方法


1、假设函数

首先,先介绍一下Sigmoid函数,也称为逻辑函数:

我们可以看到,Sigmoid函数的形状呈一条S型的曲线,它的取值在[0,1]之间,

在远离0的地方函数的值会很快接近0/1。这个性质对我们解决二分类问题十分有利,我们可以把事物分成0或1两类。

那么,我们来看下逻辑回归的假设函数:

我们来化简一下,得出:

一个机器学习的模型,实际上是把决策函数限定在某一组条件下,这组限定条件就决定了模型的假设空间。当然,我们还希望这组限定条件简单而合理。而逻辑回归模型所做的假设是:

这里的h(x)是上边提到的sigmoid函数,相应的决策函数为:

这里我们通常的做法就是选择0.5作为阈值,也就是大于0.5的我们认为它是1类,小于0.5的认为是0类。在实际应用中,可以根据不同的情况选择不同的阈值。如果对正例的判别要求比较高,则可以选择更加大的阈值。


2、决策边界

  我们现在再来看看,为什么逻辑回归能够解决分类问题。这里引入一个概念,叫做决策边界,可以理解为是用以对不同类别的数据分割的边界,边界的两旁应该是不同类别的数据。    从二维直角坐标系中,举几个例子,大概是如下这个样子:


    从上述三幅图中,红绿样本点为不同类别的样本,而我们划出的线,不管是直线、圆或者是曲线,都能比较好地将图中的两类样本分隔开,这就是我们所说的决策边界,那么逻辑回归是如何根据样本点来获得这些决策边界的呢?

  上面三张图很清晰的解释了什么是决策边界,决策边界其实就是一个方程,在逻辑回归中,决策边界 

      这里要注意理解假设函数和决策边界函数的区别与联系。决策边界是假设函数的属性,由假设函数的参数决定。 

  在逻辑回归中,假设函数(g=h(z))用于计算样本属于某类别的可能性;决策函数(g=1(h(z)>0.5))用于计算(给出)样本的类别;决策边界(θ^Tx=0)是一个方程,用于标识出分类函数(模型)的分类边界。


3、代价函数

  做机器学习的同学可能经常听到“代价函数”这个词,那么到底代价函数是什么意思呢?

  假设有训练样本 (x,y),模型为 h,参数为 Θ。

(ΘT表示Θ的转置)


总的来说,任何能够衡量模型预测出来的值H1与真实值y之间的差异的函数都可以叫做代价函数。听到这里,有同学就会问,我们要这个函数来干嘛呢?这是一个非常好的问题。黑格尔说过一句话“存在即合理”,任何存在的事物必然有它存在的意义。

当我们确定了模型 

h,后面做的所有事情就是训练模型的参数 Θ。那么什么时候模型的训练才能结束呢?这时候就要运用到代价函数了。由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本的模型)。那么什么时候模型的效果是最好的呢?当然是代价函数最少的时候效果最好!因此训练参数的过程就是不断改变 Θ,从而得到更小的 J(Θ)的过程。

最后我们来看看逻辑回归的代价函数:

我们优化的目标就是将不停变换 Θ 的值,使得上面函数取得最优解。


4、优化方法

上面的内容,我们已经知道了逻辑回归的假设函数、决策边界还有代价函数了。那么,我们要如何训练模型参数使得代价函数最小呢?简单来说,就是我们该如何找到正确的参数值呢?

这里我们可以使用梯度下降法求解模型。关于梯度下降法的内容不在本章内容,有兴趣的同学可以课外翻阅一下资料。简单来说,梯度下降法就是沿着每个参数梯度下降的方向来改变参数的值。

在逻辑回归中,使用梯度下降法对代价函数进行优化,完整形式如下:


小结

  至此,我们已经讲解了逻辑回归的算法原理。如果对算法原理有疑问的同学欢迎在讨论区和我互动。下一节我将讲解如何使用逻辑回归算法进行文本分类。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69954080/viewspace-3156531/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
现任金山办公软件人工智能组高级AI研发工程师。多年从事机器学习,特别是NLP自然语言处理算法的研究及开发工作。拥有丰富的软件开发经验,以及丰富的人工智能算法训练平台开发经验。

注册时间:2019-11-14

  • 博文量
    71
  • 访问量
    60577