劉林慧
(黑龍江工業學院 黑龍江省雞西市 158100)
集成學習就是通過集成很多個學習器來完成學習任務,通常集成學習得到的結果比單個學習器得到的結果更加準確。而選擇性集成[1]是指在現有的集成學習的學習器中,剔除掉一部分作用不大或者是起反作用的學習器,使得結果更加準確的一種算法。
免疫算法[2]是一種仿生智能算法。相比于其他仿生智能優化算法,免疫算法有很多優點,如全局收斂性、種群多樣性等。免疫遺傳算法[3]是免疫算法中的一類,也是遺傳算法的改進算法。
隨機森林[4][5][6]是一種集成學習算法,隨機森林的每個學習器是決策樹。通常隨機森林與決策樹相比,有更低的泛化誤差。
基因空間均勻分布策略[7]的主要思想就是突變其中占比高的基因,讓所有的基因都最大限度的均勻分布在編碼空間中,達到使初始種群多樣化的目的。
將基因空間均勻分布策略的思想用在隨機森林子集優化中,為了保證每棵樹在種群中是均勻分布的。優先突變的抗體應符合如下條件:
(1)抗體濃度高的抗體。
(2)種群中樹的列表值重復的抗體。
抗體i 的第k 位基因突變方式如下:

以表1 所示的原始基因為例,按照隨機森林問題下的基因分布均勻策略的原則對基因進行突變,改進前后抗體濃度對比結果如表2。
從實驗結果可以看出,新生成的初始種群有更低濃度,說明抗體之間的相似度大大降低;樹的總和中有更多的組合值出現,說明改進的方法很好的增加了初始種群的多樣性。
因此,隨機森林問題下基因空間均勻分布策略的算法如算法1。
算法1: 隨機森林問題下基因空間均勻分布策略

隨機森林問題下基因空間均勻分布策略輸入:隨機產生的初始種群過程:1.生成抗體濃度列表、種群中樹的列表和基因為0 的分布列表2.For 檢測種群中每一基因位的組成{

表1:原始基因分布表

圖1:UCI 數據集上免疫遺傳、改進免疫遺傳的適應度函數值折線對比圖

3.If 某基因在該位所占比例大于平均值4.Then 把這種基因變異成在該位所占比例最低5. 遍歷抗體濃度列表和樹的列表6. 優先選擇抗體濃度高且樹的列表有所重復的位的基因 的基因}抗體,突變該基因7. 更新抗體濃度列表和種群中樹的列表輸出:經空間均勻分布策略處理后的新的初始種群

表2:改進前后基因為0 的抗體濃度對比表

表3:數據形式表

表4:優化前后模型泛化誤差表
從圖1 可以看出,針對隨機森林優化問題改進的免疫遺傳算法每次搜索的效率更高,且更快收斂,說明改進的初始種群的生成方式可以用來優化隨機森林子集。
綜上,基于改進的免疫遺傳的選擇性隨機森林優化算法如算法2。
算法2:基于改進的免疫遺傳的選擇性隨機森林優化算法基于改進的免疫遺傳的選擇性隨機森林優化算法

輸入:數據集、隨機森林、迭代次數、適應度函數、相似度閾值、變異算子、交叉算子過程:1.For i in range(迭代次數):2. If i 為1:3. 使用空間均勻分布策略生成初始種群4.else:5. images/BZ_155_309_2093_388_2163.png過選擇、交叉、變異之后的種群,再隨機生成一部分新種群6. 將種群解碼,解碼的值為樹的平均精度、樹的殘差相關度以及森林規模組成的矩陣7. 將解碼的值代入到適應度函數中,求解適應度函數的值8.將適應度最大的值所對應的二進制串作為最優的子集輸出9.使用得到的隨機森林最優子集進行預測輸出:預測結果
在實驗部分本文仍然從上述UCI 數據集上選取一組數據,共包含8 個屬性,一個因變量。使用基于改進的免疫遺傳的選擇性隨機森林優化算法對其進行預測。數據形式如表3。
將數據集進行拆分,選取75%的數據作為訓練集,25%的數據作為測試集進行預測。
本實驗目標函數設定同上,其中隨機森林的規模設為100,迭代次數為設為100,種群個數設為50,變異算子設為0.1,交叉算子設為0.8,相似度閾值設為0.5,使用改進的免疫遺傳算法優化隨機森林,最終得到的優化前后的模型的泛化誤差和森林規模如表4。
優化后森林的規模從原來100 棵樹壓縮到了40 棵樹,壓縮率達到了60%,且有更低的泛化誤差。
傳統的免疫遺傳算法存在種群多樣性差,搜索效率低,容易陷入局部最優等問題,為解決該問題,本文提出一種基于基因空間均勻分布策略的初始種群生成方法,針對優化隨機森林子集問題隨機生成初始種群,增加種群多樣性,提高算法運行效率。本文在UCI數據集上對其進行驗證,發現針對隨機森林子集優化問題改進的免疫遺傳算法每次搜索的效率更高,且更快收斂。
本文旨在建立一個基于改進的選擇性隨機森林優化模型,在縮減森林規模的同時,降低模型的泛化誤差。從本文的實驗結果來看,森林規模能夠縮減至一半,但模型的泛化誤差降低的不多,下一步應繼續對模型進行改進,提高模型預測的準確率。