這是上一篇W&D留下的一個坑,填一下吧。
先從FTRL要解決的邏輯回歸簡單說起,邏輯回歸的損失函數(shù)是logloss(公式就不列了),那為什么搞這么個loss而不搞熟悉親切的mse呢:
https://zhuanlan.zhihu.com/p/420239963 因為兩點1.損失函數(shù)的二階導(dǎo)不恒大于0,所以是個非凸函數(shù);2.根據(jù)公式推導(dǎo),如果預(yù)測值靠近0或1梯度就接近0了,無法更新梯度;3.這個鏈接里還說對反例的懲罰不夠,確實哦相比logloss靠近0就是負無窮這個的懲罰確實不太夠
那在logloss的基礎(chǔ)上要怎么去更新參數(shù)呢,比較熟悉的應(yīng)該是梯度下降,但是在做在線學(xué)習(xí)(來一個樣本更新一次參數(shù))的時候梯度下降會有個對帶L1正則的損失函數(shù)求解但是稀疏性不夠的問題(本身帶L1就是為了稀疏性,但是因為是浮點運算,所以還是會稀疏性不夠)
然后就因為這個稀疏性問題,有了FOBOS、RDA這些算法(講道理這些我也沒看),但是FOBOS的特點是精度更好,RDA是稀疏性更好,兩者結(jié)合起來就是FTRL,這篇文章寫得比較全面:https://zhuanlan.zhihu.com/p/61724627,就先放這了...
