關(guān)于我們
書單推薦
新書推薦
|
機(jī)器學(xué)習(xí)導(dǎo)論
這本書通過給出易操作的實(shí)踐指導(dǎo)、采用簡單的例子、激勵學(xué)生討論有趣的應(yīng)用問題,用一種易于理解的方式介紹了機(jī)器學(xué)習(xí)的基本思想。本書主題包括貝葉斯分類器、近鄰分類器、線性和多項式分類器、決策樹、神經(jīng)網(wǎng)絡(luò)以及支持向量機(jī)。后面的章節(jié)展示了如何把這些簡單工具通過“提升”(boosting)的方式結(jié)合起來,怎樣將它們應(yīng)用于更加復(fù)雜的領(lǐng)域,以及如何處理各種高級的實(shí)踐問題。其中有一章介紹了廣為人知的遺傳算法。
適讀人群 :職場人士 管理者
人工智能專家米羅斯拉夫?庫巴特教授25年傾心打造
系統(tǒng)解讀了有關(guān)機(jī)器學(xué)習(xí)的14個方面,快速讀懂機(jī)器學(xué)習(xí)
全面揭開機(jī)器學(xué)習(xí)的奧秘
本書系統(tǒng)全面,既可以自學(xué)又可以作為研究參考。既道出了機(jī)器學(xué)習(xí)的前世今生,又展望了發(fā)展的未來,讓道聽途說的信息止于智者。全面討論機(jī)器學(xué)習(xí)方法和技術(shù),層次合理、敘述清晰、難度適中。涵蓋了經(jīng)典的機(jī)器學(xué)習(xí)算法和理論,同時補(bǔ)充了近年來新出現(xiàn)的機(jī)器學(xué)習(xí)方法。
目前,機(jī)器學(xué)習(xí)慢慢走向成熟。你可能覺得這只是老生常談,請讓我做一個詳細(xì)說明。
人們希望機(jī)器某一天能夠自己學(xué)習(xí),這個夢想幾乎在計算機(jī)出現(xiàn)時就有了,也許更早。不過,長久以來,這僅僅是一個想象而已。羅森布拉特(Rosenblatt)感知器的提出曾經(jīng)掀起過一股熱潮,但是現(xiàn)在回想起來,這股熱潮沒能持續(xù)很長的時間。至于接下來的嘗試,使情況發(fā)展得更糟糕,這個領(lǐng)域甚至沒有再引起人們的注意,長期被忽視,因而無法取得重大突破,也沒有這一類的軟件公司,后續(xù)研究寥寥無幾且得到的資金支持也不多。這個階段,機(jī)器學(xué)習(xí)一直不被看好,像進(jìn)入休眠期一樣,在其他成功學(xué)科的陰影里生存。
然而,接下來發(fā)生的一切使這些頹勢徹底改變了。
一群有識之士指出,在20世紀(jì)70年代的人工智能領(lǐng)域,基于知識的系統(tǒng)曾經(jīng)風(fēng)靡一時,但它們有一個弱點(diǎn):“知識”從哪里來?當(dāng)時主流的觀點(diǎn)認(rèn)為,應(yīng)該讓工程師和領(lǐng)域?qū)<液献,用if-then的形式表示出來。但是實(shí)際情況差強(qiáng)人意,專家們發(fā)現(xiàn)很難把掌握的知識表達(dá)給工程師。反過來,工程師也不知道該問什么問題以及如何表示答案。盡管有幾個廣為人知的成功案例,但是其他大多數(shù)研究都試圖建立知識庫,并且成千上萬的規(guī)則令人沮喪。
這些有識之士主張簡單和直接的操作。如果難以準(zhǔn)確地告訴機(jī)器如何處理某個問題,那么為什么不間接地給出指令,通過例子展示所需要的技能,計算機(jī)將通過這些例子來學(xué)習(xí)!
當(dāng)然,這必須要有能夠進(jìn)行學(xué)習(xí)的算法才有意義,這也是困難所在。無論是羅森布拉特的感知器還是后來出現(xiàn)的技術(shù)都不太管用。然而,機(jī)器學(xué)習(xí)在技術(shù)方面的缺乏算不上是障礙,相反是一個挑戰(zhàn),并激發(fā)出了很多絕妙的點(diǎn)子。其中,使計算機(jī)有學(xué)習(xí)能力這個想法開創(chuàng)了一個激動人心的新領(lǐng)域,并引起了世人的關(guān)注。
這一想法在1983年爆發(fā)了。一卷很厚的論文集——《機(jī)器學(xué)習(xí):人工智能的方法》 米切爾斯基(R. Michalski), 卡波內(nèi)爾(J. Carbonell), 米切爾(T. Mitchell)編輯。
T.Mitchell.Machine Learning[M].New York:McGraw-Hill,1997.中提出了很多各式各樣的方法來求解這個謎題。在它的影響下,幾乎一夜之間一個新的學(xué)科誕生了。3年后,后續(xù)著作一本接一本地出現(xiàn)。相關(guān)學(xué)術(shù)刊物也很快被創(chuàng)立,有著巨大影響力的年度學(xué)術(shù)會議相繼召開。幾十、或許是幾百篇博士論文完成并通過答辯。
早期階段,問題不僅是如何學(xué)習(xí),而是學(xué)什么和為什么學(xué)。這段充滿創(chuàng)造力的歲月讓人難以忘懷,唯一有些遺憾的是很多非常好的想法后來被放棄了。實(shí)用主義占了上風(fēng),資源都被投向那些最有希望的方向。經(jīng)過一段時間的發(fā)展,具體研究基本成形:知識系統(tǒng)if-then規(guī)則的歸納,分類歸納,程序基于經(jīng)驗來提高技能,Prolog程序自動調(diào)優(yōu),以及其他方面。相關(guān)的研究方向非常多,一些知名學(xué)者希望通過寫書來引領(lǐng)未來的發(fā)展,這其中有些人做得很成功。
機(jī)器學(xué)習(xí)發(fā)展的一個重要的轉(zhuǎn)折點(diǎn)是湯姆·米切爾(Tom Mitchell)的傳奇教科書。該書向博士生和科學(xué)家們總結(jié)了該領(lǐng)域的發(fā)展現(xiàn)狀,慢慢地大學(xué)也用這本書作為研究生的教材。同時,研究方法也變得更加系統(tǒng)化。大量機(jī)器學(xué)習(xí)測試庫被建立起來,用于比較性能或者學(xué)習(xí)算法的優(yōu)劣。統(tǒng)計評估方法也被廣泛地使用在評估過程中。相關(guān)流行程序的公開版本很容易獲得,從事這個學(xué)科的人數(shù)增至數(shù)千,甚至更多。
現(xiàn)在,到了很多大學(xué)都為本科生開設(shè)機(jī)器學(xué)習(xí)課程的階段。通常這些課程需要不同類型的教材。除了掌握基本技術(shù)以外,學(xué)生還需要了解不同方法的優(yōu)點(diǎn)和缺點(diǎn),以及不同情況下每種方法的獨(dú)特之處。最重要的是,他們需要理解在特定情況下,哪些技術(shù)是可行的,哪些是不可行的。只有這樣才能在解決具體問題時做出正確的選擇。一本教材除了滿足以上的各項要求外,還應(yīng)該介紹一些數(shù)學(xué)概念,多包括一些實(shí)用的建議。
關(guān)于教材,還要考慮材料的多少、結(jié)構(gòu)以及風(fēng)格,以便能夠支持一個學(xué)期的導(dǎo)論課程。
第一個問題是材料的選擇。當(dāng)高科技公司準(zhǔn)備成立機(jī)器學(xué)習(xí)研究團(tuán)隊時,大學(xué)就要向?qū)W生傳授相應(yīng)的知識和技能,以及對有關(guān)行業(yè)需求的理解。出于這個原因,本書重點(diǎn)介紹了貝葉斯分類器,最近鄰分類器,線性和多項式分類器,決策樹,神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),以及提升(Boosting)算法的原理。本書用很大篇幅來描述具體應(yīng)用的典型特征。在現(xiàn)實(shí)中,當(dāng)面對有一定難度的任務(wù)時,一些基本方法和老師在實(shí)驗環(huán)境下演示的結(jié)果可能不完全一樣。因此在學(xué)習(xí)過程中,學(xué)生必須知道每種方法會發(fā)生什么。
本書共包括14章,每章覆蓋一個專題。各章分成很多個小節(jié),每節(jié)介紹一個關(guān)鍵問題。建議學(xué)生在做完每一節(jié)后面的2~4個“控制問題”后再學(xué)習(xí)下一節(jié)。這些問題用來幫助檢查學(xué)生對學(xué)習(xí)材料的掌握情況。如果不會做這些題,則有必要重新閱讀相關(guān)內(nèi)容。
俗話說,實(shí)踐出真知。每章結(jié)尾安排了必要的練習(xí)用于實(shí)際操作。如果接下來的思考實(shí)驗?zāi)軌蛉客瓿,將有助于更深入地理解所學(xué)內(nèi)容的各個方面。不過這些實(shí)驗難度較大,只有付出很大努力才能獲得正確的答案。所學(xué)的知識在上機(jī)實(shí)驗中可被進(jìn)一步鞏固。編程對于學(xué)習(xí)同樣也很重要。現(xiàn)在,人們都習(xí)慣從網(wǎng)上下載所需的程序,這是捷徑,但本書不建議這樣做,因為只有具體實(shí)現(xiàn)了程序的全部細(xì)節(jié),才能領(lǐng)會機(jī)器學(xué)習(xí)技術(shù)的精妙之處。
機(jī)器學(xué)習(xí)是人工智能領(lǐng)域的一個重要分支,其研究涉及代數(shù)、幾何、概率統(tǒng)計、優(yōu)化、泛函分析、圖論、信息論、算法、認(rèn)知計算等多個學(xué)科的知識,其應(yīng)用不僅僅限于模式識別、計算機(jī)視覺、數(shù)據(jù)挖掘、生物信息學(xué)、智能控制等科學(xué)和工程領(lǐng)域,甚至在社會科學(xué)領(lǐng)域的研究中也有應(yīng)用,如管理學(xué)、經(jīng)濟(jì)學(xué)和歷史學(xué)等。目前,隨著計算機(jī)科學(xué)和智能科學(xué)技術(shù)的進(jìn)步,機(jī)器學(xué)習(xí)得到了快速發(fā)展,其方法被廣泛應(yīng)用到了各個領(lǐng)域。尤其是近些年,深度學(xué)習(xí)方法快速發(fā)展并在多個領(lǐng)域展示出優(yōu)異性能,使機(jī)器學(xué)習(xí)和整個人工智能領(lǐng)域受到極大的關(guān)注。
機(jī)器學(xué)習(xí)是基于已有數(shù)據(jù)、知識或經(jīng)驗來設(shè)計模型或發(fā)現(xiàn)新知識的一個研究領(lǐng)域。20世紀(jì)50~70年代是機(jī)器學(xué)習(xí)研究的初期,人們基于邏輯知識表示試圖給機(jī)器賦予邏輯推理能力,取得了很多振奮人心的成果;20世紀(jì)80年代,專家系統(tǒng)受到高度重視,為專家系統(tǒng)獲取知識成為一個重要方向。20世紀(jì)80年代中后期,人工神經(jīng)網(wǎng)絡(luò)由于誤差反向傳播(BP)算法的重新提出和廣泛應(yīng)用而形成一股熱潮,但其地位在90年代后期被以支持向量機(jī)為核心的統(tǒng)計學(xué)習(xí)理論所取代。20世紀(jì)90年代以后,受重視的機(jī)器學(xué)習(xí)方法還有集成學(xué)習(xí)、概率圖模型、半監(jiān)督學(xué)習(xí)、遷移學(xué)習(xí)等。2006年,以加拿大多倫多大學(xué)的G. Hinton教授為代表的幾位研究人員在深度學(xué)習(xí)方面取得巨大突破,在Google、Microsoft、Facebook等科技公司的推動下,深度學(xué)習(xí)借助于大數(shù)據(jù)和高性能計算的有利條件得到了廣泛應(yīng)用和高度關(guān)注。目前,搜索引擎、機(jī)器人、無人駕駛汽車等高科技產(chǎn)品都依賴于機(jī)器學(xué)習(xí)技術(shù)。機(jī)器學(xué)習(xí),特別是深度學(xué)習(xí),在語音識別、人臉識別、圍棋、游戲等方面已經(jīng)超過了人類水平,可以想象機(jī)器學(xué)習(xí)與人類的生產(chǎn)、生活之間的關(guān)系將會越來越緊密。
過去幾十年,機(jī)器學(xué)習(xí)領(lǐng)域也出現(xiàn)了一些經(jīng)典的著作或教材。1983年,R.Michalski、J.Carbonell和T. Mitchell主編的《機(jī)器學(xué)習(xí):一種人工智能方法》一書出版,標(biāo)志著機(jī)器學(xué)習(xí)成為人工智能的一個獨(dú)立研究領(lǐng)域。《Machine Learning》期刊創(chuàng)刊于1986年,目前依然是機(jī)器學(xué)習(xí)領(lǐng)域的頂級期刊。1990年,J.Carbonell主編的《機(jī)器學(xué)習(xí):范式與方法》對歸納學(xué)習(xí)、基于解釋的學(xué)習(xí)、遺傳算法和連接主義學(xué)習(xí)等機(jī)器學(xué)習(xí)范式及方法進(jìn)行了深入探討。T. Mitchell于1997年出版的《機(jī)器學(xué)習(xí)》是一本經(jīng)典的機(jī)器學(xué)習(xí)教材,其中文版已于2003年由機(jī)械工業(yè)出版社出版,但因為出版年限較早,許多內(nèi)容已沒有時效性。1998年,V. Vapnik出版的《統(tǒng)計學(xué)習(xí)理論》是一本完整闡述統(tǒng)計機(jī)器學(xué)習(xí)思想的名著。2001年出版、2009年再版的《統(tǒng)計學(xué)習(xí)基礎(chǔ):數(shù)據(jù)挖掘,推理和預(yù)測》是美國斯坦福大學(xué)教授T. Hastie,R. Tibshirani和J. Friedman的一部力作,其中對最為流行的機(jī)器學(xué)習(xí)方法進(jìn)行了全面而深入的介紹,因其嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)推導(dǎo),該書不失為機(jī)器學(xué)習(xí)研究進(jìn)階的很好的讀物。E. Alpaydin所著的《機(jī)器學(xué)習(xí)導(dǎo)論》出版于2004年并于2010年再版,書中對基礎(chǔ)的機(jī)器學(xué)習(xí)方法進(jìn)行了介紹,是一本機(jī)器學(xué)習(xí)入門的很好的教材。C. Bishop所著的《模式識別與機(jī)器學(xué)習(xí)》和K. Murphy所著的《機(jī)器學(xué)習(xí):一個概率的視角》分別于2006年和2012年出版,兩本書都從概率的角度全面而細(xì)致地介紹了許多經(jīng)典的機(jī)器學(xué)習(xí)模型。C. Bishop的《模式識別與機(jī)器學(xué)習(xí)》可幫助讀者打下堅實(shí)的機(jī)器學(xué)習(xí)基礎(chǔ),而K. Murphy的書則相對介紹了更多較新的機(jī)器學(xué)習(xí)算法,甚至有一章專門介紹了深度學(xué)習(xí)方法。2012年,李航老師出版了《統(tǒng)計學(xué)習(xí)方法》,2016年,周志華老師出版了《機(jī)器學(xué)習(xí)》。這兩本書中,《統(tǒng)計學(xué)習(xí)方法》主要集中于幾種重要機(jī)器學(xué)習(xí)模型的介紹,而《機(jī)器學(xué)習(xí)》內(nèi)容相對更加全面,深入淺出,堪稱機(jī)器學(xué)習(xí)的中文經(jīng)典著作。相對于以上這些機(jī)器學(xué)習(xí)書籍,M. Kubat所寫的這本《機(jī)器學(xué)習(xí)導(dǎo)論》更像是一本科普性質(zhì)的讀物,作者盡量避開復(fù)雜的數(shù)學(xué)公式,用生動形象的方式介紹機(jī)器學(xué)習(xí)算法,而且本書篇幅適當(dāng),又涵蓋了幾乎所有基本的機(jī)器學(xué)習(xí)方法,使得本書不僅適合作為本科學(xué)生機(jī)器學(xué)習(xí)課程的教材,也適合于想了解機(jī)器學(xué)習(xí)入門知識的普通讀者。
本書的譯者都是工作在機(jī)器學(xué)習(xí)教學(xué)與研究第一線的年輕老師,其中仲國強(qiáng)副教授過去是我的博士研究生,在模式識別和機(jī)器學(xué)習(xí)領(lǐng)域都有很扎實(shí)的研究基礎(chǔ)。相信本書的中譯本對于國內(nèi)機(jī)器學(xué)習(xí)的教學(xué)和研究都會有所裨益,也為更多的人,尤其是初學(xué)者了解機(jī)器學(xué)習(xí)打開一扇門。
中國科學(xué)院自動化研究所副所長、模式識別國家重點(diǎn)實(shí)驗室主任
劉成林
米羅斯拉夫·庫巴特,美國邁阿密大學(xué)教授,從事機(jī)器學(xué)習(xí)教學(xué)和研究超過25年。他已發(fā)表100余篇經(jīng)過同行評審的論文,與人合編了兩本著作,是近60個會議和研討會的程序委員會委員,并擔(dān)任3本學(xué)術(shù)刊物的編委。他在兩個方面的前沿研究上得到了廣泛贊譽(yù):時變概念的歸納學(xué)習(xí)和在非平衡訓(xùn)練集上的學(xué)習(xí)。此外,在多標(biāo)簽樣例上的歸納學(xué)習(xí)、層次組織的類別上的歸納學(xué)習(xí)、遺傳算法、神經(jīng)網(wǎng)絡(luò)的初始化等問題上,他也做出了很多貢獻(xiàn)。
推薦序
前言
第1章 一個簡單的機(jī)器學(xué)習(xí)任務(wù)//
1.1訓(xùn)練集和分類器//
1.2一點(diǎn)題外話:爬山搜索//
1.3機(jī)器學(xué)習(xí)中的爬山法//
1.4分類器的性能//
1.5可用數(shù)據(jù)的困難//
1.6總結(jié)和歷史簡評//
1.7鞏固你的知識//
第2章 概率:貝葉斯分類器//
2.1單屬性的情況//
2.2離散屬性值的向量//
2.3稀少事件的概率:利用專家的直覺//
2.4如何處理連續(xù)屬性//
2.5高斯鐘形函數(shù):一個標(biāo)準(zhǔn)的概率密度函數(shù)//
2.6用高斯函數(shù)的集合近似概率密度函數(shù)//
2.7總結(jié)和歷史簡評//
2.8鞏固你的知識//
第3章 相似性:最近鄰分類器//
3.1k近鄰法則//
3.2度量相似性//
3.3不相關(guān)屬性與尺度縮放問題//
3.4性能方面的考慮//
3.5加權(quán)最近鄰//
3.6移除危險的樣例//
3.7移除多余的樣例//
3.8總結(jié)和歷史簡評//
3.9鞏固你的知識//
第4章 類間邊界:線性和多項式分類器//
4.1本質(zhì)//
4.2加法規(guī)則:感知機(jī)學(xué)習(xí)//
4.3乘法規(guī)則:WINNOW//
4.4多于兩個類的域//
4.5多項式分類器//
4.6多項式分類器的特殊方面//
4.7數(shù)值域和支持向量機(jī)//
4.8總結(jié)和歷史簡評//
4.9鞏固你的知識//
第5章 人工神經(jīng)網(wǎng)絡(luò)//
5.1作為分類器的多層感知機(jī)//
5.2神經(jīng)網(wǎng)絡(luò)的誤差//
5.3誤差的反向傳播//
5.4多層感知機(jī)的特殊方面//
5.5結(jié)構(gòu)問題//
5.6徑向基函數(shù)網(wǎng)絡(luò)//
5.7總結(jié)和歷史簡評//
5.8鞏固你的知識//
第6章 決策樹//
6.1作為分類器的決策樹//
6.2決策樹的歸納學(xué)習(xí)//
6.3一個屬性承載了多少信息//
6.4數(shù)值屬性的二元劃分//
6.5剪枝//
6.6將決策樹轉(zhuǎn)換為規(guī)則//
6.7總結(jié)和歷史簡評//
6.8鞏固你的知識//
第7章 計算學(xué)習(xí)理論//
7.1PAC 學(xué)習(xí)//
7.2PAC可學(xué)習(xí)性的實(shí)例//
7.3一些實(shí)踐和理論結(jié)果//
7.4VC維與可學(xué)習(xí)性//
7.5總結(jié)和歷史簡評//
7.6鞏固你的知識//
第8章 幾個有幫助的案例//
8.1字符識別//
8.2溢油檢測//
8.3睡眠分類//
8.4腦機(jī)界面//
8.5醫(yī)療診斷//
8.6文本分類//
8.7總結(jié)和歷史簡評//
8.8鞏固你的知識//
第9章 投票組合簡介//
9.1“裝袋”方法(Bagging)//
9.2夏皮爾提升(Schapires Boosting)//
9.3Adaboost——Boosting的實(shí)用版本//
9.4Boosting方法的變種//
9.5Boosting方法的計算優(yōu)勢//
9.6總結(jié)和歷史簡評//
9.7鞏固你的知識//
第10章 了解一些實(shí)踐知識//
10.1學(xué)習(xí)器的偏好//
10.2不平衡訓(xùn)練集//
10.3語境相關(guān)域//
10.4未知屬性值//
10.5屬性選擇//
10.6雜項//
10.7總結(jié)和歷史簡評//
10.8鞏固你的知識//
第11章 性能評估//
11.1基本性能標(biāo)準(zhǔn)//
11.2精度和查全率//
11.3測量性能的其他方法//
11.4多標(biāo)簽域內(nèi)的性能//
11.5學(xué)習(xí)曲線和計算開銷//
11.6實(shí)驗評估的方法//
11.7總結(jié)和歷史簡評//
11.8鞏固你的知識//
第12章 統(tǒng)計顯著性//
12.1總體抽樣//
12.2從正態(tài)分布中獲益//
12.3置信區(qū)間//
12.4一個分類器的統(tǒng)計評價//
12.5另外一種統(tǒng)計評價//
12.6機(jī)器學(xué)習(xí)技術(shù)的比較//
12.7總結(jié)和歷史簡評//
12.8鞏固你的知識//
第13章 遺傳算法//
13.1基本遺傳算法//
13.2單個模塊的實(shí)現(xiàn)//
13.3為什么能起作用//
13.4過早退化的危險//
13.5其他遺傳算子//
13.6高級版本//
13.7k-NN 分類器的選擇//
13.8總結(jié)和歷史簡評//
13.9鞏固你的知識//
第14章 增強(qiáng)學(xué)習(xí)//
14.1如何選出最高獎勵的動作//
14.2游戲的狀態(tài)和動作//
14.3SARSA方法//
14.4總結(jié)和歷史簡評//
14.5鞏固你的知識//
參考文獻(xiàn)//
遺傳算法是一個通用的一般框架,有無數(shù)可能的變化。本節(jié)將介紹兩種有趣的技術(shù)。
拉馬克(Lamarckian)選擇的說明。計算機(jī)程序不像生物學(xué)那樣會受到限制。設(shè)計者常拋棄這些限制,就像早期飛行員拋棄了羽毛翅膀的想法那樣。在創(chuàng)造“永生”樣本時我們就違反過限制,把樣本直接復(fù)制進(jìn)后代從而免受到重組和變異的破壞。接下來再看看另一種情況。
在基準(zhǔn)遺傳算法中,新的子串只能在重組和變異的隨機(jī)過程中產(chǎn)生。在這之后,遺傳信息在樣本整個生命周期中都將保持不變。一個比達(dá)爾文更早的生物學(xué)家讓-巴蒂斯特·拉馬克(Jean-Baptiste Larmarck)的想法更加靈活:他認(rèn)為生物體的進(jìn)化是受需求驅(qū)動的。長頸鹿為了能吃到高處的樹葉而不停地伸脖子,于是脖子變長,長脖子這一進(jìn)化又遺傳給后代。盡管拉馬克的假說在生物學(xué)里被認(rèn)為是不成立的,但是在其他領(lǐng)域并不是完全沒有用。例如,研究人員可通過發(fā)表科學(xué)論文把知識傳遞給后來人。
相比經(jīng)典的達(dá)爾文進(jìn)化過程,拉馬克的進(jìn)化過程要快得多,這就是為什么我們要在遺傳算法中實(shí)現(xiàn)它的原因。把這個概念并入到圖13.1所示的循環(huán)中的最簡單的辦法是把“拉馬克”算子放在“幸運(yùn)輪”和重組算子之間。拉馬克算子的任務(wù)是通過適應(yīng)性來改善染色體。例如,我們可以設(shè)問,如果某一位產(chǎn)生了變異會發(fā)生什么?因為變異是不可逆的,所以我們可以在變異過程中更靈活一些,先測試當(dāng)?shù)趇位翻轉(zhuǎn)后將發(fā)生什么,然后選擇較好的版本。
多種群搜索。多種群搜索要和遺傳算法依靠的多參數(shù)一起進(jìn)行。大多數(shù)時候要靠個人的經(jīng)驗,另外也可以在相同的初始種群上并行地運(yùn)行多個遺傳算法,每個都有各自的變異頻率、是否逆序變異、不同的重組算子的組合或修改過的適應(yīng)度函數(shù)。在這些情況中,有一些搜索能更快地找到解。
回憶一下在討論過早退化那一節(jié)曾提到的多種群搜索。在那里建議讓兩個或多個種群在相對隔絕的情況下獨(dú)立進(jìn)化,偶爾允許異種雜交。而如果種群使用了本文前面提到的不同的染色體定義,則這種雜交可能不容易實(shí)現(xiàn)。這時編程人員需要使用專門的程序?qū)崿F(xiàn)一種編碼向另一種編碼的轉(zhuǎn)換。
數(shù)據(jù)串,符號串。染色體編碼不需要必須是二進(jìn)制位串,也可以是數(shù)字串或字符串。前面提到的重組算子都可以用于這兩種編碼形式,但變異算子需要做些改變。在數(shù)字串中最常見的變異是用“噪聲”疊加到部分(或全部)染色體的“基因”上。例如,如果所有的位置包含區(qū)間[0,100]的數(shù)字,于是噪聲就可以建模為區(qū)間[-a,+a]的隨機(jī)數(shù),其中a是用戶指定的參數(shù),類似于前面二進(jìn)制串中的變異頻率。它的工作原理見下表:
……
你還可能感興趣
我要評論
|