王華秋
摘 要: 以往的數(shù)據(jù)挖掘教學(xué)沒有把理論知識(shí)和工程項(xiàng)目聯(lián)系起來(lái),抽象的算法理論知識(shí)消減了學(xué)生的學(xué)習(xí)興趣,導(dǎo)致大部分學(xué)生無(wú)法運(yùn)用數(shù)據(jù)挖掘工具解決實(shí)際決策問題。文章以數(shù)據(jù)挖掘中的鄰近支持向量機(jī)算法為例,開發(fā)了圖像檢索教學(xué)演示系統(tǒng),分析了系統(tǒng)各模塊的功能、工作流程和技術(shù)流程,介紹了系統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)管理模塊、數(shù)據(jù)預(yù)處理模塊和核心算法模塊,給出了應(yīng)用實(shí)例。該教學(xué)演示系統(tǒng)有助于學(xué)生對(duì)所學(xué)算法知識(shí)的深入理解、記憶和鞏固。
關(guān)鍵詞: 數(shù)據(jù)挖掘; 鄰近支持向量機(jī); 圖像檢索; 教學(xué)演示系統(tǒng)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2016)01-94-04
Design of image retrieval teaching demonstration system based on data mining
Wang Huaqiu
(Computer Science and Engineering College, Chongqing University of Technology, Chongqing 400054, China)
Abstract: The theoretical knowledge of data mining is not linked to engineering projects in the previous teaching process. The abstract theoretical knowledge of algorithms has weakened the students learning interest, resulting in most of students cannot use data mining tools to solve practical problems. In this paper, the proximal support vector machine algorithm in data mining is used as an example and an image retrieval teaching demonstration system is developed. The system's whole structure, working flow and technology flow are analyzed, the system's data warehouse management module, data preprocessing module and core algorithm are introduced, and application examples are given. The teaching demonstration system will be helpful for students to further understand, memory and consolidate the algorithm knowledge learned.
Key words: data mining; proximal support vector machine; image retrieval; teaching demonstration system
0 引言
如今快速增長(zhǎng)的大數(shù)據(jù)已經(jīng)遠(yuǎn)遠(yuǎn)超出人們的理解能力,因此大數(shù)據(jù)挖掘技術(shù)受到了廣泛關(guān)注。只有挖掘和運(yùn)用海量數(shù)據(jù),獲得有價(jià)值的知識(shí)和信息,才能幫助人們制定正確的決策[1-2]。很多高校為工程類研究生開設(shè)了數(shù)據(jù)挖掘這門課程,研究如何將數(shù)據(jù)挖掘技術(shù)運(yùn)用于企業(yè)管理決策的實(shí)際中去。
根據(jù)理工科高校培養(yǎng)應(yīng)用型人才的目標(biāo),該課程不僅要求學(xué)生掌握數(shù)據(jù)挖掘算法知識(shí),還要以“工程化”理念培養(yǎng)學(xué)生的工程技能[3-5]。而現(xiàn)實(shí)教學(xué)卻讓數(shù)據(jù)挖掘課變成了一門算法分析課或?qū)W術(shù)討論課,教師教得乏力,學(xué)生學(xué)得乏味,沒能達(dá)到人才培養(yǎng)目標(biāo)。
在研究生數(shù)據(jù)挖掘課程的教學(xué)中,不能單純地講解數(shù)據(jù)挖掘算法證明,也不能簡(jiǎn)單地計(jì)算和人為構(gòu)造數(shù)據(jù)挖掘算法的例子、習(xí)題。如果學(xué)習(xí)數(shù)據(jù)挖掘算法時(shí),學(xué)生無(wú)法了解這些算法在工程上的來(lái)源,就無(wú)法運(yùn)用這些算法解決具體工程問題[6-7]。這需要以工程項(xiàng)目作為課程教學(xué)的支撐,但是工程案例又無(wú)法用簡(jiǎn)單的語(yǔ)言或PPT課件形象的描繪出來(lái)。為了讓學(xué)生直觀、真實(shí)地獲得數(shù)據(jù)挖掘的工程項(xiàng)目知識(shí),本文通過圖像檢索教學(xué)演示系統(tǒng)與數(shù)據(jù)挖掘的鄰近支持向量機(jī)算法教學(xué)相結(jié)合,一方面使學(xué)生對(duì)數(shù)據(jù)挖掘本身算法原理有更深的理解,另一方面使他們更容易找到學(xué)以致用的圖式感覺,讓他們能做到觸類旁通,將所學(xué)算法應(yīng)用到各類工程應(yīng)用中。
1 演示系統(tǒng)的關(guān)鍵算法
實(shí)現(xiàn)圖像檢索教學(xué)演示系統(tǒng)的方法是鄰近支持向量機(jī)算法(PSVM)[8],這是一個(gè)比較復(fù)雜的分類算法,如果單從理論推導(dǎo)進(jìn)行講解,再用一些數(shù)據(jù)舉例計(jì)算,那么大量的數(shù)學(xué)公式就會(huì)讓學(xué)生不知所措,復(fù)雜的演算過程也只能起到復(fù)習(xí)數(shù)學(xué)知識(shí)的作用,學(xué)生對(duì)所學(xué)算法的課后保持時(shí)間不長(zhǎng)。下面用少量的公式介紹這個(gè)算法的基本原理。
PSVM的基本原理是將每個(gè)點(diǎn)歸類于兩個(gè)盡可能遠(yuǎn)的平行平面中最接近的一個(gè)。該問題可以歸結(jié)為:
⑴
滿足:
⑵
為了得到非線性分類器,需要把線性分類器中的變量w用其對(duì)偶等價(jià)w=ATDu替換,并將線性核AAT替換為非線性核k(A,AT)即:
⑶
滿足約束:
⑷
這里使用的k(A,AT)=(AAT+c)d,c為非負(fù)常數(shù),d為任意正整數(shù)。
在使用線性分類器對(duì)新樣本進(jìn)行分類時(shí),通過wTx-y的符號(hào)來(lái)確定該樣本屬于哪一類,在使用非線性分類器對(duì)新樣本進(jìn)行分類時(shí),則通過K(xT,AT)u-γ的符號(hào)來(lái)確定。
2 教學(xué)演示系統(tǒng)設(shè)計(jì)
為了給學(xué)生演示鄰近支持向量機(jī)的作用,本文設(shè)計(jì)了一個(gè)圖像檢索系統(tǒng),該系統(tǒng)的主要數(shù)據(jù)挖掘算法就是鄰近支持向量機(jī),借此向?qū)W生講授該算法的實(shí)現(xiàn),加深學(xué)生對(duì)算法原理的理解。下面對(duì)系統(tǒng)的整體結(jié)構(gòu)、各個(gè)功能模塊的工作和圖像檢索的工作過程,詳細(xì)介紹系統(tǒng)的框架結(jié)構(gòu)設(shè)計(jì)。
2.1 系統(tǒng)各模塊的功能
⑴ 圖像特征提取模塊
對(duì)圖像庫(kù)中及用戶提供的圖像特征進(jìn)行量化提取,以向量的形式保存在數(shù)據(jù)庫(kù)中,并與其對(duì)應(yīng)的圖片建立索引。這里涉及到數(shù)據(jù)挖掘的預(yù)處理知識(shí),通過對(duì)數(shù)據(jù)預(yù)處理相關(guān)算法的演示和導(dǎo)入,可以使學(xué)生盡快融入分類算法的學(xué)習(xí)中來(lái),拉近學(xué)生預(yù)備知識(shí)與所學(xué)算法之間的距離。
⑵ 圖像特征分析
直觀地顯示提取出來(lái)的圖像特征,并以直方圖的形式顯示每種特征對(duì)應(yīng)的統(tǒng)計(jì)特征,方便分析不同圖像之間的差異。這部分是用來(lái)演示數(shù)據(jù)預(yù)處理效果的。
⑶ 圖像庫(kù)管理
主要對(duì)圖像庫(kù)中的圖像及其對(duì)應(yīng)的特征進(jìn)行管理,包括:向圖庫(kù)增加圖像和刪除圖庫(kù)中圖像。設(shè)計(jì)這部分是為了讓學(xué)生明白數(shù)據(jù)挖掘算法是建立在數(shù)據(jù)倉(cāng)庫(kù)及其管理基礎(chǔ)之上的。
⑷ 基于底層特征的圖像檢索
主要比較圖像之間底層特征向量的相似程度,并對(duì)相似度進(jìn)行降序排列,返回相似度最高的若干圖像作為檢索結(jié)果。這部分主要用來(lái)演示數(shù)據(jù)挖掘的效果,讓學(xué)生直觀地看到數(shù)據(jù)挖掘的作用。
⑸ 基于鄰近支持向量機(jī)的圖像檢索
該方法以圖像庫(kù)中每張圖像的底層特征作為一類數(shù)據(jù)構(gòu)造分類器,當(dāng)對(duì)新圖像進(jìn)行檢索時(shí),將新圖像的數(shù)據(jù)放入分類器中進(jìn)行分類,返回得到的分類結(jié)果對(duì)應(yīng)的圖像庫(kù)中的圖片即為檢索結(jié)果。這部分是展示算法實(shí)現(xiàn)過程的重點(diǎn)。在演示過程中,需要伴隨提問,不斷引導(dǎo)學(xué)生由觀察演示到對(duì)算法本質(zhì)的認(rèn)識(shí)。
⑹ 綜合語(yǔ)義特征的圖像檢索
首先在上傳圖像入庫(kù)時(shí),需要對(duì)入庫(kù)圖像語(yǔ)義進(jìn)行標(biāo)注,并將圖像底層特征以及圖像語(yǔ)義作為訓(xùn)練集進(jìn)行機(jī)器學(xué)習(xí),當(dāng)用戶提供待檢索圖像時(shí),系統(tǒng)通過計(jì)算語(yǔ)義特征計(jì)算該圖片與圖像庫(kù)中圖像的相似程度。這部分知識(shí)是數(shù)據(jù)挖掘領(lǐng)域里比較前沿的,設(shè)計(jì)語(yǔ)義檢索模塊是為了引發(fā)學(xué)生思考,起到拓展延伸、啟迪思維的作用。
2.2 系統(tǒng)流程
由圖像檢索系統(tǒng)的結(jié)構(gòu)可知,該系統(tǒng)的核心部分在于圖像檢索功能模塊,其中主要涉及到圖像特征提取,相似度匹配,機(jī)器學(xué)習(xí),語(yǔ)義映射等,圖像檢索其主要工作流程如圖1所示。
圖像特征提取包括底層特征提取和語(yǔ)義特征提取,本系統(tǒng)中將底層特征提取和語(yǔ)義特征提取相結(jié)合,形成了一個(gè)綜合多特征的圖像檢索系統(tǒng)。系統(tǒng)主要技術(shù)流程如圖2所示。
這些工作流程和技術(shù)流程,可以在演示系統(tǒng)之前給學(xué)生介紹,讓學(xué)生知道數(shù)據(jù)挖掘工程項(xiàng)目的開發(fā)流程,了解數(shù)據(jù)挖掘各部分之間的邏輯聯(lián)系,培養(yǎng)學(xué)生數(shù)據(jù)挖掘系統(tǒng)的設(shè)計(jì)能力。
3 圖像檢索教學(xué)演示系統(tǒng)實(shí)例
如前所述,本系統(tǒng)六大主要功能模塊組成,其中圖像特征分析和基于底層特征的圖像檢索能比較全面地反映系統(tǒng)的主要功能,下面就演示一下這些功能模塊。
3.1 圖像特征分析
打開預(yù)分析圖片后,點(diǎn)擊工具欄內(nèi)“特征分析”按鈕或點(diǎn)擊菜單欄內(nèi)的“圖像分析”選擇特征分析方式,即可在“特征分析”窗體中顯示分析結(jié)果,如圖3。
講授這部分時(shí),可以組織學(xué)生討論還有什么特征分析方法,如何將這些方法加入到系統(tǒng)中來(lái),從而激發(fā)學(xué)生的系統(tǒng)開發(fā)意識(shí)。
3.2 基于鄰近支持向量機(jī)的圖像檢索
智能檢索是采用特征分類的方式實(shí)現(xiàn)圖像檢索的方法,該方法以每張圖片的特征作為一類進(jìn)行訓(xùn)練,構(gòu)造分類器,當(dāng)用戶欲檢索圖片時(shí)則將樣本圖片放入分類器中進(jìn)行分類,分類結(jié)果對(duì)應(yīng)的圖像庫(kù)中的圖像作為檢索結(jié)果反饋給用戶。
3.2.1 訓(xùn)練學(xué)習(xí)
智能檢索功能模塊主要分為訓(xùn)練學(xué)習(xí)和檢索兩部分。首先需要通過訓(xùn)練學(xué)習(xí)構(gòu)造分類器,當(dāng)圖像庫(kù)數(shù)據(jù)發(fā)生變化后,若希望通過智能檢索圖像,均需要進(jìn)行訓(xùn)練學(xué)習(xí)。分類器的訓(xùn)練是教學(xué)重點(diǎn),要結(jié)合算法原理和程序代碼把這部分內(nèi)容講透,布置作業(yè),讓學(xué)生課后仿照演示系統(tǒng)做一個(gè)分類器,以鞏固課堂學(xué)習(xí)成果。教師可將做得好的分類器集成到演示系統(tǒng)中,既豐富了系統(tǒng)的功能,又讓學(xué)生體會(huì)到成就感。
用戶需要選擇訓(xùn)練學(xué)習(xí)的方式有:①是否對(duì)特征值進(jìn)行模糊化處理;②是否顯示訓(xùn)練結(jié)果。該學(xué)習(xí)方式的選擇通過如圖4所示的兩個(gè)復(fù)選框來(lái)實(shí)現(xiàn)。
學(xué)習(xí)方式選擇完成后點(diǎn)擊“開始學(xué)習(xí)”按鈕實(shí)現(xiàn)分類器構(gòu)造,學(xué)習(xí)完畢后會(huì)顯示學(xué)習(xí)所用時(shí)間,若勾選“顯示學(xué)習(xí)結(jié)果”復(fù)選框,則在右側(cè)的“學(xué)習(xí)效果”文本框內(nèi)會(huì)顯示隊(duì)形的學(xué)習(xí)結(jié)果,但顯示學(xué)習(xí)效果會(huì)增加學(xué)習(xí)時(shí)間。通過算法比較,可以讓學(xué)生體會(huì)算法改進(jìn)的必要性,樹立一種創(chuàng)新理念。
3.2.2 智能檢索
智能檢索有兩種方式,一種是快速檢索,另一種是一般檢索。快速檢索速度一般較快但精度較低,而一般檢索精度較高但速度較慢。
該系統(tǒng)將程序開發(fā)、機(jī)器學(xué)習(xí)、圖像處理技術(shù)進(jìn)行了充分的結(jié)合,使學(xué)生能夠根據(jù)所學(xué)的算法解決圖像檢索的問題,從而加深對(duì)算法的理解和認(rèn)識(shí)。教師要將一些必要的代碼給學(xué)生講解,把系統(tǒng)各部分的運(yùn)行效果給學(xué)生演示,將講解和演示相結(jié)合,選擇恰當(dāng)?shù)臅r(shí)間演示,達(dá)到理想的教學(xué)效果。
4 結(jié)論
本文通過具體的圖像檢索工程案例,探討數(shù)據(jù)挖掘與知識(shí)發(fā)現(xiàn)的算法應(yīng)用。實(shí)際教學(xué)效果表明,結(jié)合工程化應(yīng)用能在很大程度上幫助學(xué)生理解并應(yīng)用數(shù)據(jù)挖掘的算法,提高了學(xué)生對(duì)數(shù)據(jù)挖掘的學(xué)習(xí)興趣,也加深了對(duì)挖掘算法的理解。今后還將開發(fā)更多的相關(guān)案例和演示系統(tǒng),涉及更多的數(shù)據(jù)挖掘算法,通過有效的課堂組織和演示,幫助學(xué)生逐步積累起工程開發(fā)經(jīng)驗(yàn)。
參考文獻(xiàn)(References):
[1] 王珊,王會(huì)舉,覃雄派等.架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J].計(jì)
算機(jī)學(xué)報(bào),2011.34(10):1741-1752
[2] 李國(guó)杰,程學(xué)旗.大數(shù)據(jù)研究:未來(lái)科技及經(jīng)濟(jì)社會(huì)發(fā)展的重
大戰(zhàn)略領(lǐng)域[J].中國(guó)科學(xué)院院刊,2012.27(6):647-657
[3] 韓如成.工程實(shí)踐能力培養(yǎng)的探索與實(shí)踐[J].中國(guó)大學(xué)教學(xué),
2009.6:77-79
[4] 王仲民,姚合環(huán).高校培養(yǎng)學(xué)生工程實(shí)踐能力的途徑[J].理工
高教研究,2008.27(1):121-122
[5] 戴波,紀(jì)文剛,劉建東等.以工程能力培養(yǎng)為主線建構(gòu)專業(yè)人
才培養(yǎng)模式[J].高等工程教育研究,2011.6:136-140
[6] 蔣盛益,李霞,鄭琪.研究性學(xué)習(xí)和研究性教學(xué)的實(shí)證研究
——以數(shù)據(jù)挖掘課程為例[J].計(jì)算機(jī)教育,2014.24:97-101
[7] 周森鑫,盛鵬飛,王夫芹.數(shù)據(jù)挖掘課程案例教學(xué)研究[J].計(jì)算
機(jī)技術(shù)與發(fā)展,2012.11:183-186
[8] K.P. Soman等著,范明,牛常勇譯.數(shù)據(jù)挖掘基礎(chǔ)教程[M].機(jī)
械工業(yè)出版社,2009.