[斯坦福大学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 ...
随机推荐
- if test表达式逻辑判断不能用&&
用&&会报错 用and 例如: <if test="age!=null and name!=null">
- 国外一教授坦言,用这方法能迅速成为python程序员,但都不愿意说_编程小十
越来越多的人学习python,但你学习python用了多长的时间?#Python# 你知道如何才能迅速掌握并成为python程序员吗? 有这样的一位国外的教授说,要迅速成为python程序员,几乎 ...
- 谷歌Chrome成最受欢迎的浏览器 它为啥好用?
毫无疑问,在搜索引擎领域,谷歌是绝对的主导者.但是,一般人却很容易低估我们受到的“控制”.比如,它的浏览器Chrome. 在不到九年的时间,谷歌Chrome浏览器已经成为全球使用最多的网页浏览器.目前 ...
- Beta冲刺<10/10>
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺--第十天(05.28) 作业正文 如下 其他参考文献 ... B ...
- opencv C++极坐标变换
#include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv ...
- Shiro密码重试次数限制
如在 1 个小时内密码最多重试 5 次,如果尝试次数超过 5 次就锁定 1 小时,1 小时后可再次重试,如果还是重试失败,可以锁定如 1 天,以此类推,防止密码被暴力破解.我们通过继承 HashedC ...
- idea 2018版/2019版的破解
idea 2019版破解的穿越隧道:https://www.jianshu.com/p/09c9afae9a05 idea 2018版破解的穿越隧道:https://www.jianshu.com/p ...
- 如何用Tesseract做日文OCR(c#实现)
首先做一下背景介绍,Tesseract是一个开源的OCR组件,主要针对的是打印体的文字识别,对手写的文字识别能力较差,支持多国语言(中文.英文.日文.韩文等).是开源世界里最强的一款OCR组件.当然和 ...
- 化繁就简,如何利用Spring AOP快速实现系统日志
1.引言 有关Spring AOP的概念就不细讲了,网上这样的文章一大堆,要讲我也不会比别人讲得更好,所以就不啰嗦了. 为什么要用Spring AOP呢?少写代码.专注自身业务逻辑实现(关注本身的业务 ...
- SpringBoot2.x入门:引入web模块
前提 这篇文章是<SpringBoot2.x入门>专辑的第3篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 主要介绍SpringBoot的web模 ...