?

基于信息熵的類別變量的數值化方法

2018-01-08 22:32余芳曹布陽
電腦知識與技術 2017年36期
關鍵詞:支持向量機信息熵

余芳 曹布陽

摘要:無論是學術上還是工程實踐中,數據預處理是整個數據挖掘中最基礎也是最費時的一個環節,其中數據類型的轉換也是重要一環。聚類算法中,旨在將數據集劃分為有意義的簇,簇內高內聚,簇間低耦合,往往是抽象為樣本之間的距離來聚類,因此許多聚類算法都要求樣本集中變量必須是數值型;分類算法中,雖然隨機森林、神經網絡等算法對變量類型的要求并不嚴苛,但是在經典的邏輯回歸算法中,仍需要對數據進行數值化的預處理。該文介紹了一種基于信息論,對樣本變量中類別型變量(categorical variables)進行數值化處理的方法,分別在邏輯回歸和支持向量機兩種機器學習算法中,進行了幾組實驗,對比實驗結果,發現此方法在性能上、應用上都很有優勢。

關鍵詞:信息熵;虛擬變量;邏輯回歸;支持向量機

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)36-0193-03

近年來,隨著機器學習和人工智能的發展,大數據在各領域都取得了很多成績。通常,原始數據必須加以處理才能適合于分析。原始數據集中往往既有連續型變量(continuous variables),又包含類別變量。此時,通常要對數據進行數值化處理。

當前,常用是使用虛擬變量(dummy variables)來處理這類問題。虛擬變量經常取值為0,1,-1,但這些取值并不代表數量的大小,僅僅表示不同的類別[1]。雖然引入虛擬變量對問題描述更簡明,但是會使模型變得更復雜。而且如果數據集中這種類別變量過多或是變量的分類過多,這就會造成方程中有一大堆變量,造成所擬合模型的精度大大下降,實際上,有時候基于虛擬變量所構建的模型并沒有多大意義。所以當數據集量級較小時,虛擬變量的效果很好,但是當數據集較大時,虛擬變量的效果并不總是很好。

另外,受到信用評分卡建模的啟發,在二分類問題中,經常先對類別變量進行WOE編碼[2]。但是WOE編碼僅適用于二分類問題,多分類問題并不適用。

本文介紹了一種基于信息熵[3]的數值化方法,不但可以建立分類變量與數值的一一對應,而且適用于多分類問題,在實驗和實際應用中,表現都很好。

1 分類變量的數值化方法

1.1 虛擬變量

在多重回歸和邏輯回歸模型中,通常將分類變量數值化的方法是虛擬變量化。引入虛擬變量,可以將不能夠定量處理的變量數值化,如職業、性別對收入的影響,戰爭、自然災害對GDP的影響等。

虛擬變量經常取值為0,-1,1,但這些取值并不代表數量的大小,僅僅表示不同的類別。定義虛擬變量時,如果變量有k個類別,需定義k-1個虛擬變量來表示這些類別。對于一個有k個類別的變量,即在此分類變量上,有k種取值,此時,引入k-1個虛擬變量[X1,X2,…,Xk-1],取值如下:

只引入n-1個變量而不是n個變量是由分類變量的“窮舉”和“互斥”原則決定的。知道任意n-1個變量的值就一定可以推出第n個變量的值,而且這樣做降低了模型的共線性。上表中,第一行數值表示,樣本在此變量上的取值為[X1],第二行數值表示,樣本在此變量上的取值為[X2],以此類推。

1.2 WOE編碼

WOE編碼的原理:WOE的全稱是“Weight of Evidence”,即證據權重。WOE是對原始自變量的一種編碼形式,在信用評分卡建模中首次被使用,后來經常用于二分類建模中。

要對一個變量進行WOE編碼,首先需要把這個變量進行分組處理(也叫離散化、分箱等)。分組后,對于第i組,WOE的計算公式如下:

[WOEi=lnpyipni=ln (#yi/#yT#ni/#nT)=ln (#yi/#ni#yT/#nT)]

其中,[pyi]是這個組中響應客戶(風險模型中,對應的是違約客戶,總之,指的是模型中預測變量取值為“是”或者說1的個體)占所有樣本中所有響應客戶的比例,[pni]是這個組中未響應客戶占樣本中所有未響應客戶的比例,[#yi]是這個組中響應客戶的數量,[#ni]是這個組中未響應客戶的數量,[#yT]是樣本中所有響應客戶的數量,[#nT]是樣本中所有未響應客戶的數量。

但是WOE在多分類時,不能直接求解,要用one to all 或one to one的方法,組合求解。

1.3 基于信息熵的分類變量數值化方法介紹

1.3.1 信息論簡述

人們常常說信息很多,或者信息較少,但卻很難說清楚信息到底有多少。比如一本五十萬字的中文書到底有多少信息量。直到1948年,香農提出了“信息熵”的概念,才解決了對信息的量化度量問題。信息熵這個詞是C.E.香農從熱力學中借用過來的。熱力學中的熱熵是表示分子狀態混亂程度的物理量。香農用信息熵的概念來描述信源的不確定度。

通常,一個信源發送出什么符號是不確定的,衡量它可以根據其出現的概率來度量。概率大,出現機會多,不確定性??;反之就大。

不確定性函數f是概率P的單調遞降函數;兩個獨立符號所產生的不確定性應等于各自不確定性之和,即[fP1,P2=f(P1)+f(P2)],這稱為可加性。同時滿足這兩個條件的函數f是對數函數,即

1.3.2 數值化方法

基于信息論的知識,當樣本集中有屬性為分類變量時,就可以用信息熵來將其數值化。

對于樣本容量為N的樣本集,假設類別為k,記作[(y1,y2,…,yk)],自變量中[xi]為分類變量,此分類變量有j中取值,分別為[(a1,a2,…,aj)],在這k類上的分布如下:

1.4 數值化實例

以下表中的西瓜數據集為例[4],該數據集包含17個訓練樣本,其中正樣本8個,負樣本9個,在色澤上的分布詳情,色澤有青綠、烏黑、淺白三種取值。

虛擬變量的方法,變量“色澤”上有3中取值,可以用2個虛擬變量來表示,將原始數據集中色澤變量去除,再添加兩個新變量青綠、烏黑,(青綠=1,烏黑=0)表示色澤為青綠,(青綠=0,烏黑=1)表示色澤為烏黑,(青綠=0,烏黑=0)表示色澤為淺白。

2 對比實驗

2.1 實驗數據

該文中的對比實驗,使用了兩組數據,分別是Adult數據集和Car Evaluation數據集,都是從UCI機器學習數據庫上下載而來的。

Adult數據集是從美國1994年人口普查數據庫抽取而來的,用來預測居民的年收入是否超過5萬美元。目標變量為年收入是否超過5萬美元,屬性變量包含年齡,工種,學歷,職業,種族等,總共14個屬性變量,其中7個為類別變量。

Car Evaluation是一個關于汽車測評的數據集,目標變量為汽車的測評(unacc, acc, good, vgood),屬性變量分別為買入價,維護費,車門數,可容納人數,后備箱大小,安全性。

為了實驗方便,實驗過程中直接刪除有缺失值的樣本。使用交叉驗證對數據進行處理,訓練集和測試集的比例為3:1。

2.2 實驗過程

實驗選取的是邏輯回歸模型和支持向量機模型。

邏輯回歸[5]邏輯回歸的模型 是一個非線性模型,sigmoid函數,又稱邏輯回歸函數。但是它本質上又是一個線性回歸模型,因為除去sigmoid映射函數關系,其他的步驟,算法都是線性回歸的??梢哉f,邏輯回歸,都是以線性回歸為理論支持的。

支持向量機[6]支持向量機(SVM)是90年代中期發展起來的基于統計學習理論的一種機器學習方法,通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信范圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。通俗來講,它是一種二類分類模型,其基本模型定義為特征空間上的間隔最大的線性分類器,即支持向量機的學習策略便是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。

實驗過程:

1) 選定數據集;

2) 將數據集劃分為測試集和訓練集,測試集占33%,訓練集占67%;

3) 分別用各種方法對訓練集、測試集中的類別變量進行數值化;

4) 對訓練集、測試集進行歸一化處理;

5) 分別用相應的機器學習算法對訓練集進行訓練;

6) 訓練后的算法對測試集進行預測;

7) 在測試集上觀測各項衡量指標。

上述實驗都是用python完成的,主要要到python中pandas和sklearn這兩個包。

2.3 實驗結果

評價一個算法的好壞時,通常會考慮查準率(precision)和查全率(recall)。表1是兩個數據集的測試集上的結果。

表1中,用序數代替,是實驗中為了對比任意數值化的結果,用1,2,3…對類別變量賦值的結果。

3 結論與討論

信息熵數值化的優點:

1) 較任意數值化而言,有其統計學上的理論依據。

2) 雖然在邏輯回歸中,其效果僅次于虛擬變量化后的結果,但是虛擬變量有其缺點,如果屬性值上取值過多,虛擬變量后會產生過多的變量,會產生共線性;而且虛擬變量后的數據不能與其他屬性進行求解相關系數,但是信息熵數值化可以。

3) 雖然當前很多算法不要求變量的數據類型,數值化未必需要,但是在特征選擇時,可以數值化后,求變量之間的相關系數,用來選擇變量。

4) 不生成新的變量,便于解釋。

參考文獻:

[1] 李麗霞, 郜艷暉, 張瑛. 啞變量在統計分析中的應用[J]. 數理醫藥學雜志, 2006, 19(1):51-53.

[2] 黎玉華. 信用評分卡模型的建立[J]. 科技信息, 2010, 37(13):48-49.

[3] Shannon C E,Weaver W,Wiener N. The mathematical theory of communication[J]. M.d.computing Computers in Medical Practice, 2001, 5: 3-55.

[4] 周志華. 機器學習[M]. 北京: 清華大學出版社, 2016.

[5] 李航. 統計學習方法[M]. 北京: 清華大學出版社, 2014.

[6] Bishop C M. Pattern recognition[J]. Machine Learning, 2006: 128.

猜你喜歡
支持向量機信息熵
基于信息熵可信度的測試點選擇方法研究
基于小波奇異信息熵的10kV供電系統故障選線研究與仿真
基于信息熵的實驗教學量化研究
一種基于信息熵的雷達動態自適應選擇跟蹤方法
基于改進支持向量機的船舶縱搖預報模型
基于支持向量機的金融數據分析研究
基于信息熵的IITFN多屬性決策方法
泊松分布信息熵的性質和數值計算
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合