从一些现有培训数据中生成新培训数据的有效方法

时间:2016-05-17 01:04:27

标签: machine-learning artificial-intelligence

是否有任何有效的方法可以从一些现有的训练数据中生成新的训练数据。我只是针对我的学习问题而不是在一般情况下提出这个问题。

我的学习问题是将6维加速度和陀螺仪数据(数据从连接到用户手腕的传感器获得,同时他/她尝试将空中的某些字符写入)转换为相应的字符A到Z. / p>

每个字符只有10个样本数据,总共260个训练实例。例如,以下图像与字符“F”的2个样本数据相关 enter image description here enter image description here 此外,我有很多样本数据,而用户不会移动他的手并等待下一个字符写入,但由于手自发和随机移动仍然我们有一些数据模式,虽然与我的260训练数据相比,他们是平的,他们可以是从一个用户到另一个用户不同,您可以在下图中看到它。 enter image description here 另外我们可以说每个训练样本数据一些是如何混合用于写字符的理想手部动作+这些自发和随机的手部运动(类似噪音)

我想知道是否有任何方法可以生成一些新的训练数据。也许我可以结合我当前的260次训练和用户不移动他们的手来生成一些新训练数据的数据。也许可以说没有必要生成新的训练数据,我可以简单地在每个角色的10个样本数据上进行中继,然后使用例如k-NN算法来找到最近的邻居(我做了,看起来很有希望,例如,在下图中,您可以看到使用DTW从我的所有260个样本数据中的一个未看到的A字符计算的距离),因此不需要额外的训练数据。 enter image description here

由于

2 个答案:

答案 0 :(得分:0)

您当然可以生成新的数据点,但不会向从原始数据集构建的模型添加任何有用的信息。学习这个问题的标准机器将采用一部分数据,比如80%,并围绕它建立一个模型。剩下的20%将被遗漏,而是用于交叉验证模型。剩下的样本数据将是模型预测实际行为的试金石。从某种意义上说,剩下的20%样本会像新数据一样,因为模型从未见过它。

答案 1 :(得分:0)

您要做的是通过

将小数据集推广到看不见的数据
1- adding noise to your data
2- regularising your data in your model
3- using dropouts as in neural network models which is some kind of regularization.
4- considering uncertainty by using some models like Gaussian processes.

在我看来,如果你能够生成更多数据,那就更好了,因为不仅仅是每个样本都是另一个样本的嘈杂版本,而且人们也可能采取不同的做法。

我建议:

1- trying to generate more data yourself.
2- searching for accessible datasets online
3- in case there are some papers on the topic you can send a kind email and ask for their data.