Renascence架构原理——遗传规划算法
遺傳規(guī)劃算法
遺傳規(guī)劃算法
請先看一下遺傳算法:
http://blog.csdn.net/v_JULY_v/article/details/6132775
遺傳規(guī)劃/遺傳編程(Genetic Programming)是遺傳算法的一個分支,與遺傳算法中每個個體是一段染色體編碼不同,它的個體是一個計算機程序。
維基上說它在70年代就已經有人實踐,不過正式提出應該還是在John R. Koza教授于1990年發(fā)表的博士論文中。
遺傳規(guī)劃最早的應用是符號回歸,比如為了擬合 z=f(x,y),它生成一個初始函數(shù) g(x,y),然后以g(x,y)與z的相關系數(shù)為適應度,進行選擇交叉變異,最終得到最優(yōu)的一個函數(shù)g’,再做一次線性回歸即可。
如下是GP表示的一個例子,自然,還有其他的表達方式:
線型:GEP(Gene Expression Programming),
圖型:CGP(Cartesian Genetic Programming)。
以樹型為例:
這棵樹表示一個函數(shù),就是上面所述的g(x,y),至于怎么用就見仁見智了,確定好用法之后設定一個計算適應度的方案,就可以跑遺傳規(guī)劃了。
在遺傳規(guī)劃中,選擇算子與遺傳算法的相同,交叉變異需要根據(jù)表達方式來。
樹形的交叉實現(xiàn)是這樣:
變異實現(xiàn)是這樣:
總結
以上是生活随笔為你收集整理的Renascence架构原理——遗传规划算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R:在Ubuntu14.04 安装R
- 下一篇: 《Elasticsearch in Ac