当我尝试在一些高维输入上应用一些ML算法(分类,更具体地说,特别是SVM)时,我应该如何处理,我得到的结果不太令人满意?
可以显示1,2或3维数据以及算法的结果,这样您就可以了解正在发生的事情,并了解如何解决问题.一旦数据超过3个维度,除了直观地使用参数,我不确定如何攻击它?
我正在尝试使用ANN进行音符的音高检测.网络是一个简单的双层MLP,其输入基本上是DFT(平均和对数分布),12个输出对应于特定八度音阶的12个音符.
通过某些乐器演奏的12个音符的一些样本(一次一个音符)和几个"静音"样本训练网络.
结果实际上很好.网络能够准确地检测出不同乐器所演奏的音符,它相对于噪音,甚至在播放歌曲时也不会完全放松.
然而,目标是能够检测复音.因此,当两个或多个音符一起播放时,两个相应的神经元将会发射.令人惊讶的是,网络实际上已经在某种程度上做到了这一点(仅对单声道样本进行训练),但是与单声道音符相比,不那么一致且不太准确.我的问题是如何增强它识别多元音的能力?
问题是我不明白为什么它实际上已经有效了.不同的音符(或它们的DFT)基本上是训练网络的空间中的不同点.所以我明白为什么它会识别出类似的声音(附近的点),而不是它如何"结束"一组音符的输出(它们与每个训练样例形成一个遥远的点).与(0,0)(0,1)(1,0)=(0)训练的AND网络相同的方式不会"结束"(1,1)=(1).
对此采取的蛮力是用尽可能多的复音样本训练网络.然而,由于网络似乎以某种方式模糊地从单声道样本中抓住了这个想法,所以这里可能还有一些更有趣的东西.
有什么指针吗?(抱歉长度,顺便说一句:).
signal-processing machine-learning pitch-tracking neural-network
根据像素弯曲器规格,着色器可以具有一个或多个输出.像素弯曲工具包,其"导出到闪存"选项往往是严格限制闪存特定的做和不,甚至会编译这样的着色器没有抱怨.
但是,actionscript的着色器相关类似乎是针对单输出着色器.有没有办法在闪存中有多个着色器输出?