唐宇政
摘 要:分類判別問題在生活中是一個有著重要應用需求的問題。例如根據(jù)患者肺部陰影大小,是否低燒以及其它理化指標來判斷是否為肺結核患者,或是根據(jù)郵件的內容或者發(fā)件地址來判斷其是否屬于垃圾郵件。在現(xiàn)實生活中,我們希望能夠準確快速的解決這一類問題,往往需要利用歷史數(shù)據(jù)來建立合理的分類器。因此重點介紹一種常見的基于距離的判別分類方法——歐氏距離判別法 。首先在第二部分詳細介紹這種分類方法以及將其和另外一種常見的基于馬氏距離的判別分類法進行比較。在第三部分,我們將進行實例分析,基于花瓣長度和花瓣寬度利用歐式距離判別法對鳶尾花進行分類。
關鍵詞:分類問題;歐式距離;馬氏距離
中圖分類號:TB 文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.09.092
1 背景
分類判別是指根據(jù)事物的不同點加以區(qū)分辨別,確定事物所屬的類別,使具有更多相似點的事物歸入一類,使之在大量事物中可以根據(jù)一定規(guī)律快速鑒別各個事物的所屬種類。例如國家電網(wǎng)在對居民進行供電時,就可以根據(jù)以往的用電量數(shù)據(jù)對居民的用電情況進行劃分,對用電量大的居民相應地收取更多的費用,從而達到促進節(jié)約用電的目的。在解決此類問題的過程中需要準確判別個體樣本所屬的類別,即應該劃分的組別。本文中將介紹的是如何通過數(shù)學建模來快速準確完成這個分組判別的過程。本文中,我們將使用鳶尾花數(shù)據(jù)集,對150個鳶尾花數(shù)據(jù)樣本進行分類判別,確定樣本屬于三種鳶尾花中的哪一種,來實例說明歐式距離判別法在現(xiàn)實生活中的可行性。
2 分類方法
判別分析法,是在分類確定的條件下,根據(jù)某一研究對象的各種特征值判別其類型歸屬問題的一種多變量統(tǒng)計分析方法。常見的判別分析法主要包括基于距離的判別、Fisher判別、Bayes 判別。本文主要研究對象是通俗易懂、應用范圍廣泛的基于距離的判別分析法。
2.1 基于距離的判別分析
距離判別的基本思想是將距離越近的樣本分為一類,距離越大的樣本分為不同類。這里的距離可以理解為樣本之間的相似度,樣本間距離越小越相似,反之亦然。在實際操作中,我們可以計算每一個新樣本點(類別未知)到歷史樣本點(類別已知)的距離,然后將新樣本的類別預測為于其最相似的歷史樣本點的類別。亦或者將新樣本的類別預測為與其最相似的k(k=1,2,…)個歷史樣本點中類別最多那一類。
通常,在構建模型的過程中,我們僅有大量的歷史數(shù)據(jù)。因此,我們可以隨機將歷史數(shù)據(jù)分為訓練集和驗證集。訓練集中的數(shù)據(jù)相當于歷史數(shù)據(jù),驗證集的數(shù)據(jù)相當于新的數(shù)據(jù)。引入訓練集、驗證集可以在生活中也有一定的應用。例如假如我們需要識別一輛小汽車。那么我們需要有大量的小汽車圖片(訓練數(shù)據(jù)),當我們有足夠多的數(shù)據(jù)時,我們就可以對已有的小汽車圖片進行分析,找出其共同點。然后我們建立一個模型,說明這些數(shù)據(jù)都是小汽車的特征數(shù)據(jù),從而知道什么是小汽車,具備哪些特征。這時,我們就可以放入已有的其他圖片(驗證集數(shù)據(jù)),把這些新圖片與原有的模型中的圖片進行比對,然后告訴我們哪些是小汽車,哪些不是小汽車。
2.2 歐式距離判別法
本文中,我們以歐式距離作為樣本間相似度的度量。歐氏距離是一個通常采用的距離定義,是指在空間中兩個點之間的真實距離,或者向量的自然長度(即該點到原點的距離)。在二維(平面內,用坐標軸來坐標化表示即為x軸、y軸)和三維(立體空間范圍內,用坐標軸來坐標化表示即為x軸、y軸和z軸)的范圍內歐氏距離就是特定的范圍內兩個點之間的實際距離。當將樣本坐標化放入坐標軸中后,即為兩個點之間的連線的長度。例如,樣本點包含n個變量,那么第一個樣本點A=(x1,x2,…,xn)到第二個樣本點B=(y1,y2,…,yn)之間的距離可以表示為:
d(x,y):=
(x1-y1)2+(x2-y2)2+…+(xn-yn)2=
ni=1(xi-yi)2
除了歐氏距離, 另一種常用的距離是馬氏距離。與歐氏距離不同的是,它考慮到各種特性之間的聯(lián)系(例如:一條關于身高的信息會帶來一條關于體重的信息,因為兩者是有關聯(lián)的),并且是尺度無關的,即獨立于測量尺度。馬氏距離的計算需要用到矩陣和協(xié)方差矩陣。盡管歐氏距離簡單有用,但也有明顯的缺點。歐氏距離在代數(shù)化過程中忽略了個體的差異,對所有樣本的處理過于類似,這一點有時不能滿足實際要求。例如,在教育研究中,經(jīng)常遇到對人的分析和判別,個體的不同屬性對于區(qū)分個體有著不同的重要性。因此,有時需要采用不同的距離函數(shù)。同時,在歐式距離計算中,我們往往忽略了變量間單位的差異。
3 實例應用
3.1 數(shù)據(jù)介紹
本文中的數(shù)據(jù)來源于鳶尾花數(shù)據(jù)集。這個數(shù)據(jù)集是常用的分類實驗數(shù)據(jù)集,由Fisher 1936收集整理。是一類多重變量分析的數(shù)據(jù)集。數(shù)據(jù)集包含150個數(shù)據(jù)點,3類鳶尾花:有第一類山鳶尾,第二類雜色鳶尾和第三類維吉尼亞鳶尾,每類50個數(shù)據(jù)點,每個數(shù)據(jù)點有4個屬性:花萼長度,花萼寬度,花瓣長度,花瓣寬度。通過這4個屬性預測鳶尾花卉樣本屬于哪一種鳶尾花。我們將建立一個有關變量的坐標系,將樣本以點的形式置于坐標系中。其中橫縱坐標的數(shù)值視優(yōu)劣程度而定,即是否直觀有效。每個樣本點都按照某兩個特征數(shù)據(jù)放入到坐標軸中。在每個坐標系中,會有已有的135個訓練集樣本點分布在坐標軸中,每一個新放入的驗證集的樣本點(x,y),計算它和訓練集樣本點的距離,選出距離最近的前15個點,則此驗證集的新樣本點認為和這十五個訓練集樣本點的鳶尾花種類一致。由于在Fisher鳶尾花數(shù)據(jù)集中三種鳶尾花各有50個樣本數(shù)據(jù),因此統(tǒng)一編號1-50,每一個號就代表三種鳶尾花的各一個樣本。通過隨機抽樣抽取1-50中的5個數(shù)字,得到一共15個樣本組成驗證集,剩余135個樣本為訓練集。通過隨機抽樣得到的驗證集如表1。
3.2 統(tǒng)計分析
我們首先對單一變量進行處理,即僅從一個數(shù)據(jù)項來看。我們可以得到以下四幅圖表。圖表中全都采用統(tǒng)一的圖例注記。
·山鳶尾 藍色菱形
·雜色鳶尾 橙色正方形
·維吉尼亞鳶 灰色三角形
(1)萼片長度。
由上述四幅圖可以看出,有關萼片的變量對于三種鳶尾花的區(qū)分度并不明顯,而與花瓣有關的變量則可以顯著區(qū)分出山鳶尾,雜色鳶尾和維吉尼亞鳶尾雖然有少部分重疊,但仍具有較高的區(qū)分度。
因此在接下去的分類過程中我們將不采用有關萼片的數(shù)據(jù)。另外我們提出一種將有關花瓣的兩個數(shù)據(jù)放入一張圖表中,即以花瓣長度為橫坐標,花瓣寬度為縱坐標,將每個樣本個體以點的形式在圖表中表示出來。這就變成了一個有關花瓣長度和花瓣寬度的二元變量問題。通過作圖可以看到這種方式的區(qū)分度高,效果良好。
(5)花瓣雙坐標圖。
3.3 基于距離的分類算法
我們將采用歐式距離判別法。建立一個平面直角坐標系,在此處先以與花瓣有關的兩個變量為例進行判別。在坐標系中橫坐標為花瓣長度,縱坐標為花瓣寬度,每一個樣本根據(jù)其長和寬可以在圖中找到相對應的坐標點,并加以顏色區(qū)分表示。
下面我們將開始對驗證集內的數(shù)據(jù)進行驗證。
我們以序號為23 的山鳶尾花為例,其花瓣長為1.0cm,寬為0.2cm。那么在坐標軸中可以表示為點(1.0,0.2)。運用歐式距離公式進行計算。
通過計算可得此測試樣本與樣本集中所有135個樣本數(shù)據(jù)的距離,總距離為397.315,平均距離為2.921。
我們得到了表2中的數(shù)據(jù)。
參考文獻
[1]吳孟達.數(shù)學建模教程[M].北京:高等教育出版社,2011.
[2]白其崢.數(shù)學建模案例分析[M].北京:海洋出版社,2000.