线性与非线性的理解
1.問題的線性非線性
理解的區別:現有的樣本點能否在輸入空間上,用線性超平面區分;
2.模型的線性非線性
基礎數學說,線性指變量之間的數值關系,即滿足成比例。因此,變量之間的多項式、指數等關系都算是非線性。
網上有一批文章認為,ML 模型的線性非線性,指模型參數之間的關系,即決策函數 y=w_1x_1^2 + w_2x_2^2 是線性模型,而 y=w_1^2x_1 + w_2^2x_2 是非線性模型。
我認為這是不對的。
ML 模型的的線性非線性,應該指特征變量之間的關系,即決策函數 y=w_1x_1^2 + w_2x_2^2 是非線性模型,而 y=w_1^2x_1 + w_2^2x_2 是線性模型。
實際上,并不會出現后一種決策函數,貌似沒有哪種模型學到的決策函數會在參數上進行非線性變換,那么這種變換并不會在 loss function 的優化過程中起到作用,最終對學習到的 model 并不會產生影響,因此,后一種模型和 y=w_1x_1 + w_2x_2 并無二致。
2.1 談談 LR、SVM 和 MLP 中的非線性
(1)LR,準確來說應該是廣義線性模型。其決策面仍是線性的 y=w_1x_1 + w_2x_2,只不過在輸出時,套用 sigmoid 函數,得到了分類的置信度。如果從最后的決策函數 f(x) = 1 / (1+exp(w_1x_1 + w_2x_2)) 來看,確實特征變量 x_1 和 x_2 之間由于 sigmoid 函數作用,呈現了非線性關系,但這種非線性并不是直接作用在輸入特征空間的,而是對輸出空間進行的非線性映射。
(2)SVM,有線性和非線性版本。線性SVM,其模型本身就是在尋求一個超平面,只是策略是找到間隔最大的那個超平面。而非線性SVM,雖說在特征空間上仍是分類超平面,但是先采用了核技巧從輸入空間向特征空間進行了非線性映射。
(3)MLP,其嵌套函數的特點就反映了,它的非線性更像 LR ,即從每層來看,輸入并沒有進行 SVM 那樣的非線性特征變換,但在輸出時進行了非線性映射,那么多層重疊,也就實現了特征的非線性交叉。
通過上面分析,就能看出,ML 模型的非線性,指的是特征之間的非線性關系。
2.2 非線性引入的主要思路
這種非線性的引入,目前來看有兩種思路:
(1)一種是對輸入特征進行非線性映射,如 SVM 的輸入空間到特征空間的非線性高維映射;
(2)一種是對輸出結果進行非線性映射,如 LR 的輸出加持 sigmoid。
MLP 的非線性本質同 后一種,但由于多層作用,也相當于組合了兩種思路。
回過頭再來看看,問題的非線性通常需要求助于模型的非線性。但有些模型的非線性程度可能不夠,不足以解決復雜的非線性問題。
MLP 不用擔心,SVM 雖然不知道進行了怎樣的特征映射,但內積回旋的非線性也是很強的,貌似 LR 就差了點。
LR 的非線性并沒有直接對特征進行變換,非線性能力就弱了點。比如,原本距離決策面遠的樣本點,只是相對決策面的絕對距離經 sigmoid 變換被拉到了 0-1 之間,但樣本點們相對決策面的相對距離(順序)并沒有改變,離得遠的樣本點在這種變換后還是遠。
3. 如何提高模型的非線性
主要有以下2種思路:
(1)要么看看對輸出進行非線性映射如何
(2)要么看看能不能再對輸入特征進行了非線性變換
以后一種來說,
(1)進行特征組合,即使是多樣式組合也產生了非線性,sklearn 中的 PolynomialFeature 類就是講原本的 d 維擴展到了 C_(q+d)^d 維
(2)引入核技巧,將低維輸入映射到高維空間,產生非線性
(3)引入新的維度,比如對連續特征離散化,甚至是離散后進行組合
最后一種算是核技巧的本質,核技巧的非線性產生的根由是因為 n 維空間映射到 m>n 維,即增加表征的維度帶來的非線性。
參考文獻
總結
- 上一篇: 3D种类游戏系统开发
- 下一篇: oracle 00600 kccpb,O