線性模型

1县爬、線性回歸

線性回歸應該是形式最簡單的機器學習方法了矩桂,但簡單并不代表無用委乌,實際上我以前學習統(tǒng)計課程的時候床牧,很大篇幅都在線性模型上,一來是因為很多情形下線性模型已經(jīng)足夠用且可解釋性良好福澡,二來通過非線性函數(shù)映射的方法我們很容易將線性模型推廣至“廣義線性模型”叠赦。

由于在編程實現(xiàn)的時候,用矩陣和向量進行運算具有講好的并行性革砸,可以提升算法效率除秀,因此一般我們把模型表示成矩陣和向量的形式:

上述解最小二乘法的過程并不復雜,需要注意的點是這里的公式解建立在X^TX滿秩的基礎上算利,若不滿秩册踩,則可能的解有多個,這時候有兩種解決方法效拭,要么把可能解都試一下暂吉,選一個最好的,要么通過某種方法使解唯一缎患。這兩種方法看似不同慕的,其實本質上是一樣的,都是要選定某種標準找到可能解中較好的那個挤渔,就好像我們給申報獎學金的同學排名肮街,首先看績點,如果最后兩個同學績點相同判导,那我們就選擇綜測分數(shù)高的嫉父,我們現(xiàn)在做的事就是在兩個模型均方誤差相同的情況下再設置一個評價標準沛硅,使得我們找到唯一的最優(yōu)解。這里西瓜書上說常用的方法是添加正則項绕辖。加L2正則項的線性回歸也稱為Ridge Regression:

這里再回顧一下我之前在課上學過的最小二乘的幾何理解:

這里的黃色平面就是我們選定的特征的張成空間摇肌,所有特征的線性組合都在這個張成空間中,為了更好的擬合y围小,我們只需要找到張成空間中和y差距最小的向量,當這個最小的差距定義為y到張成空間的垂直距離時吩抓,我們就找到了張成空間中和y差距最小的向量赴恨,即y在張成空間上的投影,這和我們最小二乘法的解是一致的伦连。

2钳垮、Logistic Regression(對數(shù)幾率回歸)

Logistic Regressio被稱為對數(shù)幾率回歸我是第一次見,在此之前我一直叫它邏輯回歸饺窿,無所謂啦,怕混淆寫英文就好绢馍。這個Logistic Regression 雖然名字叫回歸肠套,卻是不折不扣的分類方法舰涌。

經(jīng)典的分類方法(也是神經(jīng)網(wǎng)絡的爸爸)感知機(perceptron)是通過一個sign函數(shù)對模型進行歸類的:

也就是說我們最終得到的就是分類結果0/1。有沒有一種方法讓我們不僅能看到分類結果你稚,還能看到我們預測的樣本屬于某個種類的概率大小呢瓷耙?這在現(xiàn)實生活中其實很常見,比如醫(yī)生告知病人患病概率70%刁赖,親子鑒定結果吻合概率為99.99%搁痛,這都是在聲明樣本屬于某個種類的概率大小。直接的想法就是把sign函數(shù)里的線性表達式的值拿出來宇弛,“負的越多”代表這個點為0類的可能性越大鸡典,同理“正的越多”代表這個點為1類的可能性越大。接下來我們只需要把這些數(shù)值歸到0~1區(qū)間就可以代表概率了涯肩。

Logistic Regression就是這樣一種“軟分類”方法轿钠,它通過一個logistic function把我們的線性表達式的值映射到了0~1區(qū)間上:

接下來是模型的求解巢钓,西瓜書上寫的比較清楚,這里加上對公式3.27的推導(https://datawhalechina.github.io/pumpkin-book/#/chapter3/chapter3

其實這部分推導細節(jié)并不是我關注的重點疗垛,我注意到的是這里用的極大似然法(MLE)的使用症汹,MLE是頻率學派的經(jīng)典方法,一般和貝葉斯學派的貝葉斯估計放在一起比較贷腕,兩者的差異在于背镇,MLE假定模型服從某種分布,分布的參數(shù)是一個未知的固定值泽裳,我們通過極大化likelihood來確定一組參數(shù)瞒斩,使得產生當前樣本的可能性最大。而貝葉斯估計則把參數(shù)看作是隨機變量涮总,然后通過計算后驗概率找到參數(shù)最有可能的值胸囱。而這里作者似乎融合了兩種方法,用后驗概率去做了MLE瀑梗,這是比較有意思的地方烹笔。

3抛丽、線性判別分析(LDA)

LDA是一個非常經(jīng)典的統(tǒng)計學方法允蜈,由Fisher在1936年提出饶套。LDA的思想非常簡單凤跑,西瓜書上總結的很好:給定訓練集仔引,設法將樣本點投影到一條直線上咖耘,使得同類樣本投影點盡可能接近儿倒,不同類樣本投影點盡可能遠離

這里需要注意的是協(xié)方差的理解。曾經(jīng)我還年少輕狂地在班里的公眾號上發(fā)過一篇長文凰慈,講解方差和協(xié)方差森篷,現(xiàn)在翻出來看豺型,真是羞恥滿滿……當然其中有些內容對于復習協(xié)方差的概念還是有幫助的姻氨。下圖引自whuber的回答:

首先岩馍,我們把觀測值寫成點坐標(x抖韩,y)的形式,并在坐標系中描出壳咕。

然后谓厘,我們考慮這些點所有的兩兩組合竟稳,對每個點對他爸,如果一個點在其中一個點左下方(也就是兩坐標值都小于另一點)诊笤,那么我們畫出包含這兩個點的最小矩形(也就是以這兩個點為頂點的矩形)并涂成紅色纪他,如果一個點在另一個點的右下方,重復以上操作馆类,并把矩形涂成藍色乾巧。

涂色的意義是什么呢沟于?我們令紅色表示“正”旷太,藍色表示“負”,如果某個區(qū)域被涂了多次顏色冻记,那么會改變顏色的深淺冗栗,規(guī)定如下:

(1) 如果一個區(qū)域被涂了相等次數(shù)的紅色和藍色則區(qū)域為白色(即未涂色狀態(tài))
(2) 如果一個紅色區(qū)域再涂一次紅色會加深此區(qū)域的“紅色等級”(即顏色更深)
(3) 藍色的規(guī)則與2相同

協(xié)方差就是涂色后紅色區(qū)域減掉藍色區(qū)域的大小钠至。下面是32個點的示例:

這個解釋牛逼的地方除了直觀棉钧,還在于它能解釋幾乎所有協(xié)方差的性質:

(1) 協(xié)方差的大小和x宪卿,y軸的標度成正比(實際上是說協(xié)方差受量綱影響)愧捕。
(2) 協(xié)方差衡量的是線性相關性次绘。這點怎么理解呢邮偎?直線是最忠貞的豁跑,她們沿著一個方向走到世界盡頭艇拍,絕不變心卸夕。而曲線會拈花惹草快集,四處逗留。也就是說院溺,在非線性的情形下覆获,我們不能簡單的通過兩個點的方位來確定矩形的顏色(或者說“正負”)了,比如一條開口向下的拋物線勤婚,它前半段兩坐標同向變化算是“正”馒胆,后半段兩坐標同向變化就算是“負”了,所以我們的協(xié)方差只針對線性相關性器净。
(3) 對異常值的敏感性纠俭。這個很好說了,如果有一個點偏離很大,就會形成若干個巨大的矩形乌妒,直接影響結果
芥被。

至此拴魄,我們就對協(xié)方差的概念有了直觀的理解匹中,回到之前的公式:

從上面對協(xié)方差的解釋我們看到,協(xié)方差矩陣計算的是不同維度之間的協(xié)方差服赎,而不是不同樣本之間的。這點要注意缺厉。

另外我們知道,協(xié)方差矩陣是半正定的辐脖,因此w^T\Sigma w是非負的嗜价,這是理所當然的艇抠,因為樣本點的投影都在一條直線上,它們的協(xié)方差必然是非負的炭剪。

接下來我們看如何求解w
(自https://blog.csdn.net/qq_34553043/article/details/82153896)

上述過程值得注意的地方有兩個练链,一個是拉格朗日乘子法的運用,另一個是注意(u_0-u_1)^T w為標量奴拦,并不會對最終解得的w的方向有影響媒鼓,因此為了簡化可以刪去。

書上還提到错妖,考慮到數(shù)值解的穩(wěn)定性绿鸣,在實踐中通常先對S_w進行奇異值分解擎厢,即S_w=U\Sigma V^T厘惦,然后由S_w^{-1}=V\Sigma^{-1} U^T求逆。

對SVD理解一般浓若,這里特地學習一下倚评,記錄于http://www.reibang.com/p/8c7dac32620f

接下來是LDA在多分類任務當中的應用了呢岗,總體思路和二分類相同,重要的是理解為什么LDA可以有效降維。以下截自https://blog.csdn.net/hohaizx/article/details/78165786

這里有兩個地方需要注意:

一是W矩陣的構成翘悉,我們看到制市,W各列是我們希望投至的超平面的各維的基向量,以之前的二維情形舉例,實際上W只包含一列帜羊,就是我們要投至的直線的基向量卖宠。西瓜書上取的W的列數(shù)是類別數(shù)減1,然后最后解得的W的秩r將不超過類別數(shù)減1渔肩,從而遠小于數(shù)據(jù)的原有屬性數(shù)(因為通常情況下數(shù)據(jù)的屬性數(shù)要遠大于類別數(shù))

二是對于西瓜書上為什么要用矩陣的跡的解釋——矩陣的跡等于矩陣特征值之和蛉艾,而我們在特征值分解中學過吴藻,矩陣特征值是沿對應的特征向量的數(shù)據(jù)的方差,所以這里的跡衡量了投影后的點在各坐標軸(即特征向量)方向上的方差大小复亏。

4眷茁、多分類學習

很多情況下晤锥,我們基于一些基本策略女轿,利用二分類學習器來解決多分類問題。多分類學習的基本思路是將任務分解成多個二分類問題進行求解。最經(jīng)典的拆分策略有三種:
“一對一”(OvO)“一對其余”(OvR)“多對多”(MvM)

(1)OvO

OvO將N個類別兩兩配對,產生\frac{N(N-1)}{2}個分類任務多矮。在測試階段,新樣本將同時提交給所有分類器吓肋,于是我們得到\frac{N(N-1)}{2}個分類結果,最終結果通過投票法產生——把預測的最多的類別作為最終分類結果。

(2)OvR

OvR每次將一類樣本作為正例充择,其它所有類的樣本作為反例德玫,訓練N個分類器。在測試階段聪铺,若僅有一個分類器預測為正例化焕,則對應類別為最終分類結果,若有多個分類器預測為正類铃剔,則通常考慮各分類器的預測置信度查刻,選擇置信度最大的類別標記作為最終分類結果键兜。

上圖直觀地表示了OvO和OvR的運行過程。

關于OvO和OvR的比較穗泵,值得注意的地方是兩者的訓練開銷普气。直覺上講,OvO的訓練開銷比OvR大佃延,因為它需要訓練的分類器數(shù)目較多现诀,但OvO每個分類器僅用到兩個類別的樣例,而OvR每個分類器均使用全部樣例履肃。因此在類別很多時兩者開銷差不多仔沿。這里我們可以通過簡單的例子說明這一點,假如各個類別數(shù)據(jù)一樣多尺棋,則OvO和OvR訓練用到的總數(shù)據(jù)之比為:\frac{N(N-1)}{2}\times \frac{2}{N}:N \times 1=(N-1):N

(3)MvM

MvM是每次將若干類作為正類封锉,若干其他類作為負類。OvO和OvR都是MvM的特例膘螟。MvM的正負類構造有特殊設計成福,常用的技術為糾錯輸出碼(EOOC)。

EOOC的工作過程分為編碼和解碼兩步:

上圖就是EOOC的工作原理荆残。解碼階段奴艾,各分類器的預測結果聯(lián)合起來形成了測試示例的編碼,該編碼與各類對應的編碼比較内斯,距離最小的編碼對應的類別為預測結果蕴潦。

EOOC的優(yōu)點在于其對分類器有一定的容錯和修正能力。對同等長度的編碼嘿期,理論上說品擎,任意兩個類別編碼的距離越遠,糾錯能力越強备徐。

5萄传、類別不平衡問題

其實所謂的類別不平衡問題,指的是不同類別樣本數(shù)目相差很大。實際上秀菱,按上圖的說法振诬,只要訓練集中正負例數(shù)目不同,就稱為類別不平衡了衍菱。因為通常我們做預測的時候赶么,只要預測樣本屬于正類或負類的概率大于50%,就將樣本預測為此類了脊串。這基于的假設就是正負類樣本相同辫呻。

當我們沒有分類器的時候,我們可以統(tǒng)計出訓練集中正負樣本所占的比例琼锋。比如正例60%放闺,負例40%,那么此時我任意抽取一個樣本點缕坎,都可以說這個樣本點屬于正例的概率為60%怖侦,屬于負例的概率為40%。因此分類器做出的預測至少要比沒有分類器的時候更有把握谜叹,所謂更有把握匾寝,就是當我意抽取一個樣本點,我的分類器可以判斷出這個樣本點屬于正例的概率大于60%荷腊,比如80%艳悔,這就說明我的分類器確實學到了一些關于數(shù)據(jù)的特征,能做出更有把握的預測了停局。

這里所謂的再縮放(再平衡)策略其實就是把(3.47)右邊的式子移到左邊了很钓,從而得到的新的指標和1比較即可。

這里西瓜書上提出董栽,再縮放的思想很簡單码倦,但以上操作基于一個假設:我們能夠基于訓練集觀測到的幾率推測真實幾率,這要求我們的訓練集是總體的無偏采樣锭碳,這一點通常很難做到袁稽。不過當我們的訓練集足夠大的時候,我們可以由Hoeffding's Inequality得到觀測幾率和真實幾率在很大的概率下相差不大擒抛。

但當訓練集不夠大的時候推汽,我們就需要采取一定的措施。假設現(xiàn)在訓練集中正例較少歧沪,負例較多歹撒。

(1)欠采樣。即去除一些負例使得正負例數(shù)目相當诊胞。這是最簡單粗暴的方法了暖夭,優(yōu)點是訓練開銷小,缺點則是損失了一部分本可以用來訓練的數(shù)據(jù)。不過集成學習機制可以解決這個問題迈着,例如將反例劃分為幾個不同的集合供不同的學習器使用竭望,然后把各學習器集成起來,這樣在全局看來不會損失重要信息裕菠。

(2)過采樣咬清。即增加一些正例使得正負例數(shù)目相當。這里需要注意的是奴潘,增加的正例不能從已有的正例中直接選取旧烧,否則會出現(xiàn)過擬合,通常采用對已有正例插值的方式產生額外正例萤彩。

(3)直接基于原始訓練集學習粪滤,并用再縮放對決策進行修正。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末雀扶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肆汹,更是在濱河造成了極大的恐慌愚墓,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昂勉,死亡現(xiàn)場離奇詭異浪册,居然都是意外死亡,警方通過查閱死者的電腦和手機岗照,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門村象,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人攒至,你說我怎么就攤上這事厚者。” “怎么了迫吐?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵库菲,是天一觀的道長。 經(jīng)常有香客問我志膀,道長熙宇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任溉浙,我火速辦了婚禮烫止,結果婚禮上,老公的妹妹穿的比我還像新娘戳稽。我一直安慰自己馆蠕,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荆几,像睡著了一般吓妆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吨铸,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天行拢,我揣著相機與錄音,去河邊找鬼诞吱。 笑死舟奠,一個胖子當著我的面吹牛,可吹牛的內容都是我干的房维。 我是一名探鬼主播沼瘫,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咙俩!你這毒婦竟也來了耿戚?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤阿趁,失蹤者是張志新(化名)和其女友劉穎膜蛔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脖阵,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡皂股,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了命黔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呜呐。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖悍募,靈堂內的尸體忽然破棺而出蘑辑,到底是詐尸還是另有隱情,我是刑警寧澤搜立,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布以躯,位于F島的核電站,受9級特大地震影響啄踊,放射性物質發(fā)生泄漏忧设。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一颠通、第九天 我趴在偏房一處隱蔽的房頂上張望址晕。 院中可真熱鬧,春花似錦顿锰、人聲如沸谨垃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刘陶。三九已至胳赌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匙隔,已是汗流浹背疑苫。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留纷责,地道東北人捍掺。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像再膳,于是被迫代替她去往敵國和親挺勿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容