↑↑↑點擊上方藍字,回覆資料,10個G的驚喜
來源:數據派THU,編輯:黃繼彥
本文約3500字,建議閱讀9分鐘
本文介紹了一些關於機器學習和線性組合的部分問題以及緩解該問題的方法。
-
機器學習中的許多問題應該被視爲多目標問題,但目前並非如此; -
「1」中的問題導致這些機器學習算法的超參數難以調整; -
檢測這些問題何時發生幾乎是不可能的,因此很難解決這些問題。
def loss(θ):return loss_1(θ) + loss_2(θ)loss_derivative = grad(loss)for gradient_step in range(200): gradient = loss_derivative(θ) θ = θ - 0.02 * gradient
def loss(θ, α):return loss_1(θ) + α*loss_2(θ)loss_derivative = grad(loss)for gradient_step in range(200): gradient = loss_derivative(θ, α=0.5) θ = θ - 0.02 * gradient
第一,即使沒有引入超參數來權衡損失,說梯度下降試圖在反作用力之間保持平衡也是不正確的。根據模型可實現的解,可以完全忽略其中一種損失,而將注意力放在另一種損失上,反之亦然,這取決於初始化模型的位置;
第二,即使引入了超參數,也將在嘗試後的基礎上調整此超參數。研究中往往是運行一個完整的優化過程,然後確定是否滿意,再對超參數進行微調。重複此優化循環,直到對性能滿意爲止。這是一種費時費力的方法,通常涉及多次運行梯度下降的迭代;
第三,超參數不能針對所有的最優情況進行調整。無論進行多少調整和微調,你都不會找到可能感興趣的中間方案。這不是因爲它們不存在,它們一定存在,只是因爲選擇了一種糟糕的組合損失方法;
第四,必須強調的是,對於實際應用,帕累託前沿面是否爲凸面以及因此這些損失權重是否可調始終是未知的。它們是否是好的超參數,取決於模型的參數化方式及其影響帕累託曲線的方式。但是,對於任何實際應用,都無法可視化或分析帕累託曲線。可視化比原始的優化問題要困難得多。因此出現問題並不會引起注意;
最後,如果你真的想使用這些線性權重來進行權衡,則需要明確證明整個帕累託曲線對於正在使用的特定模型是凸的。因此,使用相對於模型輸出而言凸的損失不足以避免問題。如果參數化空間很大(如果優化涉及神經網絡內部的權重,則情況總是如此),你可能會忘記嘗試這種證明。需要強調的是,基於某些中間潛勢(intermediate latent),顯示這些損失的帕累託曲線的凸度不足以表明你具有可調參數。凸度實際上需要取決於參數空間以及可實現解決方案的帕累託前沿面。
推薦閱讀
(點擊標題可跳轉閱讀)
老鐵,三連支持一下,好嗎?↓↓↓
本文分享自微信公衆號 - 機器學習算法與Python實戰(tjxj666)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。