【机器学习】决策边界的基本概念以及如何在逻辑回归中找到决策边界

news2024/11/24 20:53:34

引言

在机器学习中,决策边界是分类算法用来区分不同类别数据点的线、面或超平面。这些边界通常是模型的预测规则,用于将特征空间中的点分配到不同的类别。决策边界可以是线性的,也可以是非线性的,取决于数据的分布和所使用的分类算法

文章目录

  • 引言
  • 一、决策边界的例子
    • 1.1 线性分类器
    • 1.1 非线性分类器
  • 二、决策边界的作用
  • 三、绘制决策边界
    • 3.1 选择特征
    • 3.2 选择或计算边界
    • 3.3 绘制边界
    • 3.4 标记数据点
  • 四、决策边界的优缺点
    • 4.1 优点
    • 4.2 缺点
  • 五、决策边界的应用
  • 六、逻辑回归中的决策边界
    • 6.1 目标
    • 6.2 导入numpy、matplotlib库
    • 6.3 数据集
    • 6.4 绘制数据
    • 6.5 逻辑回归模型
    • 6.6 复习逻辑回归和决策边界
    • 6.7 绘制决策边界
    • 6.8 总结

一、决策边界的例子

1.1 线性分类器

如线性回归、逻辑回归、支持向量机(SVM)等,它们使用线性边界。例如,在二维空间中,线性边界是一条直线;在三维空间中,它是一个平面。

1.1 非线性分类器

如决策树、随机森林、神经网络等,它们可以学习到复杂的非线性边界。在二维空间中,这可能是一个曲线;在三维空间中,可能是一个曲面。

二、决策边界的作用

决策边界是模型解释性和可视化的重要组成部分。通过绘制决策边界,我们可以直观地看到模型是如何将数据分为不同类别的。这对于理解模型的行为、发现潜在的错误分类模式以及验证模型的假设都是非常有帮助的

三、绘制决策边界

在绘制决策边界时,通常需要考虑以下几个步骤:

3.1 选择特征

确定哪些特征对分类至关重要

3.2 选择或计算边界

对于线性分类器,这通常是简单计算得到的;对于非线性分类器,可能需要使用训练数据来估计

3.3 绘制边界

在特征空间中绘制决策边界,通常在二维或三维空间中进行

3.4 标记数据点

将不同类别的数据点用不同的符号或颜色标记

四、决策边界的优缺点

4.1 优点

决策边界直观地展示了模型的分类能力,有助于理解和验证模型的假设

4.2 缺点

决策边界可能过于简化,无法准确反映数据的复杂性。此外,决策边界可能不是唯一的,不同的特征选择或参数设置可能导致不同的边界

五、决策边界的应用

决策边界在许多领域都有应用,例如图像识别、文本分类、医学诊断等。通过绘制决策边界,可以更好地理解模型的工作原理,并指导模型的改进和优化

六、逻辑回归中的决策边界

6.1 目标

绘制逻辑回归模型的决策边界。这将帮助更好地理解模型正在预测什么

6.2 导入numpy、matplotlib库

import numpy as np
%matplotlib widget
import matplotlib.pyplot as plt
from lab_utils_common import plot_data, sigmoid, draw_vthresh
plt.style.use('./deeplearning.mplstyle')

6.3 数据集

假设有以下训练数据集

  • 输入变量 X X X是一个NumPy数组,包含6个训练示例,每个示例都有两个特征
  • 输出变量 y y y也是一个NumPy数组,包含6个示例,y要么是0要么是1
X = np.array([[0.5, 1.5], [1,1], [1.5, 0.5], [3, 0.5], [2, 2], [1, 2.5]])
y = np.array([0, 0, 0, 1, 1, 1]).reshape(-1,1)

6.4 绘制数据

使用辅助函数来绘制这些数据。标签为𝑦=1的数据点用红色十字表示,而标签为𝑦=0的数据点用蓝色圆圈表示。

fig,ax = plt.subplots(1,1,figsize=(4,4))
plot_data(X, y, ax)
ax.axis([0, 4, 0, 3.5])
ax.set_ylabel('$x_1$')
ax.set_xlabel('$x_0$')
plt.show()

输出结果:
在这里插入图片描述

6.5 逻辑回归模型

  • 假设想在这个数据上训练一个逻辑回归模型,该模型具有以下形式
    f ( x ) = g ( w 0 x 0 + w 1 x 1 + b ) f(x) = g(w_0x_0+w_1x_1 + b) f(x)=g(w0x0+w1x1+b)
    其中 g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+ez1,这是Sigmoid函数
  • 假设已经训练了模型,并得到了参数 b = − 3 , w 0 = 1 , w 1 = 1 b = -3, w_0 = 1, w_1 = 1 b=3,w0=1,w1=1。也就是说,
    f ( x ) = g ( x 0 + x 1 − 3 ) f(x) = g(x_0+x_1-3) f(x)=g(x0+x13)
    让我们通过绘制其决策边界来尝试理解这个训练好的模型正在预测什么

6.6 复习逻辑回归和决策边界

回想一下,对于逻辑回归,模型可以表示为
f w , b ( x ( i ) ) = g ( w ⋅ x ( i ) + b ) (1) f_{\mathbf{w},b}(\mathbf{x}^{(i)}) = g(\mathbf{w} \cdot \mathbf{x}^{(i)} + b) \tag{1} fw,b(x(i))=g(wx(i)+b)(1)
其中 g ( z ) g(z) g(z)称为Sigmoid函数,它将所有输入值映射到0和1之间: g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+ez1
并且 w ⋅ x \mathbf{w} \cdot \mathbf{x} wx是向量点积:
w ⋅ x = w 0 x 0 + w 1 x 1 \mathbf{w} \cdot \mathbf{x} = w_0 x_0 + w_1 x_1 wx=w0x0+w1x1
我们将模型的输出( f w , b ( x ) f_{\mathbf{w},b}(x) fw,b(x))解释为给定𝑥和参数𝑤、𝑏时,𝑦=1的概率
因此,要从逻辑回归模型中得到最终的预测(𝑦=0或𝑦=1),我们可以使用以下启发式方法:

  • 如果 𝑓𝐰,𝑏(𝑥)>=0.5,预测𝑦=1
  • 如果 𝑓𝐰,𝑏(𝑥)<0.5,预测𝑦=0
    让我们绘制Sigmoid函数,看看𝑔(𝑧)>=0.5的地方在哪里
# 在-10到10的范围内绘制Sigmoid(z)
z = np.arange(-10,11)

fig,ax = plt.subplots(1,1,figsize=(5,3))
# 绘制z vs sigmoid(z)
ax.plot(z, sigmoid(z), c="b")

ax.set_title("Sigmoid function")
ax.set_ylabel('sigmoid(z)')
ax.set_xlabel('z')
draw_vthresh(ax,0)

输出结果:
在这里插入图片描述

g ( z ) > = 0.5 g(z) >= 0.5 g(z)>=0.5的时候, z > = 0 z >=0 z>=0
对于逻辑回归模型, z = w ⋅ x + b z = \mathbf{w} \cdot \mathbf{x} + b z=wx+b

  • 如果 𝐰⋅𝐱+𝑏>=0,模型预测 𝑦=1
  • 如果 𝐰⋅𝐱+𝑏<0,模型预测 𝑦=0

6.7 绘制决策边界

现在,让我们回到我们的例子,以了解逻辑回归模型是如何做出预测的
我们的逻辑回归模型具有以下形式 f ( x ) = g ( − 3 + x 0 + x 1 ) f(x) = g(-3 + x_0+x_1) f(x)=g(3+x0+x1)
从您刚才学到的知识中,您可以看到,这个模型预测 𝑦=1,如果 − 3 + x 0 + x 1 > = 0 -3 + x_0+x_1 >= 0 3+x0+x1>=0
让我们看看这图形上是什么样子。我们将开始绘制 − 3 + x 0 + x 1 = 0 -3 + x_0+x_1 = 0 3+x0+x1=0,这相当于 x 1 = 3 − x 0 x_1 = 3 - x_0 x1=3x0

# 在0到6之间选择值
x0 = np.arange(0,6)
x1 = 3 - x0
fig,ax = plt.subplots(1,1,figsize=(5,4))
# 绘制决策边界
ax.plot(x0,x1, c="b")
ax.axis([0, 4, 0, 3.5])
# 填充线的下方区域
ax.fill_between(x0,x1, alpha=0.2)
# 绘制原始数据
plot_data(X,y,ax)
ax.set_ylabel(r'$x_1$')
ax.set_xlabel(r'$x_0$')
plt.show()

输出结果:
在这里插入图片描述

在上面的图中,蓝色线代表 x 0 + x 1 − 3 = 0 x_0 + x_1 - 3 = 0 x0+x13=0,它应该在 x 1 x1 x1轴上与3相交(如果我们设置 x 1 x1 x1= 3, x 0 x0 x0= 0),在 x 0 x0 x0轴上与3相交
阴影区域代表 − 3 + x 0 + x 1 < 0 -3 + x_0+x_1 < 0 3+x0+x1<0,线上面的区域是 − 3 + x 0 + x 1 > 0 −3 +x_0+x_1>0 3+x0+x1>0,任何位于阴影区域(在线之下)的点都被分类为 𝑦=0,任何位于或高于线的点都被分类为 𝑦=1,这条线被称为“决策边界”

通过使用更高阶的多项式项(例如:𝑓(𝑥)=𝑔(𝑥20+𝑥1−1),我们可以得到更复杂的非线性边界

6.8 总结

  • 探索逻辑回归中的决策边界
  • 学习如何在逻辑回归中找到决策边界

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1962969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索开明软件包:应用开发指南轻松掌握,快速上手!

开明软件包格式&#xff0c;是openKylin社区Kaiming SIG为应对传统包格式存在的系统与应用无明确界限、发行版碎片化、兼容性等问题而开发的一款全新软件包格式&#xff0c;满足ISV&#xff08;Independent Software Vendors&#xff09;应用发布和应用独立发布需求&#xff0…

AI绘画:PS+comfyUI 工作流,直接在PS搞AI!

前言 直接在PS搞AI要不要&#xff1f; 大神 Nima Nazari 发布了一个可以无缝链接PS和comfyUI的工作流。 小编对该工作流进行了一个安装使用的测评&#xff0c;该工作流可以无缝与PS进行互联操作&#xff0c;切换模型和修改参数时还是需要在PS和ComfyUI间切换。总体而言&#x…

CSCP、CPIM和CLMP三大证书的区别?如何选择?

在制造型企业、供应链和运营管理专业人士都会不断寻找方法来提升他们的技能和职业前景。三种流行的认证——CSCP&#xff08;Certified Supply Chain Professional&#xff09;、CPIM&#xff08;Certified in Planning and Inventory Management&#xff09;以及CLMP&#xff…

其他:trycatch模块捕获循环错误,避免中断程序

介绍 今天有位同事问我怎么在某次循环报错后仍然可以继续程序运行&#xff0c;最后我们使用了trycatch模块。 代码解读 任务&#xff1a;在循环中&#xff0c;如果某次循环的calc出现错误则跳过这次循环并重新赋值结果 res_list <- list() # 创建一个空列表来存储结果fo…

整箱排柜不返工?用易境通散拼系统就OK

想必困扰散货拼柜小伙伴们一大难题就是&#xff0c;怎么把错乱纷繁的货物有序地整箱排柜&#xff0c;并且要保证集装箱高效利用&#xff0c;运输成本尽量降低。这不仅要求操作者具备卓越的统筹规划能力&#xff0c;更需长期积累的实践经验和敏锐的应变能力。易境通散拼系统可以…

[python] 启发式算法库scikit-opt使用指北

scikit-opt是一个封装了多种启发式算法的Python代码库&#xff0c;可以用于解决优化问题。scikit-opt官方仓库见&#xff1a;scikit-opt&#xff0c;scikit-opt官网文档见&#xff1a;scikit-opt-doc。 scikit-opt安装代码如下&#xff1a; pip install scikit-opt # 调用scik…

永结无间Ⅶ--具有知识图谱的高级 RAG

将知识图谱与先进的检索增强生成 (RAG) 策略相结合&#xff0c;以增强人工智能驱动的信息检索和生成 在增强 RAG 系统方面&#xff0c;知识图谱已成为改变游戏规则的因素。与传统矢量数据库不同&#xff0c;知识图谱提供丰富、互联的信息表示&#xff0c;可显著提高检索内容的…

Docker简介和Docker常见命令

目录 1. Docker 简介 1.1 Docker 的核心概念 1.2 Docker 的优势 1.3 Docker 工作流程 2. 常见命令 2.1 基本命令 2.2 镜像操作 2.3 容器操作 2.4 网络操作 2.5 卷操作 2.6 日志和监控 2.7 清理命令 3. 注意事项和最佳实践 3.1 镜像操作 3.2 容器操作 3.3 网络操…

18730 涂色问题

这个问题可以通过动态规划来解决。我们可以定义一个状态dp[i][j]&#xff0c;表示前i个牛舍中最后一个牛舍的颜色是j的涂色方案数量。然后我们可以通过状态转移方程来更新dp[i][j]。 状态转移方程如下&#xff1a; dp[i][j] dp[i-1][k] (k ! j) 然后我们需要对所有的dp[i][…

数据结构——排序(C语言版)

冒泡排序&#xff1a; 冒泡排序是一种简单直观的排序算法&#xff0c;其基本思想是多次遍历待排序数组&#xff0c;每次遍历时比较相邻的两个元素&#xff0c;如果它们的顺序不符合排序规则&#xff08;比如升序&#xff09;&#xff0c;则交换它们的位置&#xff0c;直到整个数…

Oracle数据库入门

目录 Oracle基础概念数据库安装连接Oracle查看当前用户 数据表的基本概念查看当前系统表Orcale函数单行函数多行函数/组函数/聚合函数 SQL语句DMLinsert批量插入数据创建新表在旧表中插入 delete全表删除 update DDLcreatealterdrop 连接 Oracle基础概念 数据库: 数据的仓库 以…

探索大模型的“心理理论”能力:TMBENCH基准测试

人工智能咨询培训老师叶梓 转载标明出处 心理理论是理解他人信念、意图、情感等心理状态的能力&#xff0c;对人类社会交往至关重要。近期研究引发了关于LLMs是否展现出ToM的辩论。然而&#xff0c;现有的评估方法受限于范围狭窄、主观判断和潜在的数据污染等问题&#xff0c;无…

万能DIY预约小程序源码系统 自由DIY 适合任何行业的在线预约小程序 带源代码包以及搭建部署教程

系统概述 随着移动互联网的发展&#xff0c;小程序作为一种轻量级应用&#xff0c;因其便捷性和易用性而受到广大用户的喜爱。各行各业都在积极探索如何利用小程序提升服务体验。小编给大家分享一款万能DIY预约小程序的源码系统&#xff0c;该系统支持自由定制&#xff0c;适用…

S3GCL Spectral, Swift, Spatial Graph Contrastive Learning

发表于:PMLR24 推荐指数: #paper/⭐⭐⭐ 总结做了什么: 利用gcn对比学习训练mlp来提取特征嵌入,使得训练完毕使用的时候,可以更快的得到嵌入(类似于师生蒸馏的加速).其中,结合了异配图的chebnet2,以及高通低通过滤,和非对称对比学习等 看图解释:作者将全通的MLP训练得到的嵌入…

PostgreSQL入门与进阶学习,体系化的SQL知识,完成终极目标高可用与容灾,性能优化与架构设计,以及安全策略

​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 概述基础篇初级篇进阶篇…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 7月31日,星期三

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年7月31日 星期三 农历六月廿六 1、 海关总署&#xff1a;我国关税总水平目前已经降至7.3%&#xff0c;接近发达国家平均水平。 2、 网络身份证要来了&#xff1a;两部门征求意见&#xff0c;拟为社会公众统一签发网号、网证…

HighConcurrencyCommFramework c++通讯服务器框架 :网路通迅实战

数据总在两端进行&#xff0c;一个客户端&#xff0c;一个服务器端 连接建立起来&#xff0c;数据双向流动&#xff0c;这叫双工&#xff0c;你可以发给我我也可以发给你 既然服务器端是被动的接受的&#xff0c;那么客户端必须得知道服务器的地址 我浏览器要访问的淘宝网&a…

基于Spring boot + Vue的加油站系统

项目名称&#xff1a;加油站系统 作者的B站地址&#xff1a;程序员云翼的个人空间-程序员云翼个人主页-哔哩哔哩视频 csdn地址&#xff1a;程序员云翼-CSDN博客 1.项目技术栈&#xff1a; 前后端分离的项目 后端&#xff1a;Springboot MybatisPlus 前端&#xff1a;Vue…

Jetbrains Idea插件开发教程

背景介绍 痛点&#xff1a;在idea开发过程中&#xff0c;希望按需驼峰选中文本。现在默认是一整个单词选中&#xff0c;只有在设置–>智能按键 中开启了使用"CamelHumps单词"时能够驼峰选中。但是这种情况比较粗暴&#xff0c;直接全局开启了。但是在日常开发中&…

论文《Few-Shot Object Detection with Model Calibration》的解读

《Few-Shot Object Detection with Model Calibration》论文的解读 作者&#xff1a;Qi Fan1, Chi-Keung Tang1 , and Yu-Wing Tai1,2 单位&#xff1a;1 The Hong Kong University of Science and Technology, 2 Kuaishou Technology 邮箱&#xff1a;fanqicsgmail.com, ckta…