这一节主要介绍的是决策界限(decision boundary)的概念,这个概念可以帮组我们更好地理解逻辑回归的假设函数在计算什么。

首先回忆一下上次写的公式。

现在让我们进一步了解这个假设函数在什么时候会将y预测为1,什么时候会将y预测为0。并且更好地理解假设函数的形状,特别是当我们的数据有多个特征值时。具体地说,这个假设函数输出的是给定x和参数θ时,y=1的估计概率。

所以,如果我们想预测y=1还是等于0。该假设函数输出y=1的概率大于等于0.5,此时预测的为y=1,小于0.5预测的就是y=0。(实际上,当输出概率为0.5时,可以预测为y=1,也可以预测为y=0)

仔细观察sigmoid函数图像,就可以发现只要z ≥ 0,g(z)就大于等于0.5,因此在曲线图的右半边,g的取值都是大于等于0.5的。

由于逻辑回归的假设函数hθ(x)=g(θTx),所以只要θTx ≥ 0,那么hθ(x)就会大于等于0.5,此时假设函数将会预测为y=1。同样,我们考虑假设函数预测为y=0的情况。当hθ(x) < 0.5的时候,就会预测y=0。而只要θTx < 0,那么g(θTx)就会小于0.5,即hθ(x)就会小于0.5。

对上述做个小结:

1.我们预测y=0还是y=1取决于输出的概率值。(概率大于等于0.5预测y=1,小于0.5预测y=0)

2.想要预测结果为 y=1,就要保证θTx ≥ 于0;想要预测结果为 y=0,就要保证θTx < 0。

接下来,假设我们有一个训练集。我们的假设函数是hθ(x)=g(θ01x12x2),我们将在下一节讨论如何拟合此模型中的参数,此时假设我们已经拟合好了参数。在这里,我们选这里θ0=-3,θ1=1,θ2=1。这意味着此时的参数向量θ=[-3,1,1]T。接下来,尝试找出该假设函数何时将预测y=1,何时将预测y=0。

根据之前小结的,y=1的概率大于等于0.5时,就预测y=1,小于0.5时就预测y=0。换句话说就是:想要预测结果为y=1,就要保证θTx ≥ 0;想要预测结果为y=0,就要保证θTx < 0。而在这个例子中θTx就是-3+x1+x2。所以,在这个例子中,只要 -3+x1+x≥ 0,那么预测的就会是y=1,-3+x1+x2 < 0,那么预测的就会是y=0。当然也可以将 -3+x1+x≥ 0 改写为 x1+x≥ 3。

接下来我们可以在图像上观察这个式子。

图上洋红色的直线为x1+x2 = 3 。该线上方的区域为预测y=1的区域,下方区域为预测y=0的区域。这条线被称为决策边界。具体地说,x1+x= 3这条直线对应的一系列的点对应的是hθ(x)=0.5的点。决策边界将整个平面分成了两个部分。一部分区域预测y=1,另一部分预测y=0。

决策边界是假设函数的一个属性,它包括参数θ0、θ1和θ2。在上图中,是画了训练的数据集的。需要明确的是:即使没有画出数据集,只要参数给定,这条决策边界以及两部分区域都是确定的。它们都是假设函数的属性,取决于参数,而不是取决于数据集。

接下来,我们看一个更复杂的例子。在图中x表示的是正样本,圆圈表示的是负样本。

现在的问题是:当给定一个这样的数据集之后,我们要如何使用逻辑回归来拟合这些数据。

之前,当我们讲解多项式回归或线性回归时,我们谈到了可以在特征中添加额外的高阶多项式项。同样的,我们也可以对逻辑回归使用同样的方法。具体地说,假设现在的假设函数是hθ(x)=g(θ01x12x23x124x22)。现在添加了两个额外的特征x1222,所以现在有五个参数,从θ0一直到θ4。现在假设θ0=-1,θ1=0,θ2=0,θ3=1,θ4=1。这意味着此时的参数向量θ=[-1,0,0,1,1]T。根据之前的讨论,这意味着当-1+x12+2≥ 0时,将预测y=1,当-1+x12+22  < 0时,将预测y=0。同样的,-1+x12+2≥ 0 可以写成 x12+2≥ 1。此时的决策边界就为x12+2= 1。

决策边界如图所示。此时圈外的区域为预测y=1的区域,圈内的区域为预测y=0的区域。

通过在特征中增加这些复杂的多项式,可以得到更复杂的决策边界。

再次强调:

决策边界不是训练集的属性,是假设本身和其参数的属性。只要给定了参数向量θ,决策边界就可以确定。我们不是用训练集来确定决策边界,而是用训练集来拟合参数。

当我们有更高阶多项式,我们得到的决策边界也是更复杂的。逻辑回归可以用于寻找决策边界。

[斯坦福大学2014机器学习教程笔记]第六章-决策界限(decision boundary)的更多相关文章

  1. [斯坦福大学2014机器学习教程笔记]第六章-代价函数(Cost function)

    在这节中主要讲的是如何更好地拟合逻辑回归模型的参数θ.具体来说,要定义用来拟合参数的优化目标或者叫代价函数,这便是监督学习问题中的逻辑回归模型的拟合问题. 我们有一个训练集,训练集中有m个训练样本:{ ...

  2. [斯坦福大学2014机器学习教程笔记]第五章-控制语句:for,while,if语句

    在本节中,我们将学习如何为Octave程序写控制语句. 首先,我们先学习如何使用for循环.我们将v设为一个10行1列的零向量. 接着,我们写一个for循环,让i等于1到10.写出来就是for i = ...

  3. IOS学习之斯坦福大学IOS开发课程笔记(第六课)

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/28398697 作者:小马 这节课主要讲述多个MVC是怎样协同工作的.到眼下为止.全 ...

  4. Deep Learning 8_深度学习UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise(斯坦福大学深度学习教程)

    前言 1.理论知识:UFLDL教程.Deep learning:十六(deep networks) 2.实验环境:win7, matlab2015b,16G内存,2T硬盘 3.实验内容:Exercis ...

  5. Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)

    理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...

  6. Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep ...

  7. Deep Learning 13_深度学习UFLDL教程:Independent Component Analysis_Exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程.Deep learning:三十三(ICA模型).Deep learning:三十九(ICA模型练习) 实验环境:win7, matlab2015b,16G内存,2T机 ...

  8. Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

    理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...

  9. Deep Learning 10_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)

    前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab ...

随机推荐

  1. skfpdb.db、cc3268.dll、system_V2.dat、JI60JS.dat文件内容、发票数据查询

    cc3268.dll.skfpdb.db.xxxxx_V2.dat,system.dat,JI60JS.dat,log.dat,system_V2.dat,JI60JS_V2.dat,log_V2.d ...

  2. ca74a_c++__文件流对象的使用-用来读写文件ifstream

    /*ca74a_c++__文件流对象的使用-用来读写文件将文件流对象绑定到文件上检查文件是否打开成功将文件流与新文件重新绑定清楚文件流的状态infile.close();//关闭流 infile.cl ...

  3. 11.实战交付一套dubbo微服务到k8s集群(4)之使用Jenkins进行持续构建交付dubo服务的提供者

    1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4. 添加参数 # 参数 . name: git_repo type: string description: 项目在 ...

  4. 基于flask框架的高校舆情分析系统

    系统分析: 高校舆情分析拟实现如下功能,采集微博.贴吧.学校官网的舆情信息,对这些舆情进行数据分析.情感分析,提取关键词,生成词云分析,情感分析图,实时监测舆情动态. 系统设计: 前端:采用layui ...

  5. Ubuntu搭建Java开发环境-刘志敏-专题视频课程

    Ubuntu搭建Java开发环境-3人已学习 课程介绍        主要介绍在Ubuntu环境如何安装Java开发的基本环境课程收益    学会Ubuntu中安装jdk.mysql.maven和id ...

  6. 大型ECShop安装搬家升级错误问题最全攻略

    [引子] 最近将ECShop框架网站从租用服务器搬家至阿里云,虽然模块及功能上已经被修改的面目全非了,但基础部分还在. 在这个过程中遇到了很多的WARNING与ERROR,解决方案如下. [环境] 服 ...

  7. JavaWeb网上图书商城完整项目--25.注册页面之隐藏没有内容的错误信息实现

    在上一章中我们显示的效果如下所示: 上面后面都有错误的红色×的显示,这样是不对的,我们要解决该问题 我们要循环遍历每一个错误的信息,看它的内容有没有,如果有内容我们就显示错误的×,如果没有就不显示× ...

  8. ImageLoader在Listview中的使用

    图片加载框架之ImageLoader 1_特点 1)多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等 2)支持随意的配置ImageLoader,例如线程池 ...

  9. JavaScript基础-即时函数(Immediate Functions)(017)

    1.即时函数的声明方法 即时函数(Immediate Functions)是一种特殊的JavaScript语法,可以使函数在定义后立即执行:(function () {    alert('watch ...

  10. django admin 添加用户出现外键约束错误

    今天在做mxonline项目时,注册了用户表进admin后,想在后台添加一个用户试试,结果出现了错误,经过一番搜索发现以下两个解决方法,不过我只用了一种 报错信息: IntegrityError: ( ...