当前位置:蜗牛素材网>综合资讯>图文>正文

机器学习基于逻辑回归案例,机器爱学习07,逻辑回归简介

人气:121 ℃/2023-12-03 16:41:48

本章,将为大家介绍一种新的机器学习问题--逻辑回归(Logistic Regression)。

线性回归 PK 逻辑回归

到目前为止,我们学到了一种hypothesis function,格式如下:

hypothesis function

很明显,这是一条直线,即hθ(x)是一组连续的数值。我们把这种结果值连续的类型,称为线性回归Linear Regression。

在实际应用中,我们还会遇到结果值不连续的问题,比如,根据某人的浏览历史,来判断是否为其推荐机器学习方面的文章。

很明显,这类问题中,机器学习算法只需要回答“是”or“否”即可,如果转换为数值,那么机器学习只需要输出“1”or“0”。

这类问题的结果值是离散的,我们称之为逻辑回归Logistic Regression。

  • 线性回归:结果值是连续的

  • 逻辑回归:结果值是离散的

二分类 VS 多分类

在逻辑回归中,如果结果值只有两种(“是”or“否”),则称为二分类问题;

如果结果值有很多种(“晴”“阴”“雨”....),则称为多分类问题。

逻辑回归中最简单的就是二分类问题,下面我们就从二分类问题入手,揭开逻辑回归的面纱~

Sigmoid函数

我们先思考一个问题:逻辑回归的hypothesis function是什么样的?和线性回归的类似吗?

很不幸,线性回归的hypothesis function,是无法用在逻辑回归中的(一个连续、一个离散)。

看起来,我们需要另外找一个function,这个function的输出值

  • 要么为"0"

  • 要么为"1"

假如我们真的找到了这个function,在坐标系中表示如下:

现在,我们该怎么去求这个hypothesis function的参数?最小二乘法可以吗?sorry,该函数不连续,无法求偏导;梯度下降算法呢?NO!

面对这样一个不连续的函数,我们其实没有多少办法!

所以,我们要找的函数,不止只输出"0"和"1",而且要连续。

大家可以思考下,上面的两个条件,根本就没法同时满足!

那么,逻辑回归是如何解决的呢?

逻辑回归选择了Sigmoid函数作为hypothesis function,我们来看下,Sigmoid在坐标系中的样子:

sigmoid函数图示

What?不是说好要找一个只输出"0"和"1"的函数吗?

这里需要特别说明下,逻辑回归中,hypothesis function的意义。

逻辑回归中,hypothesis function的结果,代表预测值取"0"或"1"的概率,而不是预测值本身

hypothesis function含义更改后,我们再来看sigmoid函数。

  • 毫无疑问,sigmoid函数是连续函数

  • 当sigmoid函数输出 大于 0.5,则认为hypothesis function预测值更倾向于"1";如果输出 小于 0.5,认为hypothesis function预测值更倾向与"0"

逻辑回归通过改变hypothesis function的含义,不仅使预测值(注意不是hypothesis function)只输出"0"or"1",同时还保证了hypothesis function的连续性。不得不说,逻辑回归贼机智!!

逻辑回归的预测函数hypothesis function

看起来,我们已经找到了合适的hypothesis function,那么我们来看看,这个sigmoid长什么样。

sigmoid函数的表达式如下:

sigmoid函数表达式

逻辑函数并不是直接使用上面的函数作为代价函数,而是使用下面的函数:

逻辑回归的hypothesis function

可以看到,逻辑回归,是将sigmoid函数和线性回归的hypothesis function结合在一起。

逻辑回归的cost function

找到了逻辑回归的hypothesis function,接下来,我们来看下逻辑回归的cost function。

与线性回归类似,我们可以使用下面的函数作为cost function:

但是,在逻辑回归中,这样的cost function会存在找不到全局最优解的问题。为什么呢?

如果逻辑回归使用上面的cost function,那么cost function可能是下面的“非凸”函数:

非凸函数

这样的“非凸”函数,如果使用机器学习算法,可能只能找到局部最优解,而找不到全局最优解,这不是我们想要的,因此我们需要重新找一个“凸”函数作为cost function

逻辑回归使用的cost function如下所示,这里面有一些数学推导,如果大家有兴趣,可以自己找下这方面的资料,这里我们不做推导,直接写出来。

逻辑回归的cost function

上面的分段函数,处理起来很不方便,我们将其合并为一个函数,得到我们最终的cost function:

逻辑回归的cost function

下一章,我们将使用梯度下降算法来实现逻辑回归,并用python来实现。

搜索更多有关“机器学习基于逻辑回归案例,机器爱学习07,逻辑回归简介”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版