繁体   English   中英

使用Tensorflow可以为输入/输出映射创建神经网络吗?

[英]Is it possible using Tensorflow to create a neural network for input/output mapping?

我目前正在使用tensorflow创建一个神经网络,该神经网络复制了在给定输入的情况下创建特定输出的功能。

在这种情况下,输入是采样音频,并且该音频正在生成MFCC功能。 知道每个文件对应的MFCC功能是什么,但是不确定我应该如何设置神经网络。

我正在遵循此指南/教程http://www.kdnuggets.com/2016/09/urban-sound-classification-neural-networks-tensorflow.html/2

它说神经网络就是这样建立的

training_epochs = 5000
n_dim = tr_features.shape[1]
n_classes = 10
n_hidden_units_one = 280 
n_hidden_units_two = 300
sd = 1 / np.sqrt(n_dim)
learning_rate = 0.01

我的问题是如何定义班级数量? 我的意思是,我计算出的实际值没有分成几类,而是一个十进制数,因此我应该创建具有不同类数的多个网络,然后选择与原始值相比误差最小的那个,或者有一个tensorflow命令可以做到这一点,因为我正在做有监督的学习。

神经网络可用于分类任务或回归任务。 教程中 ,作者希望将声音分为10个不同的类别。 因此,神经网络具有10个输出神经元( n_classes ),并且它们的每个激活值都为输入声音提供隶属于某个类的概率。

在我们的例子中,您想将给定的声音映射成一个十进制数字(对吗?),所以这是一个回归任务:神经网络必须学习未知函数。 输出神经元的数量必须等于我们未知函数的输出维度(如果只是十进制数,则为1)。

因此,如果您想为我们的回归任务保留相同的体系结构,只需设置n_classes = 1并将y_修改为

y_ = tf.matmul(h_2,W) + b

因为tf.nn.softmax将最终得分转换为概率(这对分类有利,但对回归tf.nn.softmax

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM