news 2026/1/12 7:32:42

MATLAB生成双噪声圆环玩具数据集的GenTwoNoisyCircle函数详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MATLAB生成双噪声圆环玩具数据集的GenTwoNoisyCircle函数详解

在机器学习和流形学习的研究中,常常需要一些经典的玩具数据集来验证算法的有效性。其中,双圆环(Two Circles)数据集是一个非常典型的非线性可分示例:两个同心圆环,内环和外环分别属于不同类别,线性分类器无法分离,而谱聚类、LLE、Laplacian Eigenmaps等流形学习算法能轻松捕捉其内在结构。今天我们来剖析一个简单却实用的MATLAB函数——GenTwoNoisyCircle,它能快速生成带噪声的双圆环数据集,便于算法测试和可视化演示。

函数的基本功能

GenTwoNoisyCircle 无输入参数(或可扩展支持指定样本数),默认生成每个圆环200个样本点,总共400个样本。

返回:

  • fea:400 × 2 的特征矩阵,每行是一个二维样本点

  • gnd:400 × 1 的标签向量,内环标签为1,外环标签为2

数据生成原理

函数的核心思想是:在极坐标系下先生成均匀分布的角度,然后为内环和外环分别设置不同的半径范围,并加入随机噪声。

具体步骤:

  1. 设置样本数 N = 200(每个环)

  2. 生成角度序列:thetaPos = π × (2 × [1:N] / N),即从0到几乎2π均匀分布(避免完全闭合重叠)

  3. 内环半径 rB:在1附近添加均匀噪声,rB = 1 + 0.5 × rand(1,N),半径范围约[1, 1.5]

  4. 外环半径 rA:在2附近添加均匀噪声

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/12 4:14:38

人类有史以来最伟大的10大壮举与天问一号

文章目录1. 人类有史以来最伟大的10大壮举(按影响与突破排序)2. 天问一号时间线(含关键节点)1. 人类有史以来最伟大的10大壮举(按影响与突破排序) 生命科学:人类基因组计划(2003&…

作者头像 李华
网站建设 2026/1/11 0:41:21

S32DS使用一文说清:S32K GPIO外设初始化步骤

S32DS实战指南:从零搞懂S32K GPIO初始化全流程你有没有遇到过这样的情况——代码烧进去,LED就是不亮?按键按烂了也没反应?调试半天才发现,原来是某个时钟没开、引脚复用配错了,或者方向寄存器写反了。这种低…

作者头像 李华
网站建设 2026/1/11 0:39:59

一文说清STM32F4串口通信的STM32CubeMX教程配置步骤

手把手教你用STM32CubeMX配置STM32F4串口通信:从零开始的实战指南你有没有遇到过这种情况?刚焊好一块STM32F4开发板,想通过串口打印“Hello World”验证一下基本功能,结果打开串口助手却一片漆黑——没输出。反复检查代码、波特率…

作者头像 李华
网站建设 2026/1/12 3:10:42

screen指令在ARM开发板调试中的应用详解

用screen调试 ARM 开发板:从串口连接到多任务协同的实战指南你有没有遇到过这样的场景?深夜正在远程调试一块远在实验室的ARM开发板,系统启动卡在某个阶段。你盯着终端一行行刷出的内核日志,正准备进入U-Boot修改启动参数——突然…

作者头像 李华
网站建设 2026/1/11 0:23:50

一文说清STM32MP1在ARM平台上的资源分配策略

STM32MP1 的“双核心法”:如何让 Linux 与实时控制和平共处? 在嵌入式开发的世界里,我们常常面临一个两难选择: 要性能,还是实时性? 运行 Linux,意味着你能轻松接入网络、跑图形界面、用现成…

作者头像 李华
网站建设 2026/1/11 0:21:19

i2c读写eeprom代码多字节写入实战演示

一次搞懂IC读写EEPROM:多字节写入实战与避坑指南你有没有遇到过这种情况——系统要保存几十个配置参数,结果一个一个字节往EEPROM里写,耗时又占CPU?更糟的是,某次跨页写入不小心“翻车”,数据莫名其妙错乱了…

作者头像 李华