簡介
給定由d個屬性描述的示例\(\boldsymbol{x}=\left(x_{1} ; x_{2} ; \ldots ; x_{d}\right)\), 其中\(x_{i}\)是 \(\boldsymbol{x}\) 在第 i 個屬性上的取值,線性模型(linear model)試圖學得一個通過屬性的線性組合來進行預測的函數,即
\[f(x)=w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{d} x_{d}+b \]一般用向量形式寫成:
\[f(x)=\textbf{w}^{T}\textbf{x}+b \]- ω 直觀表達了各屬性在預測中的重要性,因此線性模型有很好的可解釋性
- 許多功能更為強大的非線性模型(nonlinear model)可在線性模型的基礎上通過引入層級結構或高維映射而得.
本章介紹幾種經典的線性模型,先從回歸任務開始,然后討論二分類和多分類任務。
線性回歸
線性回歸(linear regression)試圖學得一個線性模型以盡可能准確地預測實值輸出標記。
線性模型(linear model)試圖通過對所給的屬性/特征的線性組合進行學習,進而得出一個預測函數。
線性模型既可以用作分類問題,又可以用作回歸類問題。在回歸類問題中,通過屬性組合來擬合一個線性函數,在分類問題當中,通過屬性組合確定一個分類邊界。
-
有序無序屬性的數學轉化
對離散屬性,若屬性值間存在”序“(order)關系,可通過連續化將其轉化為連續值,例如二值屬性“身高”的取值“高”、”矮“可轉化為{1.0, 0.0},三值屬性"高度"的取值"高" "中" "低",可轉化為{1.0,0.5,0.0};若屬性值間不存在序關系,假定有k個屬性值,則通常轉化為k維向量,例如屬性“瓜類”的取值"西瓜"、"南瓜"、"黃瓜"可轉化為(0,0,1),(0,1,0),(1,0,0)。
若將無序屬性連續化,則會不恰當地引入序關系,對后續處理如距離計算等造成誤導
-
最小二乘法
均方誤差是回歸任務中最常用的性能度量,因此我們可試圖讓均方誤差最小化。均方誤差對應了歐幾里得距離或簡稱"歐氏距離" (Euclidean distance)。基於均方誤差最小化來進行模型求解的方法稱為"最小二乘法" (least square method).
在線性回歸中,最小A乘法就是試圖找到一條直線,使所有樣本到直線上的歐氏距離之和最小。
求解 ω 和 b 使\(E_{(w, b)}=\sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2}\)最小化的過程,稱為線性回歸模型的最小二乘“參數估計” (parameter estimation).
-
對數線性回歸與廣義線性回歸
\(\ln y=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\)該式在形式上仍是線性回歸,但實質上已是在求取輸入空間到輸出空間的非線性函數映射。這里的對數函數起到了將線性回歸模型的預測值與真實標記聯系起來的作用。
考慮單調可微函數\(g(\cdot)\),令 \(y=g^{-1}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)\)
這樣得到的模型稱為"廣義線性模型" (generalized linear model) ,其中函數廣義線性祺型的參數估\(g(\cdot)\)稱為"聯系函數" (link function). 顯然,對數線性回歸是廣義線性模型在\(g(\cdot) = ln( \cdot )\)時的特例。
對數幾率回歸
廣義線性模型中.只需找一個單調可微函數將分類任務的真實標記\(y\)與線性回歸模型的預測值聯系起來。值. 最理想的是"單位階躍函數" (unit-step function),但是單位階躍函數不連續。

對數幾率函數(logistic function) 正是這樣一個常用的替代函數:

Sigmoid 函數即形似 S 的函數,對率函數是 Sigmiod 函數的最重要的代表。對數幾率函數是一種"Sigmoid 函數",它將z值轉化為一個接近0或1的 \(y\) 值,並且其輸出值在z=0附近變化很陡。
這實際上是在用線性回歸模型的預測結果去逼近真實標記的對數幾率,因此,其對應的模型稱為"對數幾率歸" (logistic
regression,亦稱logit regression)。特別需注意到,雖然它的名字是"回歸",但實際卻是一種分類學習方法。這種方法有很多優點,例如它是直接對分類可能性進行建模,無需事先假設數據分布,這樣就避免了假設分布不准確所帶來的問題;它不是僅預測出"類別",而是可得到近似概率預測,這對許多需利用概率輔助決策的任務很有用;此外,對率函數是任意階可導的凸函數,有很好的數學性質,現有的許多數值優化算法都可直接用於求取最優解.
線性判別分析
線性判別分析(Linear Discriminant Analysis,簡稱LDA) 是一種經典的線性學習方法,亦稱"Fisher 判別分析”。
LDA 的思想非常朴素: 給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點盡可能接近、異類樣例的投影點盡可能遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別.
多分類學習
多分類學習任務.有些二分類學習方法可直接推廣到多分類,
但在更多情形下,我們是基於一些基本策略,利用二分類學習器來解決多分類問題。
考慮N個類別\(C_{1}, C_{2}, \ldots, C_{N}\),多分類學習的基本思路是"拆解法“,即將多分類任務拆為若干個二分類任務求解。具體來說,先對問題進行拆分,然后為拆出的每個二分類任務訓練一個分類器;在測試時,對這些分類器的預測結果進行集成以獲得最終的多分類結果。這里的關鍵是如何對多分類任務進行拆分,以及如何對多個分類器進行集成。
最經典的拆分策略有三種:"一對一" (One vs. One,簡稱OvO)、"一對其余" (One vs. Rest ,簡稱OvR)和"多對多" (Many vs. Many,簡稱MvM).
類別不平衡問題
類別不平衡(class-imbalance)就是指分類任務中不同類別的訓練樣例數目差別很大的情況。
類別不平衡性處理的基本方法:
這就是類別不平衡學習的一個基本策略一"再縮放" (rescaling)/”再平衡(rebalance)”