線性分類模型(一):線性判別模型分析

2022-01-09 機器學習算法那些事

前言

前幾篇文章介紹了線性回歸算法,線性分類模型分為判別式模型和生成式模型,本文首先簡單複習了與算法相關的數學基礎知識,然後分析各線性判別式分類算法,如最小平方法,Fisher線性判別法和感知器法,最後總結全文。

目錄

1、相關的數學知識回顧

2、判別式模型和生成性模型

3、最小平方法

4、Fisher線性判別函數

5、感知器算法

6、總結

1、直線方程和平面方程


拓展到分類思想:直線l為分類決策方程,坐標點落在直線l上方時,則分類為C1;坐標點落在直線l下方時,則分類為C2(如下圖)。

平面方程類似,在這裡不展開。


2、點到直線和點到平面的距離

點到直線的距離:

點到平面的距離

拓展到分類思想:平面方程為決策方程,正確分類的情況下,當點P到決策方程的距離越大,則分類模型越好;錯誤分類的情況下,點P到決策方程的距離作為損失函數,損失函數最小化過程即是模型參數最優化過程。

3、向量內積的數學意義


幾何意義:向量A與向量B的內積等於向量A在向量B的投影與向量B的乘積,當向量B是單位向量時,則等於向量A在單位向量方向的投影,單位向量類似於基函數或者可以理解成坐標軸,即向量A在向量B的投影可理解成向量A在向量B方向的坐標,如下圖,B'是B在OA坐標軸方向的投影。

拓展到分類思想:C1與C2屬於不同的類,給定一條決策性直線l,當C1與C2在直線L2的投影間距越大,則分類效果越好。增加不同類間的距離可以作為模型參數優化的方向。

如下圖,C1和C2的在直線L2的投影距離|C1"C2"|大於|C1'C2'|,因此決策方程直線L2優於直線L1.


4、梯度下降法


函數f(x0,x1,...,xn)在梯度方向是函數值變化(增加或減少)最快的方向(本文只給出結論,後續文章會有詳細的說明)。

拓展到分類思想:損失函數最小化過程即是模型參數最優化過程,損失函數最小化可通過梯度下降法來實現,當迭代到一定程度,損失函數收斂,則迭代結束,參數w即是要求的最優參數。

流程圖如下:

我們常把分類問題分成兩個階段:推斷階段和決策階段,對於輸入變量x,分類標記為Ck。推斷階段和決策階段具體表示為:

推斷階段:估計P(x,Ck)的聯合概率分布,對P(x,Ck)歸一化,求得後驗概率P(Ck|x)。

決策階段:對於新輸入的x,可根據後驗概率P(Ck|x)得到分類結果。

判別式模型和生成性模型的區別


判別式模型:簡單的學習一個函數,將輸入x直接映射為決策,稱該函數為判別式函數。

生成式模型:推斷階段確定後驗概率分布,決策階段輸出分類結果,生成式模型包含兩個階段。

本文介紹判別式線性分類模型的三種算法。

最小平方法與最小二乘法的算法思想類似,K類判別函數由K個方程決定,

訓練集,K類判別函數為,k=1,2,...,K

參數矩陣為,目標矩陣


求得最優參數w後,輸入變量x所屬K類的判別方法如下:

第一節講到,若兩個類在同一個決策方程的投影距離相隔越大,則該決策方程越好。再深入一點,相同類投影到決策方程的方差越小,則該決策方程越好,方差代表類投影到決策方程的聚集程度。這就是Fisher線性判別法參數優化思想。


參數優化思想:同類樣本投影到決策方程的方差最小,不同類樣本投影到決策方程的均值間隔最大。用表達式J(w)表示,J(w)越大越好。

如下圖:

其中,m1,m2分別表示不同類在決策方程的投影均值;S1,S2分別表示不同類投影到決策方程的方差。

求得最優參數w後,輸入變量x所屬類的判別方法如下:

感知器算法的目的是找到能夠準確分離正負樣本訓練數據集的超平面。

超平面定義:


感知器學習策略:

對訓練數據集某一樣本點(x,y),若wx+b>0,則y=1;若wx+b<0,則y=-1;

即感知機模型為:

因此,對於誤分類的數據(xi,yi)來說:

因此,感知器學習策略是最小化誤分類點到平面S的距離,不考慮分母項。

假設訓練數據集有M個誤分類點,損失函數為:

運用梯度下降算法最小化損失函數L(w,b)。

設學習率η,感知器學習策略步驟:


(1)、選取處置w0,b0;

(2)、選取訓練集(xi,yi);

(3)、如果yi(w*xi+b)<=0,則更新權值參數w,b:

 (4)、轉至(2),直至訓練數據集沒有誤分類點,得到超平面最優參數w,b。

感知機學習算法由於採用不同的初值或選取不同的誤分類點,參數解可能不同(例題可參考《統計學習方法》)。

因此,對某一輸入點,若感知機模型大於0,則分類為1;反之分類為-1。

本文介紹了線性判別分類的三種方法,第一種判別方法是根據點到判別函數的距離來分類,,第二種方法是根據輸入樣本在判別函數的投影距離進行分類,第三種方法則採用感知機模型進行分類。

參考

Christopher M.Bishop <<Pattern Reconition and Machine Learning>>

李航  《統計學習方法》

線性回歸:不能忽視的三個問題

淺談頻率學派和貝葉斯學派

淺談先驗分布和後驗分布

       

相關焦點

  • 經典分類:線性判別分析模型!
    作者:小雨姑娘,康乃狄克大學,Datawhale成員這幾天看了看SVM的推導,看的是真的頭疼,那就先梳理基礎的線性判別分析模型
  • [PRML]線性分類模型--概率判別模型
    3 邏輯回歸從考慮二分類問題開始處理廣義線性模型。在統計學術語中,這種模型稱為邏輯回歸,但應強調這是一種分類模型,而不是回歸模型。與式13的比較表明,它與線性回歸模型的平方和誤差函數的梯度具有完全相同的形式。
  • 一般線性模型與廣義線性模型
    如果一般線性模型中只有一個分類自變量,那麼一般線性模型就是t檢驗或者單因素方差分析(例如完全隨機設計的方差分析);如果有兩個或多個分類自變量,就是多因素的方差分析(例如析因設計的方差分析);如果只有一個定量的自變量,一般線性模型就是
  • 【R分享|實戰】LDA 線性判別分析
    與之相對的便是有監督學習,它通過已有的訓練樣本得到一個最優模型,再利用這個模型將所有的輸入映射為相應的輸出,對輸出進行簡單的判斷從而實現預測和分類。在這一期我們將與大家分享有監督學習中LDA分析的基本知識,以及如何在R語言中實現LDA分析與預測。
  • 線性模型(一)普通線性回歸到廣義線性模型
    同時提醒讀者避免只從字面理解「線性」帶來誤會,即線性模型只能解決線性問題。本章將線性模型定位和表述為在數學表達式上具有線性的表示方式的數學模型,包含普通線性回歸模型和廣義線性模型(線性支持向量機本章不進行講述)。
  • 運用sklearn進行線性判別分析(LDA)代碼實現
    基於sklearn的線性判別分析(LDA)代碼實現一、前言及回顧本文記錄使用sklearn庫實現有監督的數據降維技術——線性判別分析(LDA)。在上一篇LDA線性判別分析原理及python應用(葡萄酒案例分析),我們通過詳細的步驟理解LDA內部邏輯實現原理,能夠更好地掌握線性判別分析的內部機制。
  • Python 線性分類模型簡介
    它是一個簡單的線性分類器,並且由於其算法很直觀,被認為是更多高級的機器學習和深度學習算法的基石。繼續閱讀來加深你對線性分類器的認識,以及如何使用它們進行圖像分類。Python線性分類模型簡介本教程的前半部分主要關注線性分類有關的基本原理和數學知識。總的來說,線性分類指的是那些真正從訓練數據中「學習」的有參分類算法。
  • 線性模型篇之Logistic Regression數學公式推導
    線性模型(Linear Model)是機器學習中應用最廣泛的模型,指通過樣本 特徵的線性組合來進行預測的模型。
  • 線性判別分析LDA
    線性判別分析是一種線性降維的方法,和之前ARGO提及的PCA(見文章主成分分析(PCA)入門)目的一樣,都是為了降低海量特徵以實現降維,但兩者又有顯著的不同。全文分成如下四個部分:PCA 回顧線性判別分析(LDA)多類別的線性判別分析使用LDA的限制一  PCA回顧介紹LDA之前,簡單的回顧一下之前講到的PCA。
  • 線性判別分析(LDA)及其在R中實現
    線性判別分析(Linear Discriminant Analysis,LDA)是一種用於數據降維以及分類預測的機器學習方法,由RA Fisher(1936)提出,也稱為Fisher判別式。最初的LDA只能處理兩種分類問題,Rao(1948)拓展了「多類別線性判別分析」或稱「多元判別分析」,將LDA推廣至適用於多分類的情形。
  • 如何用線性回歸模型做數據分析?
    編輯導語:在日常工作中,很多時候都會用到數據分析的方法,線性回歸模型看起來非常簡單,但實際上它的十分重要;本文作者分享了關於如何用線性回歸模型做數據分析的方法,我們一起來學習一下。一、什麼是線性回歸線性回歸是利用線性的方法,模擬因變量與一個或多個自變量之間的關係;對於模型而言,自變量是輸入值,因變量是模型基於自變量的輸出值,適用於x和y滿足線性關係的數據類型的應用場景。
  • 線性回歸(2)—— 模型評估
    R-square 的 p 值在說 R-square 的 顯著性之前,我們先聊下線性回歸與方差分析之間的關係。對於隨機設計的方差分析,它們其實一共也是兩個變量,一個是分組變量,一個是分析的變量。比如,比較3種藥物的降壓效果,藥物就是分組變量,有3個取值;血壓值就是分析的變量。
  • 廣義線性模型與邏輯回歸
    一、二分類問題考慮二分類問題,即響應變量只有0、1兩類。在二維情況下,我們的目標是將這兩類樣本分類,如下圖所示,那麼我們只需要畫一條直線,就可以將這兩類數據區分開。也就是說,通過如下的規則,我們就能對上述數據集進行分類:
  • 廣義線性模型學習
    如果需要使用廣義線性模型進行分類,請參閱 logistic 回歸 。1.1.1. 普通最小二乘法LinearRegression 擬合一個帶有係數  的線性模型,使得數據集實際觀測數據和預測數據(估計值)之間的殘差平方和最小。
  • [PRML]線性回歸模型--線性基函數模型
    這通常稱為線性回歸(linear regression)。,這個暗示了模型的限制。參數的線性化會簡化這類模型的計算,但也會導致一些限制。『tanh』函數的線性組合。在監督學習中如回歸和分類,我們不是尋找輸入變量的分布模型。
  • 線性概率模型、probit模型和logit模型的聯繫與區別
    如果被解釋變量是離散的,而非連續值,則需要運用"離散選擇模型"(discrete choice
  • 【Geometric GAN】引入線性分類器SVM的Geometric GAN
    McGAN在訓練過程中,特徵空間包括三種幾何操作:(1)分類超平面搜索:尋找線性分類器的分類超平面。(2)判別器向遠離分類超平面方向更新:判別器參數利用隨機梯度下降方法(SGD)向遠離分類超平面方向更新。(3)生成器朝向分類超平面方向更新:生成器參數利用隨機梯度下降方法(SGD)沿分類超平面法向量方向更新。
  • 機器學習算法系列(十)-線性判別分析算法(一)(Linear Discriminant Analysis Algorithm)
    (3)使用S_b、S_w來代替中間部分,得到新的代價函數(4)其中S_b 被稱為"類間散度矩陣"(between-class scatter matrix)(5)其中S_w 被稱為"類內散度矩陣"(within-class
  • 怎樣區分線性和非線性_線性與非線性的區別
    怎樣區分線性和非線性1.線性Line,是指量與量之間按照比例成直線關係,在數學上可理解為一階導數是個常數;   非線性non-line
  • 使用R語言進行混合線性模型(mixed linear model) 分析代碼及詳解
    1.混合線性模型簡介混合線性模型,又名多層線性模型(Hierarchical linear model)。