標籤:

邏輯斯蒂回歸能否解決非線性分類問題?

邏輯斯蒂回歸提出時用來解決線型分類問題,其分離面是一個線型超平面wx+b,如果將這個超平面改成非線性的,如x1^2+x2=0之類的非線性超平面來進行分類,是否也可以正確分類呢,如果像SVM一樣加入核擴展到高維是否也可行呢?


可以,只要使用kernel trick。

不過,通常使用的kernel都是隱式的,也就是找不到顯式地把數據從低維映射到高維的函數,而只能計算高維空間中數據點的內積。在這種情況下,logistic regression模型就不能再表示成w^Tx+b的形式(primal form),而只能表示成sum_i a_i langle x_i,x 
angle +b的形式(dual form)。忽略那個b的話,primal form的模型的參數只有w,只需要一個數據點那麼多的存儲量;而dual form的模型不僅要存儲各個a_i,還要存儲訓練數據x_i本身,這個存儲量就大了。

SVM也是具有上面兩種形式的。不過,與logistic regression相比,它的dual form是稀疏的——只有支持向量的a_i才非零,才需要存儲相應的x_i。所以,在非線性可分的情況下,SVM用得更多。


可以呀,用Kernel。


謝邀。

邏輯回歸的模型引入了sigmoid函數映射,是非線性模型,但本質上又是一個線性回歸模型,因為除去sigmoid映射函數關係,其他的步驟,演算法都是線性回歸的。可以說,邏輯回歸,都是以線性回歸為理論支持的。

這裡講到的線性,是說模型關於係數	heta一定是線性形式的

z=	heta^Tx=	heta_0x_0+	heta_1x_1+...+	heta_nx_n

加入sigmoid映射後,變成:

h_	heta(x)=g(z)=g(	heta^Tx)=frac{1}{1+e^{-z}} =frac{1}{1+e^{-	heta^Tx}}

如果分類平面本身就是線性的,那麼邏輯回歸關於特徵變數x,以及關於係數	heta都是線性的

如果分類平面是非線性的,例如題主提到的x_{1}^{2} +x_2=0,那麼邏輯斯蒂回歸關於變數x是非線性的,但是關於參數	heta仍然是線性的

z=	heta^Tx

這裡,我們做了一個關於變數x的變換:x_0

其他非線性超平面一樣的道理,我們可以通過變數的變化,最終一定可以化成形如

z=	heta^Tx『=	heta_0x_0的東西,我們把z看做	heta的變數,就是個線性模型。剩下的工作,無非是去構造映射關係x_0

題主提到了SVM,區別是,SVM如果不用核函數,也得像邏輯回歸一樣,在映射後的高維空間顯示的定義非線性映射函數phi,而引入了核函數之後,可以在低維空間做完點積計算後,映射到高維

綜上,邏輯回歸本質上是線性回歸模型,關於係數是線性函數,分離平面無論是線性還是非線性的,邏輯回歸其實都可以進行分類。對於非線性的,需要自己去定義一個非線性映射。


只用原始特徵 不能

對特徵做非線性變換 比如kernel 當然可以 但那就不是lr了 或者一個神經網路 最後一層看成是lr 前面看成是提特徵

lr的應用場景主要是特徵很多的情況下 比如特徵是上億維的一些場景


把特徵離散化,然後做組合特徵,可以實現一定程度的非線性


自己組合特徵唄,廣義線性模型是說不會自動去組合特徵,模型是死的,人是活的啊,你自己根據業務特點,處理一下唄,完全無腦化了還要你幹啥啊……


當然可以,可以使用kernel進行變數轉換,然後再去擬合lr

但是和svm是不一樣的,svm使用kernel不容易過擬合,而lr更容易過擬合。因為在lr裡面vc dimension是隨變數數線性增長的,而在svm中vc dimension隨變數數對數級增長


說句題外的,很多數據沒有我們想像的那麼複雜

比如手寫數字識別。我以前一直覺得這種問題要解決應該至少會用人工特徵提取(做做sift啥的)或者神經網路或者kernel machines或者最近鄰這些表達能力比較強的方法。後來發現用邏輯斯蒂回歸直接硬搞也能把錯誤率控制到7.5%左右

在mnist數據集上。輸入就是784個像素點灰度值。然後線性的方法分對了92%。想想感覺挺有意思的。


推薦閱讀:

為什麼深度學習對訓練樣本的數量要求較高?

TAG:機器學習 |