题主最近学习机器学习,对很多概念还不是特别了解,望见谅。题主专业环境科学,最近需要用机器学习演算法对遥感监测的机动车尾气排放做优化,希望能够在知乎学习到一些东西,谢谢大家。

第一次知乎提问,不太会用。补充一下题目吧,比如说我想通过机器学习的演算法同时预测机动车尾气排放浓度(co,hc,nox),可以实现吗?


演算法的结构上来说,肯定是可以的。多输入多输出结构是最容易想到的一个问题,这已经有很多的解决办法,比如神经网路天然的支持多输出。哪怕是最简单的线性回归,你也可以做多元回回归。甚至你还可以考虑序列模型。

题主应该关注的难点是,你的输入特征能够解释你的三个输出吗?你的三个输出是否有联动性、相关性和内生影响。这是决定了你的模型最终能不能准的一个关键问题。


神经网路肯定可以,复现过,3层简单mlp也算传统机器学习的我觉得,连续多维度y和离散多维度y都可以预测的

有时间仔细答一下

ok,我想起来了,你去了解下自编码吧,本质就是预测多维度的target(原始x)为了压缩输入数据的维度。


其实相对多个值进行预测很简单。

如果多个值之间是独立的,最简单的就是,训练三个模型就可以啦,分别预测。这种方法包括了用一个神经网路,因为输出层其实相当于分别三个模型,只不过是同一个特征映射。

如果多个值之间具有偏序关系,并且想利用模型表达这种依赖关系,那么可以参考RNN的思想,按偏序关系将上一次的输出作为输入的一部分输入到模型中,具体的做法有很多种,比如seq2seq这种,或是对训练集做变换(x,y1,y2,y3)变成(x:0,y1)(x:y1,y2)(x:y2,y3)。(后面这种想法是我随便yy的,没有理论保证,感觉可能可以,模仿的RNN的思路)


理论上肯定是可行的,只要设置对应的目标值或标签即可


你说的不过是多元回归的问题,很常见的。


最简单的多输入多输出回归就可以做到,Multiple Input - Multiple Output 模型,具体使用方法可以自行研究。其实这一类不算模型,而是传统机器学习方法基础上的加工而已,sklearn已经封装了。


建议题主仔细搞清楚统计机器学习中的分类问题、回归问题、标注问题、多任务问题的概念。


当然是可以的,比如可以看一下AlphaGo Zero/Alphazero 的做法,这个网路需要同时预测当前方获胜概率 [公式] 和下一步落子概率分布 [公式] ,做的非常容易,直接选择在网路的某个位置放置一个多头网路(multi-Head)分别训练各头就行了, 在loss function的设计的时候把那几个loss 加起来再做regularization就行。

传统机器学习的话,如果(co, hc, nox)之间没有什么关联那分别训练机器学习模型即可,如果确实存在较大关联的话可能要考虑下structured learning, 比如概率图模型PGM,然后去做training 和 inference, 当然像RNN什么的也可以考虑,因为RNN/seq2seq这些东西本身也是一种structured learning的方式。


看你的描述,应该是多个变数,而不是多个值。

这肯定可以的


可以关注一下Structured Learning


可以吧,演算法可以不断精确数据


推荐阅读:
相关文章