我是个作曲家兼程序员。我想用ML作曲。关于机器作曲的一般问题,我们已经有了研究。我更感兴趣的是用电脑作曲的具体问题.加速某些重复的任务,或者用意想不到的想法来取悦我。
首先,我想设计一个ML,它可以在一段短文上进行好的/坏的分类。(一开始不想创作音乐。)
将这样的通道分解成重要的特性是相当容易的。我可以这样说
我可以很容易地编写算法,为任何给定的段落生成这样的特性列表,我甚至可以非常肯定的是,我包含了所有相关的特性。对于一种“艺术形式”,音乐是令人惊讶的易于分析。
诀窍是,首先,会有数以百计的观察,其次,这些观测中没有一个本身是好的或坏的。假设我们有三个因素A,B和C,A并不仅仅是坏的,但是也许当A和B同时发生时,这是不好的。但是也许如果A,B,和C一起发生的话,它又变好了!然后,第四个因素D,改变了上下文,使得A,B和C不再重要。
这似乎是一个ML问题,但我想知道最好的方法是什么?
我可以构造或创作数百个标记为“好”和“坏”的音乐示例,并在每个示例中识别出数百个“特征”。有些特性是“现在/不存在”类别,而另一些则是可以从0缩放到1的数字。
有没有一种通用而简单的学习算法,即使是像我这样的ML新手(但我是一个有经验的程序员)也可以实现呢?
我必须产生我自己的训练例子,将限制在大约300到1000,因为我是在我的风格的简单段落训练它。这可能是个好问题。与一般的音乐智力相比,我的工作并不那么复杂。
我将把这一任务与图像识别进行对比。一幅图像有数以百万计的像素,特征被分散开来,在无尽的排列中发生。想弄清楚深层神经网络是怎么回事会让我头疼。
然而,在音乐方面,最多只有几百个特色。这种模式不会在无休止的排列中发生。事实上,在简约的情况下,我的猜测是,你可以通过观察10个特征(假设你有训练好的权重和组合)来制造一个80%的精确分类器。我的目标是更高一点(我需要更多的功能和更准确的)。
让你对我的数据集有一些了解:我正处于编写软件的早期阶段,以提取这些特性,但我对我的目标有一个很好的想法(多年来一直是手工作曲)。为了使这更具体,我创建了一个网页,显示数据将是什么样子。这很简单,完全是编造出来的。
http://theunexpectedpearl.com/dataset.html
这里显示了四行。每一行都是我将自动创作或生成的一段音乐的示例。根据我自己的耳朵,每一行都被划分为“好”或“坏”。行的其余部分是一个很长的特性列表,每个特性要么是“是/否”,要么是从0.0到1.0的单个数字。
我不认为朴素的Bayes分类器会对此起作用(如果我正确理解的话),因为特性本身既不是好的,也不是不好的。重要的是它们(上下文)的组合。事实上,在一个环境中,同样的特性可以帮助实现“善”,并且在另一个上下文中是“坏”的直接有力表示。
数据可能有不同的结构。在实践中,这个电子表格将是“稀疏的”,也许功能应该以某种方式分组,或者安排在一棵树中。
发布于 2018-05-23 04:21:00
我将提出一些建议,以使创造性的果汁流动。
首先,由于您有两个任务,所以可以考虑将两个模型配置为一个生成的对抗性网络,其中
然后由分类器对生成模型的输出进行评估。然后,分类器的输出可以用于改进(训练)生成模型。
我想这些都会被训练在相同的标记数据集上。我会用一个递归的神经网络来训练分类器,把鼻涕调出来(可以这么说)。我会用一个生成神经网络作为生成模型。
也许你在找更多的方向。如果是的话,很抱歉令人失望。我想你可能一直在寻找更好的寻求帮助的方法。
祝你好运。
https://datascience.stackexchange.com/questions/32009
复制相似问题