2016-10-12 4 views
0

私は現在、テンソルフローを使用してニューラルネットワークを作成しています。これは、入力を与えられた特定の出力を作成する機能を再現しています。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 
ここ

私の質問は、私はクラスの数を定義する方法として、セットアップであることを述べていましたか?私が計算した実際の値はクラスに分かれていませんが、10進数なので、クラス数が違う複数のネットワークを作成して、元の値と比較してエラーが最小のものを選んでください、またはそれを行うことができるテンソルフローコマンドがあります。

答えて

0

ニューラルネットワークは分類タスクまたは回帰タスクに使用できます。 tutorialでは、サウンドを10種類のカテゴリに分類したいと考えています。したがって、ニューラルネットワークには10個の出力ニューロン(n_classes)があり、それぞれの起動値は入力音のクラスにメンバーシップの確率を与えます。

私たちの場合、与えられた音を10進数でマッピングしたいのですが、これは回帰タスクです。ニューラルネットワークは未知の関数を学習する必要があります。出力ニューロンの数は、未知の関数の出力次元に等しくなければなりません(単なる小数であれば1)。ですから、私たちの回帰タスクに同じアーキテクチャを維持したい場合は

は、ちょうどn_classes = 1を設定し、確率に最終的なスコアを変換

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

tf.nn.softmaxためにy_を変更する(これは、分類のために良いことだではなく、回帰のための)

+1

OPは、チュートリアル 'cost_function = tf.reduce_mean(tf.reduce_sum(Y * tf.log(y_)、reduction_indices = [1]))'の中の1つが回帰に意味がないため、コストを変更する必要があります。 – lejlot

+0

くそー、私はコス機能を忘れてしまった。ありがとう@lejlot! – Corentin

関連する問題