首页 > 其他分享 >计算离散点的边界 MATLAB计算多维凸包

计算离散点的边界 MATLAB计算多维凸包

时间:2023-10-26 10:57:22浏览次数:46  
标签:边界 样本 凸包 计算 MATLAB 测试

无论是进行回归、拟合还是深度学习,总要将总体数据集划分为训练样本集和测试样本集。然而,一般情况下,测试集位于训练集“所覆盖的范围之内”时(如下图所示,红色星号表示训练样本集所在位置,蓝色圆点表示测试样本集所在位置),测试效果较好,测试结果也更具合理性。但是如何验证测试集是否在训练集“所覆盖的范围之内”呢?

 

 如下图所示,明显的,P0、P1和P3位于数据集的边界上,这些在边界上的点有什么特征呢?像是用一根橡皮筋套住所有这些点所形成的图案,该过程在数学上被定义为二维凸包(点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内)。所以,如果能够根据样本数据集计算出样本数据集的凸包,就能标记出样本数据集中哪些数据点位于数据集的边界,进一步的,筛选测试样本集时避开这些边界点即可。一般情况下训练和测试样本的维度较高,所以可以通过计算多维凸包的方式来进行判断。

Matlab计算多维凸包的函数为 convhull (支持二维和三维)和 convhulln (支持$N$维,$N\ge 2$),以计算点集的凸包为例:

  K = convhull(x,y)

  其中,x 和 y 分别为点集的横纵坐标,K表示绕凸包沿逆时针方向排列的点的索引。

计算案例如下:

clear,clc
%% 计算二维随机点的凸包
x=normrnd(0,1,1,50);
y=normrnd(0,1,1,50);
K = convhull(x,y);             % 更具所有点的坐标,计算哪些点处于凸包的边界
plot(x,y,'.','markersize',12)  % 绘制所有点的位置
xlabel('Longitude')
ylabel('Latitude')
hold on
plot(x(K),y(K),'r')            % 将边界上的点用红线相连

 计算结果如下:

 

参考资料:

计算凸包 - MATLAB & Simulink - MathWorks 中国

N 维凸包 - MATLAB convhulln - MathWorks 中国

(8条消息) matlab(获取点集的外围轮廓)_小邢~的博客-CSDN博客_点集外轮廓

(8条消息) MATLAB Delaunay 算法提取离散点边界_天上地芒果的博客-CSDN博客_离散点边界

标签:边界,样本,凸包,计算,MATLAB,测试
From: https://www.cnblogs.com/lijinying/p/16940810.html

相关文章

  • OpenCV4 :并行计算cv::parallel_for_
    OpenCV4:并行计算cv::parallel_for_在计算机视觉和图像处理领域,OpenCV(开源计算机视觉库)是一个非常强大和广泛使用的库。随着图像分辨率的提高和计算任务的复杂度增加,实时处理变得越来越困难。为了解决这个问题,OpenCV提供了并行处理能力,可以显著提高代码的性能。本文将介绍如何利用O......
  • 揭秘计算机奇迹:探索I/O设备的神秘世界!
    引言在之前的章节中,我们详细讲解了计算机系统中一些核心组成部分,如中央处理器(CPU)、内存、硬盘等。这些组件负责处理和存储数据,使得计算机能够有效地运行。然而,除了这些核心组件,计算机系统还包含许多其他重要的部分,其中之一就是输入输出设备。它们使得计算机能够与用户进行有效的......
  • 云计算实战(2)- LINUX系统管理(1)
    目录hostnamectlhostnamectlHostnamectl可用于查询和更改系统主机名及相关设置。[[email protected]]$hostnamectl-hhostnamectl[OPTIONS...]COMMAND...Queryorchangesystemhostname.Commands:statusShowcurrenthostnamesettingsho......
  • 计算机网络中双绞线包括哪些颜色?
    计算机网络中双绞线包括绿白、绿、橙白、蓝、蓝白、橙、棕白、棕,等几种颜色。其中:EIA/TIA568A的线序定义依次为绿白、绿、橙白、蓝、蓝白、橙、棕白、棕,其标号如下表所示:EIA/TIA568B的线序定义依次为橙白、橙、绿白、蓝、蓝白、绿、棕白、棕,其标号如下表所示:根据568A和568B......
  • 基于Python的猫狗宠物展示系统-计算机毕业设计源码+LW文档
    摘 要 随着时代的发展,人们对宠物也越来越重视,近些年来我国的宠物产业也发生了翻天覆地的变化,但是很多人在出去宠物的时候不知道去哪里宠物,在预订酒店和机票的时候也没有一个综合性的宠物网站,为了让人们的宠物变的更加的方便,为此我开发了本基于Python的猫狗宠物展示系统本基于......
  • 计算碰撞后的路程和高度
    已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写一程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时共经过的路程以及第m次落地后反弹的高度,并输出结果。 mycode:#include<stdio.h>intmain(){ intn,m,i; scanf("%d%d",&n,&m); doublelen=......
  • 指令平均时钟数和运算速度的计算
    题目某计算机的时钟频率未400MHZ,测试该计算机的程序使用4种类型的指令,每种指令的数量及所需指令时钟数(CPI)如下表所示,则该计算机的指令平均时钟数为_____,该计算机的运算速度为_____指令类型指令数目每条指令所需时钟数11600001230000......
  • 【有奖体验】AIGC小说创作大赛开启!通义千问X函数计算部署AI助手
    一个AI助手到底能做什么?可以书写小说可以解析编写代码可以鼓舞心灵提供职业建议还有更多能力需要您自己去探索。接下来我们将花费5分钟,基于函数计算X通义千问部署一个AI助手,帮你撰写各类文案。领取函数计算试用额度首次开通函数计算,务必领取试用资源,首次开通用户......
  • 具体数学: 计算机科学基础 pdf电子版
    具体数学:计算机科学基础pdf电子版下载作者:RonaldL.Graham/OrenPatashnik/DonaldE.Knuth原作名:ConcreteMathematics:AFoundationforComputerScience出版年:2013-4-1......
  • 基于html5+javascript技术开发的房贷利率计算器,买房的码农们戳进来
    房贷计算器是一款专为购房者设计的实用工具应用,其主要功能是帮助用户详细计算房贷的还款金额、利息以及还款计划等。通过这款软件,用户可以更加便捷地了解到自己的还款情况和计划,从而更好地规划自己的财务。下面将对房贷计算器进行详细的介绍。体验地址房贷计算器体验地址关键......