題主最近學習機器學習,對很多概念還不是特別了解,望見諒。題主專業環境科學,最近需要用機器學習演算法對遙感監測的機動車尾氣排放做優化,希望能夠在知乎學習到一些東西,謝謝大家。

第一次知乎提問,不太會用。補充一下題目吧,比如說我想通過機器學習的演算法同時預測機動車尾氣排放濃度(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


可以吧,演算法可以不斷精確數據


推薦閱讀:
相关文章