1.有監督學習的損失函數
問題1:有監督學習涉及的損失函數有哪些?請列舉並簡述他們的特點。
答:1.二分類問題,Y={1,-1}
(1)0-1損失,非凸,非光滑,算法很難優化
,
,當P爲真時取值爲1,否則爲0.
(2)Hinge,凸上界,在fy=1出不可導
,
(3)Logistic,凸上界,處處光滑,可以使用梯度下降,因爲對所有樣本點都有所懲罰,所以對異常點更敏感
(4)Cross Entropy,光滑凸上界
2.迴歸問題
(1)平方損失函數,光滑,可以使用梯度下降。當預測值與真實值差距大,懲罰力度越大。對異常點較爲敏感
(2)絕對損失函數,在f=y處無法求導。
(3)Huber,在|f-y|較小的時候爲平方損失,在|f-y|較大時爲線性損失,處處可導,且對異常點魯棒
2.機器學習中的優化問題
問題1:機器學習中的優化問題,那些是凸優化問題,哪些是非凸優化問題?
答:凸函數:函數L是凸函數當且僅當對定義域中的任意兩點x,y和任意實數總有
凸優化:邏輯回顧、支持向量機、線性迴歸等線性模型。
非凸優化:低秩模型、深度神經網絡、主成分分析
3.經典優化算法
問題1:無約束優化問題的優化方法有哪些?
答:直接法和迭代法
直接法,就是直接給出優化問題最優解的方法。需要目標函數滿足兩個條件,1,L是凸函數。梯度爲0有解。
迭代法,就是迭代的修正對最優解的估計。分爲一階法和二階法。
假設當前對最優解的估計值爲,那麼最優化問題就是
那麼對L做一階泰勒展開,得到
,就是梯度下降法
對L二階泰勒展開,得到
,就是牛頓法
牛頓法快於一階法,但是高維情況下,矩陣計算複雜度很大。而且當目標是非凸時,二階法很有可能收斂到鞍點。
4.梯度驗證
問題1:如何驗證求目標函數梯度功能的正確性?
,利用泰勒展開來計算近似誤差。
對泰勒展開,
當h充分小的時候,q、p都接近0,可以認爲h前的係數是常數M,因此近似式的誤差爲
如果對於某個下表i,該不等式不成立,則有兩種可能
(1)該下標對應M過大
(2)該梯度分量計算不正確
5.隨機梯度下降法
問題1:當訓練數據量特別大時,經典的梯度下降發存在什麼問題,需要做如何改進?
答:隨機梯度下降法:用單個訓練樣本的損失來近似平均損失
小批量梯度下降法:爲了降低隨機梯度的方差,從而使得迭代算法更穩定,同時處理若干個訓練數據,假設需要同時處理m個訓練數據
(1)如何選取參數m?
答:在不同的應用中,最優m通常不一樣,需要調參選取。一般選擇2的倍數,例如32、64、128、256
(2)如何挑選m個訓練數據?
答:先對數據隨機排序,然後按順序挑選m個
(3)如何選取學習率?
答:通常採用衰減學習速率的方法,一開始較大,然後減小
6.隨機梯度下降法的加速
問題1:隨機梯度下降法失效的原因——摸着石頭下山
答:隨機梯度下降每次僅僅隨機採樣一個樣本來估計當前梯度,計算速度快,內存小。但是每步接受的信息有限,造成目標函數曲線收斂的很不穩定,伴有劇烈波動。
問題2:解決之道——慣性保持和環境感知
答:
(1)動量方法
前進步伐 有兩部分組成 ,一個是學習速率乘以梯度
,而是帶衰減速率的錢一次步伐
(2)AdaGrad 方法
(3)Adam方法
7.L1正則化與稀疏性
問題1:L1正則化使得模型參數具有稀疏性的原理是什麼?
答:在二維的情況下,黃色的部分是L2和L1正則項約束後的解空間,綠色的等高線是凸優化問題中目標函數的等高線,L2正則項約束後的解空間是圓形,而L1正則項約束的解空間是多邊形。顯然,多邊形的解空間更容易在尖角處與等高線碰撞出稀疏解。