[斯坦福大学2014机器学习教程笔记]第六章-决策界限(decision boundary)
这一节主要介绍的是决策界限(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(θ0+θ1x1+θ2x2),我们将在下一节讨论如何拟合此模型中的参数,此时假设我们已经拟合好了参数。在这里,我们选这里θ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+x2 ≥ 0,那么预测的就会是y=1,-3+x1+x2 < 0,那么预测的就会是y=0。当然也可以将 -3+x1+x2 ≥ 0 改写为 x1+x2 ≥ 3。
接下来我们可以在图像上观察这个式子。
图上洋红色的直线为x1+x2 = 3 。该线上方的区域为预测y=1的区域,下方区域为预测y=0的区域。这条线被称为决策边界。具体地说,x1+x2 = 3这条直线对应的一系列的点对应的是hθ(x)=0.5的点。决策边界将整个平面分成了两个部分。一部分区域预测y=1,另一部分预测y=0。
决策边界是假设函数的一个属性,它包括参数θ0、θ1和θ2。在上图中,是画了训练的数据集的。需要明确的是:即使没有画出数据集,只要参数给定,这条决策边界以及两部分区域都是确定的。它们都是假设函数的属性,取决于参数,而不是取决于数据集。
接下来,我们看一个更复杂的例子。在图中x表示的是正样本,圆圈表示的是负样本。
现在的问题是:当给定一个这样的数据集之后,我们要如何使用逻辑回归来拟合这些数据。
之前,当我们讲解多项式回归或线性回归时,我们谈到了可以在特征中添加额外的高阶多项式项。同样的,我们也可以对逻辑回归使用同样的方法。具体地说,假设现在的假设函数是hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)。现在添加了两个额外的特征x12和22,所以现在有五个参数,从θ0一直到θ4。现在假设θ0=-1,θ1=0,θ2=0,θ3=1,θ4=1。这意味着此时的参数向量θ=[-1,0,0,1,1]T。根据之前的讨论,这意味着当-1+x12+22 ≥ 0时,将预测y=1,当-1+x12+22 < 0时,将预测y=0。同样的,-1+x12+22 ≥ 0 可以写成 x12+22 ≥ 1。此时的决策边界就为x12+22 = 1。
决策边界如图所示。此时圈外的区域为预测y=1的区域,圈内的区域为预测y=0的区域。
通过在特征中增加这些复杂的多项式,可以得到更复杂的决策边界。
再次强调:
决策边界不是训练集的属性,是假设本身和其参数的属性。只要给定了参数向量θ,决策边界就可以确定。我们不是用训练集来确定决策边界,而是用训练集来拟合参数。
当我们有更高阶多项式,我们得到的决策边界也是更复杂的。逻辑回归可以用于寻找决策边界。
[斯坦福大学2014机器学习教程笔记]第六章-决策界限(decision boundary)的更多相关文章
- [斯坦福大学2014机器学习教程笔记]第六章-代价函数(Cost function)
在这节中主要讲的是如何更好地拟合逻辑回归模型的参数θ.具体来说,要定义用来拟合参数的优化目标或者叫代价函数,这便是监督学习问题中的逻辑回归模型的拟合问题. 我们有一个训练集,训练集中有m个训练样本:{ ...
- [斯坦福大学2014机器学习教程笔记]第五章-控制语句:for,while,if语句
在本节中,我们将学习如何为Octave程序写控制语句. 首先,我们先学习如何使用for循环.我们将v设为一个10行1列的零向量. 接着,我们写一个for循环,让i等于1到10.写出来就是for i = ...
- IOS学习之斯坦福大学IOS开发课程笔记(第六课)
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/28398697 作者:小马 这节课主要讲述多个MVC是怎样协同工作的.到眼下为止.全 ...
- 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 ...
- Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)
理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...
- Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)
前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep ...
- Deep Learning 13_深度学习UFLDL教程:Independent Component Analysis_Exercise(斯坦福大学深度学习教程)
前言 理论知识:UFLDL教程.Deep learning:三十三(ICA模型).Deep learning:三十九(ICA模型练习) 实验环境:win7, matlab2015b,16G内存,2T机 ...
- Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)
理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...
- Deep Learning 10_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)
前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab ...
随机推荐
- CVE-2020-0796—远程代码执行漏洞
一.漏洞名称: 微软SMBv3 Client/Server - 远程代码执行漏洞——CVE-2020-0796 二.识别点: 445端口 三.影响范围: Windows 10 Version 1903 ...
- mysql索引小总结
MySql 1.索引 mysql索引默认使用的是B+Tree(B-树的变种版).也可以使用HASH表. 二叉树: 二叉树又称二叉搜索树,二叉排序树,特点如下: 左子树上所有结点值均小于根结点 右子树上 ...
- MySQL实战45讲笔记一
MySQL的基本架构大体可以分为server层和存储引擎层,逻辑架构图如下: Server层除了图中显示的,还包括所有的内置函数(包括日期.时间.数学和加密函数等),存储过程.触发器.视图等跨存储引擎 ...
- 都在讲DevOps,但你知道它的发展趋势吗?
根据最近的一项集体研究,DevOps的市场在2017年创造了约29亿美元的产值,预计到2022年,这个数字将达到约66亿美元.人工智能的融入和安全性的融入,加上向自动化的巨大转变,可合理预测,在202 ...
- Spring—容器外的Bean使用依赖注入
认识AutowireCapableBeanFactory AutowireCapableBeanFactory是在BeanFactory的基础上实现对已存在实例的管理.可以使用这个接口集成其他框架,捆 ...
- 入门大数据---Spring+Mybatis+Phoenix整合
一.前言 使用 Spring+Mybatis 操作 Phoenix 和操作其他的关系型数据库(如 Mysql,Oracle)在配置上是基本相同的,下面会分别给出 Spring/Spring Boot ...
- 判断CString 字符串里面是否全部为数字
//原理就是去除0-9的数字,判断去除数字后的字符串是否为空,如果为空,说明字符串全部都是为数字,否则得话,就不是. strOutTimeOnNum = strouttime.TrimLeft( _T ...
- 补充:回答网友的问题,如何不用路径,而直接将CImage画到DC中,之后DC一起显示.
补充:回答网友的问题,如何不用路径,而直接将CImage画到DC中,之后DC一起显示.注释掉 pDC->BeginPath(); // 打开路径层 pDC->Rectangle(0,0,p ...
- Animate.css的使用(基本使用附css文件下载地址)
animate.css下载地址: https://pan.baidu.com/s/18ceucCU1loYiGo5OCOkJBg 最新下载地址: http://www.haorooms.com/upl ...
- JVM源码分析之Java对象头实现
原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 “365篇原创计划”第十一篇. 今天呢!灯塔君跟大家讲: JVM源码分析之Java对象头实现 HotSpot虚拟机中,对象在内存中的布局分为三 ...