【问题标题】:matlab least squares random sample generationmatlab最小二乘随机样本生成
【发布时间】:2015-10-23 21:21:31
【问题描述】:

我正在寻找一些帮助来生成包含 600 个样本的嘈杂随机数据集。 目前我正在使用以下代码:

weight = randn(size,1);
noise = randn(size,1);
X = randn(size);
y = (X'*weight) + noise;

权重只是一个向量 ∈ R。我需要 600 个样本,这些样本被分成一组大小为 500 的样本和另一组大小为 100 的样本。请帮忙?
稍后我将计算这些集合的均方误差,但这应该会容易得多。

【问题讨论】:

  • 这段代码的源代码没有对它的作用提供一些解释吗?
  • 它是我写的代码,它没有按应有的方式工作。
  • 好的。它应该以什么方式工作?它是如何工作的?
  • 好像不太对,其次我也不太确定自己做的对不对。我正在尝试生成两组(学习集和测试集)。我正在使用 y = X'*weight + 噪声方程,但我无法生成 600 个样本并将其分成 100 和 500 组
  • 如果你仔细观察,你会发现你根本没有回答我的问题。你期望得到什么(如:size?),你得到了什么(size?)?您如何尝试拆分它?

标签: matlab least-squares


【解决方案1】:

如果您需要 600 个样本,我建议size = 600

我不明白你为什么使用 randn 三次乘法和求和(也许你想要一些特殊的分布)但是 - 你想要噪声信号,所以你得到它:你可以使用 @ 检查它y 的 987654325@ 函数:

要将您的样本分成两种不同大小的,请使用:

y1 = y(1:100);
y2 = y(101:600);

希望,它会有所帮助!

【讨论】:

  • 基本上我正在尝试生成一个数据集以供以后分析。我有一个方程 y(i) = (x(i)^T * w) + n(i)。 x、w 和 n 使用 randn 生成向量/矩阵。总的来说,我需要生成包含 600 个样本的集合,这些样本分为测试集和训练集
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多