1. 程式人生 > >周志華《機器學習》第 3 章 線性模型

周志華《機器學習》第 3 章 線性模型

本文是 周志華《機器學習》系列文章 之一,主要介紹機器學習中線性迴歸演算法概念及原理。

第 3 章 線性模型

3.1 基本形式

線性模型形式簡單、易於建模,但卻蘊含著機器學習中一些重要的基本思想。許多功能更為強大的非線性模型(nonlinear model)可線上性模型的基礎上通過引入層級結構或高維對映而得。並且線性模型有很好的可解釋性(comprehensibility)。

3.2 線性迴歸

“線性迴歸”(linear regression)可以學得一個線性模型以儘可能準確地預測實值輸出標記,
線性迴歸試圖學得
這裡寫圖片描述

均方誤差有非常好的幾何意義,它對應 了常用的歐幾里得距離或簡稱“歐氏距離”(Euclidean distance)。基於均方誤差最小化來進行模型求解的方法稱為“最小二乘法”(least square method)。線上性迴歸中,最小二乘法就是試圖找到一條直線,使所有樣本到直線上的歐氏距離之和最小。

“多元線性迴歸”(multivariate linear regression):
這裡寫圖片描述

“廣義線性模型”(generalized linear model):
這裡寫圖片描述
其中函式g(·)稱為“聯絡函式”(link function)。

3.3 對數機率迴歸

對數機率函式(logistic function)為:
這裡寫圖片描述

“對數機率迴歸”(logistic regression,亦城logit regression),其對應的函式為:
這裡寫圖片描述

3.4 線性判別分析

線性判別分析(Linear Discriminant Analysis,簡稱LDA)是一種經典的線性學習方法,在二分類問題上因最早由Fisher提出,亦稱“Fisher判別分析”。

LDA的思想為:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點儘可能接近,異類樣例的投影點儘可能遠離。在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別。 LDA也適用於多分類任務,也是常被視為一種經典的監督降維技術。

3.5 多分類學習

有些二分類學習方法可直接推廣到多分類,但在更多情形下,可以基於一些基本策略,利用二分類學習器來解決多分類問題。

最經典的才分策略有三種:“一對一”(One vs. One,簡稱OvO)、“一對其餘”(One vs. Rest,簡稱OvR)和“多對多”(Many vs. Many,簡稱MvM)。OvO的儲存開銷和測試時間開銷通常比OvR更大,在類別很多時,OvO的訓練時間開銷通常比OvR更小。至於預測效能,則取決於具體的資料分析,在多數情形下兩者差不多。

“糾錯輸出碼”(Error Correcting Output Codes,簡稱ECOOC)是一種最常用的MvM技術。一般來說,對同一個學習任務,ECOOC編碼越長,糾錯能力越強。然而,編碼越長,意味著所需訓練的分類器越多,計算、儲存開銷都會增大。對同等長度的編碼,理論上來說,任意兩個類別之間的編碼距離越遠,則糾錯能力越強。因此,在碼長較小時看根據這個原則計算出理論最優編碼。

3.6 類別不平衡問題

類別不平衡(class-imbalance)就是指分類任務中不同類別的訓練樣例數目差別很大的情況。

只要分類器的預測機率高於觀察機率就應判定為正例,即若
這裡寫圖片描述
則預測為正例。

“再縮放”(rescaling)策略為:
這裡寫圖片描述
再縮放的思想雖簡單,但實際操作卻不不容易,主要因為“訓練集是真實樣本總體無偏取樣”這個假設往往不成立,也就是說,我們未必能有效地基於訓練集觀測機率來推斷出真實機率。現有技術大體上有三類做法:第一類是直接對訓練集裡的反類樣例進行“欠取樣”,即去除一些反例使得正、反例資料接近,然後再進行學習;第二類是對訓練集裡的正類樣例進行“過取樣”,即增加一些正例使得正、反例數目接近,然後再進行學習;第三類則是直接基於原始訓練集進行學習,但在用訓練好的分類器進行與測時,將式
這裡寫圖片描述
嵌入到其決策過程中,稱為“閾值移動”(threshold-moving)。

資源