【面試複習系列】常用機器學習演算法知識點及其解析,面試官會考的幾乎都有,歡迎補充
sigmoid函式的作用就是用於把輸出歸一到1和0,也就是把自變數的線性組合進行歸一化,對映後的值被認為是屬於y=1的概率。 所以對於一個普通的高斯樣本需要證明sigmoid複合其概率密度規律。
- 引入sigmoid函式以刻畫y屬於某個類的概率
如果
由上式進一步可以得到:
就獲得sigmoid函式:- 求二分類通用的log-loss函式(只要帶入任意y=g(x)函式就可以求出對應log-loss函式)
- P(y=1|x)=g(x)
- P(y=0|x)=1-g(x)
- 優化求最小值
牛頓法指出,求使f(θ)=0的θ,只需要一開始先固定一個θ,比如說θ=0,然後輸入其他值使得 θ(t+1)= θt-Δθt 其中一維的情況,Δθ=f '(θt)/f(θt)(多維的情況,Δθ 前面要乘以個hassin矩陣的逆) 所以現在要求使得-l(θ)=0的θ,也就是讓loss等於0 ,那麼就令f(θ)= -l(θ),帶入公式進行求解即可 牛頓法是二階收斂,而梯度下降則為一階收斂,所以牛頓法更快。
- 其他優化方法
- BFGS
- L-BFGS
- 優缺點:無需選擇學習率α,更快,但是更復雜
- 特徵空間非線性的情況
- 正則化
L2用於過擬合
-
多分類softmax【類別互斥的時候使用】
error = train_y - output
weights = weights + alpha * train_x.transpose() * error
- 優缺點:
- 實現簡單;
- 分類時計算量非常小,速度很快,儲存資源低;
缺點:
- 容易欠擬合,一般準確度不太高
- 只能處理兩分類問題(在此基礎上衍生出來的softmax可以用於多分類),且必須線性可分;
LWLR線性迴歸:linear regression 就是最小二乘法
線性迴歸才是真正用於迴歸的,而不像logistic迴歸是用於分類,其基本思想是用梯度下降法對最小二乘法形式的誤差函式J進行最小化:
【前面的1/2只是為了求導的時候更簡單而加上的】
當然也可以由已經推匯出的公式直接求得引數的解,對於多變數資料集X,如果XTX是滿秩的,結果為:
多數情況XTX並不是滿秩的正定矩陣,所以會有多個可行解,所以一般會在J中引入正則項以進一步選擇輸出的模型(L1=稀疏的(特徵大於樣本常用),L2=防止過擬合的)。
而其優化演算法為:
由此可見LWLR與LR不同,LWLR是一個非引數模型,因為每次進行迴歸計算都要遍歷訓練樣本至少一次。
線性迴歸優點:
實現簡單,計算簡單;
缺點:
不能擬合非線性資料;
SVM:
- 找到分割兩個樣本“正中間”的超平面,幾何間隔與樣本的誤分次數間存在關係:其中的分母就是樣本到分類間隔距離,分子中的R是所有樣本中的最長向量值
- C表現離群點的重要性(可以理解為權重),越大離群點越重要
- gamma是你選擇徑向基函式作為kernel後,該函式自帶的一個引數。隱含地決定了資料對映到新的特徵空間後的分佈
2.升次 由於求的最大值相當於求的最小值: 所以上述目標函式等價於(w由分母變成分子,從而也有原來的max問題變為min問題,很明顯,兩者問題等價):
因為現在的目標函式是二次的,約束條件是線性的,所以它是一個凸二次規劃問題。在一定的約束條件下可解。
此外,由於這個問題的特殊結構,還可以通過求解與原問題等價的對偶問題得到原始問題的最優解
【通過拉格朗日對偶性變換到對偶變數的優化問題 】
這就是線性可分條件下支援向量機的對偶演算法
【這樣做的優點在於:一者對偶問題往往更容易求解;二者可以自然的引入核函式,進而推廣到非線性分類問題。 】
3.採用拉格朗日對偶性轉移到對偶問題
通過給每一個約束條件加上一個拉格朗日乘子,定義拉格朗日函式(即通過拉格朗日函式將約束條件融合到目標函式裡去,從而我們的問題變成):
然後令
【 容易驗證,當某個約束條件不滿足時,例如
,那麼顯然有(只要令即可)。而當所有約束條件都滿足時,則最優值為,亦即最初要最小化的量。】
因此,在要求約束條件得到滿足的情況下最小化,實際上等價於直接最小化(當然,這裡也有約束條件,就是≥0,i=1,…,n),因為如果約束條件沒有得到滿足
會等於無窮大,自然不會是我們所要求的最小值。 具體寫出來,目標函式變成了:4.轉移到對偶問題
如果直接求解,那麼一上來便得面對w和b兩個引數,而又是不等式約束,這個求解過程不好做。不妨把最小和最大的位置交換一下,變成:
這交換以後的新問題是原始問題的對偶問題,這個新問題的最優值用d*來表示。而且有d*≤p*,在滿足某些條件的情況下,這兩者相等,這個時候就可以通過求解對偶問題來間接地求解原始問題。
換言之,之所以從minmax的原始問題p*,轉化為maxmin的對偶問題d*,一者因為d*是p*的近似解,二者,轉化為對偶問題後,更容易求解。
下面可以先求L 對w、b的極小,再求L對α的極大。
5.d*≤p*的條件——KKT條件(使得非線性規劃有最優解的必要條件)
對於一個一般的非線性規劃問題,其中,f(x)是需要最小化的函式,h(x)是等式約束,g(x)是不等式約束,p和q分別為等式約束和不等式約束
然後,有凸優化的概念,凸優化就是找到凸集裡的一個點x,使得凸函式 即是“最大點”“最凸點”KKT條件就是: 所以因為原始問題滿足KKT條件,已經轉化成了對偶問題。而求解這個對偶學習問題,分為3個步驟:首先要讓L(w,b,a) 關於 w 和 b 最小化,然後求對α的極大,最後利用SMO演算法求解對偶問題中的拉格朗日乘子。 6.此對偶問題的求解 首先固定α,讓L關於w和b最小化,就是對w和b的偏導數都等於0: 然帶入得: 然後用SMO演算法求對α的極大: 就可以求出α,然後根據這個求出w和b,終得出分離超平面和分類決策函式 7.線性分類函式 對於一個數據點
但是這樣就會有維度爆炸的問題。而且如果遇到無窮維的情況,就根本無從計算了。所以就需要 Ker