专栏首页讲编程的高老师机器学习中的决策边界是怎么一回事?—ML Note 35

机器学习中的决策边界是怎么一回事?—ML Note 35

01

标题内容1

上一个视频讲了逻辑回归的分类问题中表达方程的问题,本次视频讲解的是决策边界(Decision boundary)问题,这个概念能帮助我们更好地理解上一个视频的假设函数到底是在干什么。

逻辑回归是如何做预测的

上次视频,我们构建了函数h(*)和g(*),将给定的输入x和参数\theta然后用一个s函数映射到[0,1]上。如下图:

问题来了,我们在假设函数取的值是一个连续的,而我们要分类的结果y是离散的,0或者1。

那我们什么时候将y取为1,什么时候取为0呢?

当然,可以这样:

很简单,很直接!我们以0.5为界限,当sigmoid函数取值大于等于0.5的时候y取1,否则取0.

更进一步,从上面图中的 和 的表达式可知,当sigmoid函数取大于等于0.5意味着 , 否则小于0.

就是这样,我们在x和y之间就搭建了一个桥梁,一旦确定了参数\theta和0.5,我们就能通过x预测y的取值了。

一个例子

假设在一个二维平面上有这样一堆点,其实平面上的一个点是由横坐标、纵坐标两个自变量确定的。如下图:

我们可以给上式中的每个\theta赋一个值[-3; 1; 1],那就会有这样一个式子,

而且上面的式子,中只要取值大于等于0了,y就是1了。而上图中右边那个-3+x_1+x_2=0会在直角坐标系中确定一条直线,如下图。在这条线的左下方y为0,右上方为1。

换句话说,我们通过一条直线将上面的一堆点给分成了两类。

这就是分类问题,而那条直线就是决策边界,就是通过决策边界进行分类的。

更进一步,这条作为决策边界的直线是通过一堆点训练出来的,而训练的目的就是找到合适的参数。

非线性决策边界

假设有这样一堆点:

已知的上图这样的一堆点,不能用一条直线来作为决策边界对它们进行分类了,那怎么办呢?我们需要更复杂的方程,如下:

给定了参数后,很显然上面的式子变成了一个圆,圆外的为1,圆内的为0。

总结

通过这两个例子,我们可以看出来,我们的决策边界由两个东西决定的:(1)方程的形式;(2)方程的参数。

换句话说,我们分别确定了方程的形式和方程的参数之后才能得到决策边界,有了决策边界才能得到一个分类器。

那怎样通过训练集得到方程形式和方程参数呢?继续期待后面的教程。

本文分享自微信公众号 - 讲编程的高老师(codegao),作者:中年糊涂的石头

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 吴恩达机器学习笔记24-正规方程法求最优参数

    “Linear Regression with multiple variables——Normal equation”

    讲编程的高老师
  • 逻辑回归用什么样的方程表示分类问题的?—ML Note34

    “Logistic Regression——Hypothesis Representation”。

    讲编程的高老师
  • 吴恩达机器学习笔记10-10分钟理解梯度下降法

    “Linear regression with one variable——Gradient descent”

    讲编程的高老师
  • 启动Python

            IDLE是一个Python shell。是一个通过键入文本与程序交互的途径,可以利用这个shell与Python交互。IDLE本身还是一个GU...

    py3study
  • linux设备驱动第五篇:驱动中的并发与竟态

    综述 在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并发和竟态以及如何处理并发和竞争。 首先什么是并发与竟态呢?并发(concurr...

    程序员互动联盟
  • 【进阶篇】命令行参数细节描述

    编写|PaddlePaddle 排版|wangp 虽然PaddlePaddle看起来包含了众多参数,但是大部分参数是为开发者提供的,或者已经在集群提交环境中自动...

    用户1386409
  • MongoDb数据库学习基础语法(二)

    MongoDB 删除数据库的语法格式如下: use dbname(数据库名字) db.dropDatabase() 删除集合: db.collect...

    黄林晴
  • 重要 | Spark分区并行度决定机制

    最近经常有小伙伴留言,核心问题都比较类似,就是虽然接触Spark有一段时间了,但是搞不明白一个问题,为什么我从HDFS上加载不同的文件时,打印的分区数不一样,并...

    大数据学习与分享
  • Java-ThreadPoolExecutor类

            handler:提交线程数量大于maximumPoolSize时的处理器

    尚浩宇
  • 28页PPT详解腾讯数据挖掘体系及应用

    本文主要是腾讯高级数据分析师彭远权详解腾讯数据挖掘体系及应用,28页PPT的阐述了:数据工作是做什么的?数据理念和原则、数据体系架构、数据实战中DBScan算法...

    华章科技

扫码关注云+社区

领取腾讯云代金券