邏輯斯蒂回歸能否解決非線性分類問題?
邏輯斯蒂回歸提出時用來解決線型分類問題,其分離面是一個線型超平面wx+b,如果將這個超平面改成非線性的,如x1^2+x2=0之類的非線性超平面來進行分類,是否也可以正確分類呢,如果像SVM一樣加入核擴展到高維是否也可行呢?
可以,只要使用kernel trick。
不過,通常使用的kernel都是隱式的,也就是找不到顯式地把數據從低維映射到高維的函數,而只能計算高維空間中數據點的內積。在這種情況下,logistic regression模型就不能再表示成的形式(primal form),而只能表示成的形式(dual form)。忽略那個的話,primal form的模型的參數只有,只需要一個數據點那麼多的存儲量;而dual form的模型不僅要存儲各個,還要存儲訓練數據本身,這個存儲量就大了。
SVM也是具有上面兩種形式的。不過,與logistic regression相比,它的dual form是稀疏的——只有支持向量的才非零,才需要存儲相應的。所以,在非線性可分的情況下,SVM用得更多。
可以呀,用Kernel。
謝邀。
邏輯回歸的模型引入了sigmoid函數映射,是非線性模型,但本質上又是一個線性回歸模型,因為除去sigmoid映射函數關係,其他的步驟,演算法都是線性回歸的。可以說,邏輯回歸,都是以線性回歸為理論支持的。這裡講到的線性,是說模型關於係數一定是線性形式的
加入sigmoid映射後,變成:如果分類平面本身就是線性的,那麼邏輯回歸關於特徵變數x,以及關於係數都是線性的
如果分類平面是非線性的,例如題主提到的,那麼邏輯斯蒂回歸關於變數x是非線性的,但是關於參數仍然是線性的
這裡,我們做了一個關於變數x的變換:其他非線性超平面一樣的道理,我們可以通過變數的變化,最終一定可以化成形如
的東西,我們把z看做的變數,就是個線性模型。剩下的工作,無非是去構造映射關係題主提到了SVM,區別是,SVM如果不用核函數,也得像邏輯回歸一樣,在映射後的高維空間顯示的定義非線性映射函數,而引入了核函數之後,可以在低維空間做完點積計算後,映射到高維
綜上,邏輯回歸本質上是線性回歸模型,關於係數是線性函數,分離平面無論是線性還是非線性的,邏輯回歸其實都可以進行分類。對於非線性的,需要自己去定義一個非線性映射。只用原始特徵 不能對特徵做非線性變換 比如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:機器學習 |