首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >多输出回归的神经网络

多输出回归的神经网络
EN

Data Science用户
提问于 2017-02-10 15:17:41
回答 3查看 51.8K关注 0票数 31

我有一个包含34个输入列和8个输出列的数据集。

解决这一问题的一种方法是采用34个输入,并为每个输出列建立单独的回归模型。

我想知道这个问题是否可以用一个模型来解决,特别是使用神经网络。

我使用了多层感知器,但这需要多个模型,就像线性回归一样。序列排序是可行的选择吗?

我正在使用TensorFlow。我有代码,但我认为更重要的是,要理解我在多层感知器理论中遗漏了什么。

我理解在MLP中,如果您有一个输出节点,它将提供一个输出。如果有10个输出节点,那么这是一个多类问题。您可以从10个输出中选择概率最高的类。但在我的例子中,同样的输入肯定会有8个输出。

比如说,对于一组输入,你将得到某样东西的三维坐标(X,Y,Z)。输入= {1,10,5,7}输出= {1,2,1}。因此,对于相同的输入{1,10,5,7},我需要建立X值Y值和Z的模型。一种解决方案是使用MLP建立三个不同的模型。但我想看看我能不能有一个模特。所以我考虑使用seq2seq。因为编码器接受一系列输入,而解码器提供一系列输出。但似乎tensorflow中的seq2seq不能处理浮点值。不过,我可能错了。

EN

回答 3

Data Science用户

发布于 2017-02-11 13:04:34

您所描述的是一个正常的多维线性回归。这种类型的问题通常通过前馈网络来解决,无论是MLP还是任何其他适合问题性质的体系结构。

任何神经网络框架都能做到这样的事情。

这样做的关键是记住,最后一层应该有线性激活(即根本没有激活)。

根据您的要求,输入层的形状将是向量(34 )和输出(8,)。

更新:回归问题通常使用的损失函数是均方误差(MSE)。这里's是使用喀拉斯的多维回归的一个例子;网络不是一个MLP,但是它应该可以说明这个想法。

票数 17
EN

Data Science用户

发布于 2017-11-29 14:05:04

您可以非常简单地在Python中实现这一点。

你的X将是训练x,y,z坐标的集合。

你的Y将是测试x,y,z坐标的集合。

代码语言:javascript
运行
AI代码解释
复制
from sklearn import cross_validation                     
from sklearn.neural_network import MLPRegressor   

model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')
票数 4
EN

Data Science用户

发布于 2019-07-24 06:15:38

这比你想象的要容易得多--你可以简单地将输出层设置为向量,而不是单个标量。当然,这里没有魔力,我建议您准备好数据(执行批处理规范化,以便所有输出都是0到1之间的值)。

如果您使用的是Keras,那么这样做的方法是添加一个密集层作为最终输出层:

代码语言:javascript
运行
AI代码解释
复制
model.add(Dense(8, activation='linear'))
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/16890

复制
相关文章
C++中派生类成员的访问属性
在派生类中,对基类的继承方式可以有public(公用的)、private (私有的)和protected(保护的)3种。 不同的继承方式决定了基类成员在派生类中的访问属性。 简单地说: (1)  公用继承(public inheritance) 基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。 (2)  私有继承(private inheritance) 基类的公用成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有。 (3)  受保护的继承(protected inheritance) 基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。 保护成员的意思是:  不能被外界引用,但可以被派生类的成员引用。
卡尔曼和玻尔兹曼谁曼
2019/01/25
1.1K0
类的继承 方法和属性的重写
当子类和父类进行同一件事进行不同的操作需要重新写方法(例如电脑鼠标点击打开图片,平板电脑触摸打开图片)
用户2965768
2019/01/28
1.5K0
PHP-私有属性继承和重写
1.3 面向对象三大特性 封装 继承 多态 1.4 私有属性继承和重写 私有属性可以继承但不能重写。 <?php class A { private $name='PHP'; public fun
cwl_java
2022/11/30
6350
JAVA中重写equals()方法的同时要重写hashcode()方法
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true;注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下:(1)当obj1.equals(obj2)为true时,obj1.hashCode() == obj2.hashCode()必须为true (2)当obj1.hashCode
xiangzhihong
2018/02/01
1.8K0
派生类的构造过程
1、先基类、后对象、再子类 多继承,初始化顺序跟基类的声明顺序有关,从左到右。 对象 ,与声明类的顺序有关,从上到下。
我与梦想有个约会
2023/10/20
1510
派生类的构造过程
python @property 设置只读属性 重写 getter setter 方法
@property广泛应用在类的定义中,可以让调用者写出简短的代码,就可以重写属性的 get 和 set 方法,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。
onety码生
2018/11/21
2.6K0
java中重载和重写的区别
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。
全栈程序员站长
2022/09/08
6930
Java中的重载与重写的区别
java中的重载与重写的区别 1、重载发生在本类,重写发生在父类与子类之间; 2、重载的方法名必须相同,重写的方法名相同且返回值类型必须相同; 3、重载的参数列表不同,重写的参数列表必须相同。
全栈程序员站长
2022/07/18
8060
Python中的_new_方法的重写
new方法重写的步骤比较固定,直接上代码吧 # 代码 class MusicPlayer(object): # new方法的重写,是一个静态方法,必须主动传递cls参数 def __new__(cls, *args, **kwargs): # 1.创建对象时,new方法会被自动调用 print("创建对象,分配空间") # 2.为对象分配空间 instance = super().__new__(cls) #
benym
2022/07/14
7810
Java中的重载和重写的区别
重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理 重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法
共饮一杯无
2022/11/28
6120
Java中的重载和重写的区别
Java中的多态(重载和重写)
方法重写与方法重载之间的关系:重载发生在同一个类内部的两个方法或多个方法。重写发生在父类和子类之间。
你的明明呐丶
2022/06/27
6070
Java中的多态(重载和重写)
Java中的重载、重写和重构的区别
重载(overloaded): 重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。
全栈程序员站长
2022/09/08
1.9K0
【说站】python中__new__的重写
1、重写__new__方法一定要return super().__new__(cls)。
很酷的站长
2022/11/23
7280
Java中的方法重载和重写(覆盖)
* 方法重载的判定:同一类中,方法名相同,参数列表不同(参数个数不同,参数列表中对应位置参数类型不同),其他方法返回值
用户7886150
2020/12/14
2.3K0
java中的UrlReWriter(url重写)_源码下载
==============================================
Hongten
2018/09/13
2.1K0
java中的UrlReWriter(url重写)_源码下载
css opacity属性_CSS中的opacity属性[通俗易懂]
With the growing need of making websites, the need for styling them has also increased. Therefore, CSS has become an indispensable part of creating websites. Thus one must be aware of which properties to use while creating a website.
全栈程序员站长
2022/09/01
3.2K0
css opacity属性_CSS中的opacity属性[通俗易懂]
TypeScript中的可选属性和只读属性
可选属性 接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面
孙亖
2018/06/07
3K0
你真的了解Override吗,属性能够被重写吗?
最近想到了一个问题,Java的属性能够被Override吗?首先让我们看一下下面这个继承的例子。
三哥
2019/05/07
8130
你真的了解Override吗,属性能够被重写吗?
你真的了解Override吗,属性能够被重写吗?
最近想到了一个问题,Java的属性能够被Override吗?首先让我们看一下下面这个继承的例子。
三哥
2018/12/17
6930
Python使用元类约束派生类中必须实现指定的成员
创建派生类时指定元类,用来控制和约束派生类的创建过程,对派生类中的成员进行一定的限制。
Python小屋屋主
2021/12/29
1K0
Python使用元类约束派生类中必须实现指定的成员

相似问题

重写派生类中属性的特性

15

重写派生类中的NotMapped属性

10

使用派生类重写属性。

41

重写派生类中的公共属性

41

重写派生类中的设计器属性

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档