4

TensorFlowで複数ラベル分類子を開発したいと思います。複数のクラスを含む複数のラベルが存在することを意味しています。Tensorflowの複数ラベル分類器

  • ラベル-1クラス:照明雨、雨、雨、部分的、無雨
  • ラベル-2クラス:晴れ曇り、曇り、非常に曇りことができます画像の状況などを説明するために。

これらの2つのラベルをニューラルネットワークで分類したいと考えています。今のところ、私はすべての(ラベル-1、ラベル-2)ペアクラスに異なるクラスラベルを使用しました。つまり、私は4 x 4 = 16の異なるラベルを持っています。

電流損失

cross_entropy = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction), reduction_indices=[1])) 

# prediction is sofmaxed 
loss = cross_entropy + regul * schema['regul_ratio'] # regul things is for regularization 
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss) 

と私のモデルを訓練することで

は、しかし、私はマルチラベルトレーニングは、このような状態で立派に動作すると思います。

  • 私の機能は、私のラベルは[n_samples、n_classes、2]

[X1、X2、X3、X4 ...]#のn_samplesになります[n_samples、n_features]

  • になります機能の

    n_samples [[0、0、0、1]、[0、0、1、0]]#ノー雨や曇り

    どのように私はtensorflowとソフトマックス確率分布予測を行うことができます。このようなマルチラベル問題の実例がありますか?私の損失テンソルはどのようになりますか?

  • 答えて

    4

    ネットワークで2つの異なる出力を生成するだけではどうですか?

    ネットワーク - > prediction1とprediction2

    prediction1とprediction2は両方[#、#、#、#]ですが、私は以下の記述は、彼らはさまざまなサイズだ場合でも動作します。

    それからちょうど実行

    loss1 = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction1, labels_1)) 
    loss2 = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction2, labels_2)) 
    
    loss = loss1 + loss2 
    
    関連する問題