背景:一直想要梳理一下本身對廣義線性模型的認識及思考,全部就有了這篇隨筆。html
前提:算法
一、首先明確,介紹模型會按照模型的三要素來展開,即模型(模型的參數空間),策略(如何選擇最優模型,通常指代價函數/損失函數),算法(模型學習參數的方法,包括最優化方法等)網絡
二、由於介紹的模型都是線性模型及其演化,有個概念必需要介紹機器學習
超平面:N維空間的N-1維子空間,好比當N=2時,超平面就是二維空間中的一條線函數
1、線性迴歸學習
該算法主要擬合一個線性超平面,用於迴歸任務(預測值爲連續值)。舉個例子,房價預測任務,若是隻考慮房屋面積,則訓練出的超平面及爲二維空間關於面積和房價的直線。優化
模型:spa
若樣本用d維特徵來表示,則有.net
使用向量的形式表示爲3d
則模型的參數空間爲w及b
策略:
最小化均方偏差
算法:
這裏有兩種方法,
一種方法是算出參數的表達式,直接求解(該方法通常不使用,緣由隨着特徵或者樣本數量增加,計算的時間複雜度指數級增長),以下
另外一種方法是最優化理論中的迭代方法,最經常使用的是梯度降低法,參數經過加上負梯度進行更新,
求梯度
使用梯度對參數進行更新(這裏使用的是批梯度降低算法)
問題:當目標變量與特徵之間爲非線性關係,咱們又該怎樣去擬合呢
2、多項式迴歸
思路以下圖所示
模型總體和線性迴歸類似,因此這裏不展開討論
問題:線性迴歸能夠解決迴歸問題,那針對分類問題,咱們應該怎樣用線性模型去解決呢?
3、感知機
線性迴歸在N維空間中找到了線性超平面去擬合數據,同時,該線性超平面也把特徵空間劃分紅了兩份,據此,咱們能夠思考,這個超平面能夠拿來進行分類嗎?固然能夠,感知機就是這樣作的。
模型:
咱們能夠看到,感知機就是使用sign函數對線性迴歸結果映射到了{-1,1}
策略:
算法:
問題:感知機能夠用於分類,且可以輸出預測樣本對應的類別,但清楚感知機原理的咱們知道,雖然有可能N個樣本都被預測爲A類,但實際他們屬於A類的可能性是不一樣的,具體表如今有的樣本點在特徵空間中距離分類超平面比較近,有的則比較遠;鑑於此,咱們能不能輸出某樣本屬於A類別的機率呢?
4、邏輯迴歸(logistics regression)
模型:
感知機使用線性迴歸模型做爲分類超平面,將線性迴歸結果映射到{-1,1}的離散集合上
其中紅框的值域爲負無窮到正無窮,那咱們能不能使用一個函數將其映射到[0,1]呢。邏輯迴歸即是選擇了sigmoid函數進行映射,
該函數既能夠實現區間映射,又具備單調可微的特性(方便使用迭代的最優化方法計算模型參數)
另外,對於「邏輯迴歸」的名字,不少人以爲這是個「假名」,「誤導人」,認爲它明明是分類算法卻叫作「迴歸」
其實,他還真的和名字所述,是對「對數」進行了「迴歸」
上一個公式能夠變化爲
定義y/1-y爲事件發生的「概率」,則邏輯迴歸的是指是對概率的對數進行迴歸擬合。
策略:
採用極大似然估計
算法:
因爲目標函數連續可導,根據凸優化理論,能夠經過一階法(梯度降低等)或二階法(牛頓法)等進行參數迭代計算
問題:對於分類任務,感知機和邏輯迴歸都只能處理線性可分的任務,那如何才能處理線性不可分的任務呢?並且按照以前支持向量機迭代求解分類超平面的方式,咱們只是在衆多的符合條件的分類超平面中選擇了一個,那可否選擇一個相對更好一些的分類超平面呢?
5、支持向量機(SVM)
支持向量機經過如下思路解決了上述問題:
(1)針對分類超平面的選擇問題,SVM採用最大間隔的方法,使超平面距離兩側不一樣類別的點儘量地遠
(2)針對在當前維度的特徵空間下線性不可分的問題,咱們對其進行維度擴張,在更高的維度對其進行線性劃分。在當前維度線性不可分不表明在更高維度線性不可分。舉個例子,演員拍攝吻戲常常採用錯位的方式,在鏡頭所能看到的二維平面中,找不到一條直線將他們的嘴分割開來,但考慮三維空間,在一個現場工做人員看來,有大量的可選平面將他們兩人的嘴分開。再好比下圖中的異或問題
接下來又有另外一個問題,咱們已經用高維向量計算表示出了最大分類間隔,那怎樣去表示具體的高維向量呢,考慮到維度可能會很高,計算複雜度可能會很大,咱們能夠採用核函數來進行等價計算
支持向量機的核心就是以上兩點,更多細節能夠看一下其餘的博客或書籍,篇幅緣由再也不展開
問題:除了SVM以外,還有其餘方法能夠解決線性不可分問題嗎?
6、神經網絡
神經網絡經過特徵之間的組合(多層),不只可以解決線性不可分問題,還可以保留數據的時空結構(有位置關係的圖像數據和有時間前後關係的天然語言),再該類數據集上表現出強大的應用能力。
總之,當前kaggle上表現最好的兩類算法,梯度提高算法更加適合於表格類型結構的數據,須要進行特徵工程,對少許樣本也能學習到較好的模型;神經網絡更加適合有時空結構的數據,不須要複雜的特徵工程,是端對端的學習,但須要大量的訓練數據做爲支撐。
我的認爲神經網絡的強悍之處在於對時空數據的保留與學習能力+無處不在的特徵組合。
神經網絡具體內容略多,不展開啦,本文重點梳理思路。
參考:
https://www.cnblogs.com/huangyc/p/9706575.html
https://blog.csdn.net/qq_36523839/article/details/82924804
李航-統計學習方法
周志華-機器學習