摘 要:針對在模糊實例檢索中傳統的基于距離函數相似度算法的復雜性和不精確性等缺點,通過分析隸屬函數提出了基于隸屬函數的相似度計算方法。該方法根據不同類型的檢索需求,構建了針對模糊數字型需求和模糊語義型需求的相似度計算模型;同時考慮了屬性權重問題,采用基于相似度離差信息的客觀賦權方法將主觀權重和客觀權重加以組合,以組合權重來計算實例的全局相似度。以汽車發動機的概念設計為例,驗證了基于隸屬函數的相似度計算方法能對不同類型的需求實現快速而有效的實例檢索。
關鍵詞:隸屬函數; 相似度; 權重; 實例檢索
中圖分類號:TP391.72 文獻標志碼:A
文章編號:1001-3695(2010)03-0891-03
doi:10.3969/j.issn.1001-3695.2010.03.022
Similarity measurement method based on membership
function and its application
LI Jun-jun, QI Jin, HU Jie, PENG Ying-hong
(School of Mechanical Engineering, Shanghai Jiaotong University, Shanghai 200240, China)
Abstract:It is very complex and imprecise that using distance functions to calculate similarity under fuzzy conditions. This paper introduced a novel similarity measurement method based on the analysis of membership functions. According to different types of demand in case retrieval, constructed respectively similarity measurement models for fuzzy numerical demand and fuzzy linguistic demand. In the weights assignment, this paper used the deviation information of similarity values to calculate objective weights, and then combined the objective weights and subjective weights to form synthesis weights. Finally, applied this method in the conceptual design of motor engines. It demonstrates that this method can perform rapid and effective case retrieval in response to different demand.
Key words:membership function; similarity; weight; case retrieval
基于實例推理(case-based reasoning,CBR)是一種相似類比推理,其核心思想是通過訪問和調整實例庫中過去同類問題的求解,推理出當前問題的解決策略[1]。其內容主要包括高效的實例組織和檢索方法、以前成功的問題解對當前問題的指導作用[2]。實例檢索是CBR方法的中心環節,而相似度計算是實例檢索的核心技術,其計算方法的好壞直接決定了實例檢索的質量和可靠性。因此,在構建和管理基于實例推理系統(CBRs)時,相似度計算起到了非常關鍵的作用[3]。許多CBRs根據實例的屬性特征,采用相似度函數來計算實例之間的相似度[4]。
目前,大部分實例檢索研究均是采用基于距離函數的屬性相似度計算方法,根據距離函數的不同,還可分為歐式距離函數和曼哈頓距離函數。例如,周凱波等人[3~5]在兩精確屬性值間相似度計算模型的基礎上,提出了區間與精確值之間的相似度計算方法以及區間與區間之間的相似度計算方法。但是這種方法只單純從數值上考慮表述現實世界中對象的屬性特征的特點,對所有屬性數值不加區分地采用直線距離來計算相似度,并不能真實地反映數據之間的差異。Tahera等人[6,7]針對模糊條件下系統輸入輸出變量中的定性信息,提出采用模糊數字表示方法來計算相似度,將精確型數值通過高斯函數轉換成模糊型數值后,以距離函數來計算實例的屬性相似度。然而由于只是簡單地把所有數字轉換成模糊數字,隨著檢索實例和檢索內容的增多,必然造成模糊相似度計算量的大量增加,影響檢索效率。另外,由于距離函數無法表征實例屬性本身的特點,導致采用基于距離函數的相似度算法計算的結果并不完全滿足相似度的實質,從而降低了實例檢索的精度。
為了解決模糊實例檢索中的不精確性和不確定性問題,提高相似度計算效率,本文提出了基于隸屬函數的相似度計算方法,分別針對模糊數字型和模糊語義型需求構建計算模型;同時,綜合考慮主觀權重和客觀權重的影響,以全局相似度的概念來表示實例的相似度。
1 相似度計算總體框架
隸屬函數是經典子集特征函數概念的推廣,它是刻畫模糊子集本質特征的映射。給定一個非空集合Z,Z上的一個模糊子集S是由一個隸屬函數μs(z)來定義的。隸屬函數μs(z)的值域為[0,1],它反映Z中的每個元素z對于模糊子集S的隸屬程度。當z是S中的一個值時,μs(z)=1;當z在S之外時,μs(z)=0;當z是S可接受的一個值時,μs(z)的值在0~1。假設z是歷史實例某個屬性的一個確定值,S是模糊需求子集,則μs(z)表示屬性值z滿足模糊需求si(si∈S)的程度,即z與si的相似度。基于上面這種思想,本文構建了幾種隸屬函數來表達不同類型的模糊需求,并且通過計算μs(z)來得到設計實例與以前實例的相似度。
相似度計算方法的總體框架如圖1所示。首先根據模糊需求選擇相應的計算模型,計算出設計實例與歷史實例的屬性相似度矩陣;然后根據各屬性的相似度離差信息計算出屬性的客觀權重,結合專家輸入的主觀權重,利用乘法合成得到實例各屬性的組合權重,并根據相似度矩陣和組合權重計算出每個實例的全局相似度;最后通過設定合適的相似度水平來得到最相似的實例集。
2 相似度計算關鍵技術
2.1 隸屬函數選擇
隸屬函數的正確選取在相似度計算中起著非常重要的作用。針對模糊條件下輸入輸出變量的不精確性特征,計算相似度的隸屬函數主要有梯形函數、三角形函數和高斯函數[8]。本文選取一個典型的高斯函數計算實例屬性的相似度[9]:
μ(z)=e-(z-m)22σ2(1)
其中:μ(z)是z的相似度;m是平均值;σ是高斯函數寬度。
考慮到三角形函數為梯形函數的一個特例,只需將這個高斯函數與三角函數進行比較。給實例的某屬性設定一個相似度水平,如圖2所示。當取較高的相似度水平α-水平時,|v1-v2|>|v3-v4|,即采用高斯函數能檢索到較多有用的實例;當取較低的相似度水平β-水平時,|v5-v6|<|v7-v8|,即采用高斯函數能夠屏蔽掉更多無用的檢索結果。
同時,高斯函數在概率論上為正態分布函數,而現實世界中實例以及實例屬性的分布很多情況下就是正態分布的。因此,筆者認為采用高斯函數來進行相似度計算,從而對實例進行檢索,能夠返回更加有效的結果。
2.2 面向模糊數字型需求的計算
很多情況下,工程師用一個估測值v來描述某種特殊的需求,這種需求包括目標值v及其相應的關系,這兩個參數都由工程師給定。一般而言,有六種可能的關系:等于、大于、大于等于、小于、小于等于、在…之間(在v1、v2之間)。本文采用高斯函數并將其擴展來表達這六種關系,如圖3所示。
高斯函數式(1)的實例數據幾乎全部處于區間[m-3σ,m+3σ]內,因此本文采用常用的6σ作為特征函數的定義域。圖3(a)~(d)的表達式分別為式(2)~(5)。
μ1(z)=e-(v-z)22σ21 vmin≤z≤v
e-(z-v)22σ22 v σ1=(v-vmin)/3,σ2=(vmax-v)/3 μ2(z)=e-(v-z)22σ21 vmin≤z≤v1z>v,σ1=(v-vmin)/3(3) μ3(z)=1 z≤v e-(z-v)22σ22 v μ4(z)=e-(v1-z)22σ21 vmin≤z≤v11v1 e-(z-v2)22σ22 v2 (5) σ1=(v1-vmin)/3,σ2=(vmax-v2)/3 其中:v、v1、v2為設計需求給定的值;vmin、vmax分別表示歷史實例集中特征屬性的最大值和最小值;σ1、σ2分別為左右兩段高斯函數的寬度。 直接采用隸屬函數本身來計算實例之間的相似度。假設ui為要求的元素,V=[vmin,vmax]是實例特征函數的屬性定義域,vi∈V是ui的一個數字評估,z為具有相同特征的歷史實例的真值,那么ui與z之間的相似度即為s(ui,z)=μV(z)。 2.3 面向模糊語義型需求的計算 在現實生活中必須處理很多定性信息,如工程師不能給出一個滿意的精確值v,他們以一些模糊的詞匯來表達,比如“很滿意”或者“不是很滿意”等,因此,研究模糊語義ti的相似度計算是非常有必要的。本文采用語義單元來描述模糊語義需求,并且設計了三種類型的高斯函數來表達語義單元。三種語義需求分別定義為低、中、高,如圖4所示。本文把歷史實例集的屬性域[vmin,vmax]作為語義“中”的評估區間,其設計需求的給定值為屬性平均值avr,高斯函數所表達的三種語義需求的表達式如式(6)~(8)所示。 μL(z)=1z≤vmin e-(z-vmin)22σ22vmin<z≤vmax,σ2=(avr-vmin)/3(6) μM(z)=e-(avr-z)22σ21 vmin≤z≤avr e-(z-avr)22σ22avr<z≤vmax,σ1=(avr-vmin)/3(7) σ2=(vmax-avr)/3 μH(z)=e-(vmax-z)22σ21vmin≤z≤vmax1z>vmax,σ1=(vmax-avr)/3(8) 其中:μL(z)、μM(z)、μH(z)分別表示語義低、中、高時的函數方程,那么模糊語義需求ti與真值z之間的語義評估即為s(ti,z)=μT(z)。 2.4 權重計算 屬性權重的實質是屬性在決策過程相對重要程度的一種主觀評價和客觀反映的綜合度量,按性質主要分為:a)主觀權重,反映決策者對各屬性的偏好或者屬性本身的重要程度,確定的方法有專家直接賦權法和二元對比法等,用W(1)={w(1)1,w(1)2,…,w(1)i,…,w(1)m}表示。b)客觀權重,反映屬性所含的信息量對決策結果的貢獻,此類權重與其屬性值對方案的區分能力成正比,對各方案區分能力強的屬性應賦予相對大的權重,而不論屬性本身的重要程度如何,用W(2)={w(2)1,w(2)2,…,w(2)i,…,w(2)m}表示。 設vx為設計實例,V={v1,v2,…,vi,…,vn}是以前的實例集,vx和vi的第j個屬性相似度記為sij,則實例vx與實例集V中所有實例的屬性相似度構成相似度矩陣: S=S11S12…S1mS21S22…S2m Sn1Sn2…Snm 那么基于相似度離差信息的客觀權重計算表達式為[5] w(2)j=∑ni=1∑nk=i+1(sij-skj)2 ∑mj=1[∑ni=1∑nk=i+1(sij-skj)2]2(9) 其中:∑ni=1∑nk=i+1(sij-skj)2表示各實例第j個屬性的相似度離差平方和。 根據屬性權重的實質,權重應該是上面兩類權重的組合,即W=f(W(1),W(2)),本文采用乘法合成計算組合權重: wi=w(1)iw(2)i/∑mj=1w(1)jw(2)j; i=1,2,…,m(10) 從式(10)可以看出,組合權重綜合考慮了決策者偏好和實例屬性信息自身的特點。 2.5 全局相似度 全局相似度由面向模糊數字需求計算的相似度和面向模糊語義需求計算的相似度組成。假設模糊數字需求集為U,模糊語義需求集為T,則第i個實例的全局相似度表達式為 si(g,z)=∑mj=1wj×sij∑mj=1wj= ∑nj=1wj×s(ui,z)∑mj=1wj+ ∑mj=n+1wj×s(ti,z)∑mj=1wj(11) g∈G,G=UT 其中:g為模糊設計需求;z為實例集中的實例。 3 應用實例 將上述相似度和權重計算方法應用于基于實例推理的汽車發動機概念設計中。表1為上海某汽車公司發動機概念設計中已有的部分實例,其中發動機編號是惟一的。 表1 發動機概念設計實例 實例序號發動機編號/ID汽缸容量/cc壓縮比缸徑沖程最大功率/kW最大功率轉速/rpm 最大扭矩/Nm最大扭矩轉速/rpm缸體材料/BM 1A317629.68185.58356001563400鋁 2A7199512849010057501803250鋁 3A12199512849011564002004250鋁 4B1013429.378.7696360001105200鐵 5A15199710.58196.911062001904200鋁 6A1623549.7879912558002204200鋁 7A19133910.873807060001234600鋁 8A23179910.58187.310363001744300鋁 9A2524909.58966.711256002094400鋁 10A32479910.588.39327063004903400鋁 11B15136010.575775653001203400鐵 12C23299610.7858819066003002500鎂鋁合金 為提高計算效率,當獲取了模糊設計需求后,首先必須通過一定的約束規則來篩選發動機編號,規則部分語句如下: if the BM = ′鋁′ then series of ID =′A′; if the BM = ′鐵′ then series of ID =′B′; if the BM = ′鎂鋁合金′ then series of ID =′C′; 表2為模糊設計需求及其相應的相似度計算模型。設計需求中缸體材料為鋁,因此根據約束條件選擇A系列的發動機。根據設計需求及其相應的計算模型,計算出實例的屬性相似度矩陣如表3所示。 表2 設計需求與計算模型 需求及模型汽缸容量/cc壓縮比缸徑沖程最大功率/kW最大功率轉速/rpm最大扭矩/Nm 最大扭矩轉速/rpm缸體材料 設計需求2000左右一般81大于等于90110~120小于等于6000越大越好大于4500鋁 計算模型模糊數字需求“等于”模糊語義需求“中”模糊數字需求“等于”模糊數字需求“大于等于”模糊數字需求在v1、v2之間模糊數字需求“小于等于”模糊語義需求“高”模糊數字需求“大于” 規則約束 表3 設計實例與歷史實例的屬性相似度 實例序號汽缸容量si1壓縮比si2缸徑si3沖程si4最大功率si5最大功率轉速si6最大扭矩si7最大扭矩轉速si8全局相似度si 10.49380.02481.00000.84550.12871.00000.00130.30700.4785 20.99970.01110.53111.00000.75481.00000.00320.01110.5594 30.99970.01110.53111.00001.00000.01110.00650.83530.4976 50.99990.98261.00001.00001.00000.32470.00460.77170.7259 60.93050.05130.07961.00000.99501.00000.01270.77170.6274 70.00430.88760.01110.43650.01111.00000.00031.00000.4699 80.60450.98261.00000.94140.87130.07960.00250.89120.6305 90.87120.01110.01110.01111.00001.00000.00890.97160.4858 100.01110.98260.02361.00000.01110.07961.00000.30700.4692 給定主觀權重向量為W(1)={0.15,0.15,0.1,0.3,0.15,0.2,0.3,0.2},按照式(9)和(10)計算客觀權重和組合權重分別為:W(2)={0.3286,0.4783,0.3963,0.2384,0.3990,0,4305,0.2149,0.2421},W={0.1004,0.1461,0.0807,0.1457,0.1219,0.1753,0.1313,0.0986}。可以看出,雖然汽缸容量、壓縮比和最大功率的主觀權重相等,即w(1)1=w(1)2=w(1)5,但考慮相似度離差信息以后,其權重就有了差異。 最后根據式(11)計算出各個實例的全局相似度如表3所示,相似度從高到低的實例分別是5、8、6、2、3、9、1、7、10。相似度計算結果表明,此方法能有效地對實例進行檢索。 在CBR的設計系統中,設定一定的相似度水平,取相似度大于該水平的實例或直接取相似度較大的幾個實例,對檢索出的實例按一定的修改策略進行調整,最終得到新設計問題的求解方案。 4 結束語 為了提高實例檢索的效率和精度,保證CBRs的有效性,本文提出采用基于隸屬函數的相似度算法來進行模糊實例檢索的方法。該方法數學模型簡單實用,不僅考慮了實例屬性數據本身的分布特點,而且在計算過程中綜合考慮了主觀因素和客觀因素的影響,較好地克服了模糊實例檢索中傳統的基于距離函數相似度算法的復雜性和不精確性缺點,更加真實地反映了現實世界中實例之間的相似程度。此方法應用于汽車發動機的概念設計之中,有效地縮短了汽車設計制造的周期,提高了企業對市場的快速響應能力。 參考文獻: [1]黃進,嚴雋琪,馬登哲,等. 基于實例的工藝知識獲取模型[J]. 上海交通大學學報,1998,32(5):86-89. [2]高偉,殷國富,胡曉兵. 一種新的CAPP實例檢索和檢索特征構建算法[J]. 計算機集成制造系統,2005,11(11):1599-1603. [3]周凱波,馮珊,李鋒. 基于案例屬性特征的相似度計算模型研究[J]. 武漢理工大學學報,2003,23(1):24-27. [4]SHIN K S, HAN I. Case-based reasoning supported by genetic algorithms for corporate bond rating[J]. Expert Systems with Applications,1999,16(2):85-95. [5]蔣占四,陳立平,羅年猛. 最近鄰實例檢索相似度分析[J]. 計算機集成制造系統,2007,13(6):1165-1168. [6]TAHERA K, IBRAHIM R N, LOCHERT P B. A fuzzy logic approach for dealing with qualitative quality characteristics of a process[J]. Expert Systems with Applications, 2008,34(4):2630-2638. [7]YANG B S, JEONG S K, OH Y M, et al. Case-based reasoning system with Petri nets for induction motor fault diagnosis[J]. Expert Systems with Applications,2004,27(2): 301-311. [8]KOWALSKI Z, MELER-KAPCIA M, ZIELINSKI S,et al. CBR methodology application in an expert system for aided design ship’s engine room automation[J]. Expert Systems with Applications,2005,29(2):256-263. [9]LIN Chin-teng, LEE G C S. Neural fuzzy systems: a neuro-fuzzy synergism to intelligent systems[M]. Upper Saddle River, NJ: Prentice Hall PTR,1996.