遗传算法的优化计算——输入自变量降维

来源:互联网 发布:软件开发工具研究 编辑:程序博客网 时间:2024/05/23 12:07

本文转自: http://www.ilovematlab.cn/thread-54424-1-1.html

郁磊


*******************************************************************************************************
*                                                                                                                               
*                                      现在预定此书有什么优势?                                            
*     答:好处很多,例如:                                                                                       
*   (1)可以在本板块发贴提问神经网络问题,作者有问必答(争取让问题不过夜)
*   (2)可以抢先下载书籍配套的30个视频,每个案例配备一个视频                        
*   (3)可以抢先下载书籍提供的程序,30个案例有30个完整的神经网络程序          
*   (4)可以抢先阅读书籍部分案例内容(电子版)                                                  
*   (5)可以成为论坛VIP会员,领取海量M币。                                                        
*   (6)对书籍案例、程序提出意见一旦被采纳,您的姓名也将会出现在书籍前言里                                                                                *
*                                                                                                                                 
*     其他读者常见问题、预定方式:http://www.ilovematlab.cn/thread-47939-1-1.html 
*                                                                                                     
********************************************************************************************************


该案例作者申明:


1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。
2:此案例有配套的教学视频,配套的完整可运行Matlab程序。
3:以下内容为该案例的部分内容(约占该案例完整内容的1/10)。
4:此案例为原创案例,转载请注明出处(Matlab中文论坛,《Matlab神经网络30个案例分析》)。
5:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。
6:您看到的以下内容为初稿,书籍的实际内容可能有少许出入,以书籍实际发行内容为准。


点击这里,预览该案例程序:http://www.ilovematlab.cn/book/neural/chapter27.html


案例背景:
在现实生活中,实际问题很难用线性模型进行描述。神经网络的出现,大大降低了模型建立的难度和工作量。我们只需将神经网络看成是一个黑箱子,根据输入与输出数据,神经网络依据相关的学习规则,便可以建立描述问题的数学模型。但是,当数学模型的输入自变量(即影响因素)很多、输入自变量之间不是相互独立时,利用神经网络容易出现过拟合现象,从而导致所建立的模型精度低、建模时间长等问题。因此,在建立模型之前,有必要对输入自变量进行优化选择,将冗余的一些自变量去掉,选择最能反映输入-输出关系的自变量参与建模。常用的方法是主成分分析法、偏最小二乘法等,本案例尝试利用遗传算法的优化计算功能对输入自变量进行优化筛选,从而降低建模时间,提高建模精度。
[ 以下有详细的遗传算法理论知识..........]


问题描述:
在案例21中,我们建立模型时选用的每个样本(即病例)数据包括10个量化特征(细胞核半径、质地、周长、面积、光滑性、紧密度、凹陷度、凹陷点数、对称度、断裂度)的平均值、10个量化特征的标准差和10个量化特征的最坏值(各特征的3个最大数据的平均值)共30个数据。明显,这30个输入自变量相互之间存在一定的关系,并非相互独立的,因此,为了缩短建模时间、提高建模精度,有必要将30个输入自变量中起主要影响因素的自变量筛选出来参与最终的建模。


模型建立:

该处有完整的数学理论推导过程....






Matlab程序实现(点击这里,预定此书,即可下载该案例完整程序):


该处有完整的Matlab程序代码,以及代码的详细说明
    *清空环境变量 
    *声明全局变量 
    *导入数据 
    *数据归一化 
    *创建BP网络 
    *训练BP网络 
    *仿真测试(BP网络) 
    *结果显示(BP网络) 
    *遗传算法优化 
    *数据提取(GA-VS-BP网络) 
    *创建GA-VS-BP网络 
    *遗传算法优化GA-VS-BP网络权值和阈值 
    *训练GA-VS-BP网络 
    *仿真测试(GA-VS-BP网络) 
    *结果显示(GA-VS-BP网络) 


结果分析:
该处有详细的运行结果








案例扩展
(将遗传算法与神经网络相结合,可以避免神经网络容易陷入局部极小、容易出现过拟合现象、泛化能力差等问题。针对输入自变量个数太多的模型,可以在建立模型前,利用遗传算法对输入自变量进行优化筛选,从而达到降维的目的。该方法已经成功应用于图像处理、光谱分析等领域中,随着研究的不断深入,其一定会得到广泛的应用。