[斯坦福大学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 ...
随机推荐
- Mysql 视图用途、使用场景、性能问题及使用注意事项
原文:https://blog.csdn.net/chuangxin/article/details/84574557 <SQLite权威指南>中作者是这么定义视图的:视图即是虚拟表,也称 ...
- 宝塔面板搭载yii2.0项目关于open_basedir报错解决办法
昨天配置完宝塔的lamp后,然后把原本的yii项目放上去,发现出现三个报错,就是大概 require openssl之类的三个错误 然后去宝塔的界面里去配置了一个端口,然后再去阿里云上开放这个端口 ...
- java后台框架面试必须会的东西
- Spring-AOP:一、注解demo及基本概念
切面:Aspect 切面=切入点+通知.在老的spring版本中通常用xml配置,现在通常是一个类带上@Aspect注解.切面负责将 横切逻辑(通知) 编织 到指定的连接点中. 目标对象:Target ...
- Socket连接和Http连接
Socket连接与HTTP连接我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有 ...
- webpack4.*入门笔记
全是跟着示例做的.看下面文章 入门 1.nodejs基础 http://www.runoob.com/nodejs/nodejs-tutorial.html 2.NPM 学习笔记整理 https:// ...
- FRP+WoL实现远程开机+远程桌面
FRP+WoL实现远程开机+远程桌面 故事背景 这是一个很复杂而且很久远的故事,如果要讲的话,这个故事可以追溯到1981年(「都是废话,没有干货,如果不感兴趣请从第二章开始」),简单来说: 1981年 ...
- TypeScript学习——数组、元组、接口(2)
数组 数组类型注解 const numberArr: (number | string)[] = [1, '2', 3]; //既可以是number 也可以是string const stringAr ...
- JedisUtils工具类模板
redis.properties配置文件 redis.maxIdle=30 redis.minIdle=10 redis.maxTotal=100 redis.url=192.168.204.128 ...
- NPOI 操作数据库中数据的导入导出(Excel.xls文件) 和null数据的处理。
App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> ...