1. 程式人生 > >機器學習面試題之——LR問題集合

機器學習面試題之——LR問題集合

一、LR為什麼是線性模型

Logistic Regression從機率的概念構建線性迴歸模型。一個事件發生的機率(odds)為該事件發生的概率與不發生概率的比值,機率的取值範圍為[0,+∞),其對數的取值範圍為實數域,所以,可以將對數機率作為因變數構建線性迴歸模型: 
  log\frac{p}{1-p}=W^{T}X
由此可得p=\frac{1}{1+exp(-W^{T}X)},即P(y=1|x,w)=p,這便是Logistic Regression採用sigmoid函式的原因,sigmoid函式將自變數的線性組合對映到(0,1),用以表述分類的概率特性。 從sigmoid函式看出,當\theta ^{T}X>0 時,y=1,否則 y=0。\theta ^{T}X=0是模型隱含的分類平面(在高維空間中,我們說是超平面)。所以說邏輯迴歸本質上是一個線性模型.

二、LR如何解決低維不可分

特徵對映:通過特徵變換的方式把低維空間轉換到高維空間,而在低維空間不可分的資料,到高維空間中線性可分的機率會高一些。具體方法:核函式,如:高斯核,多項式核等等。

三、從圖模型角度看LR

LR模型可以看作是CRF模型的低配版,在完全不定義隨機變數互動,只考慮P(Y|X)的情況下,得到的就是LR模型。

最大熵相比LR,可以提取多組特徵(最大熵定義了多個特徵函式),本質上等價的。CRF又是最大熵模型序列化的推廣

本質上,LR和softmax是等價的,而且也可證最大熵和softmax也等價,即可證LR和最大熵的等價性

LR(最大熵模型)統計的是訓練集中的各種資料滿足特徵函式的頻數(conditional);貝葉斯模型統計的是訓練集中的各種資料的頻數;CRF統計的是訓練集中相關資料 (比如說相鄰的詞,不相鄰的詞不統計) 滿足特徵函式的頻數。

PS,最大熵模型和CRF的區別:最大熵模型在每個狀態都有一個概率模型,在每個狀態轉移時都要進行歸一化。如果某個狀態只有一個後續 狀態,那麼該狀態到後續狀態的跳轉概率即為1。這樣,不管輸入為任何內容,它都向該後續狀態跳轉。而CRFs是在所有的狀態上建立一個統一的概率模型,這 樣在進行歸一化時,即使某個狀態只有一個後續狀態,它到該後續狀態的跳轉概率也不會為1,從而解決了“labelbias”問題。因此,從理論上 講,CRFs非常適用於中文的詞性標註。

四、LR的損失函式

五、LR與SVM的區別與聯絡

共同點:

1,LR和SVM都是分類演算法

2,如果不考慮核函式,LR和SVM都是線性分類演算法,即分類決策面都是線性的

3,LR和SVM都是有監督學習演算法

4,LR和SVM都是判別模型

不同點:

1,損失函式的不同,邏輯迴歸採用的是log loss(對數損失函式),svm採用的是hinge loss(合頁損失函式)

2,分類原理的不同,LR基於概率理論,通過極大似然估計的方法估計出引數的值,而SVM基於幾何間隔最大化原理,認為存在最大幾何間隔的分類面為最優分類面,從最大間隔出發,轉化為求對變數w和b的凸二次規劃問題

3,由於分類原理的不同,也導致了LR是所有樣本都有影響,而SVM只是少量樣本有影響的(支援向量),在支援向量外新增樣本點是沒有影響的

4,正因為LR受資料影響較大,所以在資料不同類別時,要先對資料做balancing;同樣的,由於SVM依賴資料表達的距離測度,所以要先對資料做normalization標準化

5,對於線性不可分的情況,SVM的核函式可以幫助將低維不可分的資料轉換到高維,變成線性可分的,而LR很少用到核函式(並不是沒有。。)假設我們在LR裡也運用核函式的原理,那麼每個樣本點都必須參與核計算,這帶來的計算複雜度是相當高的。所以,在具體應用時,LR很少運用核函式機制。​

6,SVM的損失函式就自帶正則(損失函式中的1/2||w||^2項),這就是為什麼SVM是結構風險最小化演算法的原因,而LR必須另外在損失函式上新增正則化

關於LR和SVM的選擇:

1. 如果Feature的數量很大,跟樣本數量差不多,這時候選用LR或者是Linear Kernel的SVM

2. 如果Feature的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gaussian Kernel

3. 如果Feature的數量比較小,而樣本數量很多,需要手工新增一些feature變成第一種情況

參考文獻: