首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tensorflow中的多标签分类器

Tensorflow中的多标签分类器
EN

Stack Overflow用户
提问于 2016-08-31 13:21:33
回答 1查看 3.8K关注 0票数 4

我想用TensorFlow开发一个多标签分类器,我的意思是存在多个包含多个类的标签。为了举例说明,您可以将情况想象为:

  • 标签-1级:下雨,下雨,不下雨,不下雨。
  • 标签-2级:晴天,部分多云,多云,非常多云。

我想用神经网络对这两个标签进行分类。现在,我对每个(标签-1,标签-2)对类使用了不同的类标签。这意味着我有4x4=16个不同的标签。

通过训练我的模特

电流损耗

代码语言:javascript
运行
复制
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_features
  • 我的标签是n_samples,n_classes,2

n_samples of x1,x2,x3,x4 .#功能

n_samples of [0,0,0,1,0,0,1,0] #不下雨和多云

如何用tensorflow建立一个软件最大概率分布预测器。对于这样的多标签问题,有什么有用的例子吗?我的损失张量会怎么样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 16:32:52

为什么不让你的网络产生两种不同的输出?

网络-> prediction1和prediction2

如果prediction1和prediction2都是#、#,但我下面描述的是,即使它们的大小不同,它们也是有效的。

那就跑吧

代码语言:javascript
运行
复制
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
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39250828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档