1. 程式人生 > >機器學習筆記(二):線性模型

機器學習筆記(二):線性模型

線性模型是機器學習常用的眾多模型中最簡單的模型,但卻蘊含著機器學習中一些重要的基本思想。許多功能更為強大的非線性模型可線上性模型的基礎上通過引入層級結構或高維對映得到,因此瞭解線性模型對學習其他機器學習模型具有重要意義。 本文主要介紹機器學習中常用的線性模型,內容主要包括:

一、 線性迴歸(Linear Regression)

二、 對數機率迴歸(Logistic Regression)

三、 線性判別分析(Linear Discriminant Analysis)

四、 多分類學習(Multi class learning)

一、 線性迴歸(Linear Regression)

給定資料集D={(x1,y1),(x2,y2),(x3,y3),……,(xn,yn)},其中xi為第i組資料的屬性集合,yi為第i組資料的標記。線性迴歸試圖學得一個從xi對映到yi的線性模型(ω,b),即在這裡插入圖片描述

當給定一個新的輸入屬性xj時,該模型能儘可能準確地預測實值輸出標記yj。

在通常情況下我們很難得到一個完美的模型來對於所有的輸入都給出正確的輸出,大多數場景我們訓練出的模型只能對一部分輸入給出正確答案,因此我們需要設定一個評價指標,來衡量訓練出的模型的效能。在迴歸任務中最常用的度量效能方法是“均方誤差” 在這裡插入圖片描述 幾何意義上是求得一條線,使得所有的樣本到直線的歐式距離之和最小。基於均方誤差最小化標準進行模型求解的方法稱為最小二乘“引數估計”。其具體過程為,首先均方誤差函式對ω和b求偏導: 在這裡插入圖片描述 然後,令以上兩式為0即可獲得ω和b的解。

以上便是求解線性迴歸模型的過程,它的前提假設是預測值yi與輸入xi之間存在著線性關係,但有時在我們處理的問題中可能是預測值的對數與輸入值存線上性關係,或者預測值與輸入值存在著更為複雜的函式關係,為了解決這種情況,於是便產生了對數線性迴歸(log-linear regression)和廣義線性迴歸(generalized linear regression)的概念,他們的模型分別如下: 在這裡插入圖片描述

其中函式g(...)稱為“聯絡函式”其中函式g(…)稱為“聯絡函式”

二、 對數機率迴歸(Logistic Regression)

線性迴歸模型產生的預測值是實值,對於分類任務比如需要判斷明天是天晴還是下雨就不適用了。對數機率迴歸的提出正是用來解決分類任務的,它線上性模型的基礎上將預測值yi轉化為接近於指定的有限個值的輸出。最常用的轉化方法是通過sigmoid函式,轉化為o或1兩個值,適用於二分類任務。

在這裡插入圖片描述 在這裡插入圖片描述 對數機率迴歸雖然名字是迴歸,但實際是一種分類學習方法。

三、 線性判別分析(Linear Discriminant Analysis)

線性判別分析(linear Discriminant Analysis,簡稱LDA)是一種經典的線性學習方法,他的思想非常樸素:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點儘可能接近、異類樣例的投影點儘可能遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別。下圖是一個二維的二分類示意圖,相同顏色的點在直線上的投影距離很近,不同顏色的點距離較遠。 在這裡插入圖片描述

此方法步驟較為複雜,具體操作,大家可參考這篇博文中的內容https://blog.csdn.net/daunxx/article/details/51881956

四、 多分類學習(Multi class learning)

在前面介紹的兩個方法中所使用的例子都是二分類任務,但在現實生活中我們遇見的多分類任務更多一些。由於二分類任務的解決方法較為簡單,因此在很多情形下,我們可以基於一些策略,利用二分類學習器來解決多分類問題。最經典的拆分策略有三種,分別是:“一對一(One VS One,OvO)”、“一對其餘(One vs Rest,OvR)”和“多對多(Many vs Many,MvM”.

1、一對一:給定資料集D假定其中有N個真實類別,從使用分而治之的思路,將這N個類別進行兩兩配對(一個正類/一個反類),從而產生N(N-1)/2個二分類學習器,每個學習器對一種類別進行判別。在測試階段,將新樣本放入所有的二分類學習器中測試,得出N(N-1)個結果,最終通過投票產生最終的分類結果。訓練N個分類器,開銷較大。

2、一對其餘:給定資料集D假定其中有N個真實類別,每次取出一個類作為正類,剩餘的所有類別作為一個新的反類,從而產生N個二分類學習器,在測試階段得出N個結果若僅有一個學習器預測為正類,則對應的類標作為最終分類結果。優時也要考慮預置置信度的大小確定類別。

3、多對多:給定資料集D假定其中有N個真實類別,每次取若干個類作為正類,若干個類作為反類(通過ECOC碼給出編碼),若進行了M次劃分,則生成了M個二分類學習器,在測試階段(解碼),得出M個結果組成一個新的碼,最終通過計算海明/歐式距離選擇距離最小的類別作為最終分類結果。

參考資料

1、周志華,《機器學習》