-
Notifications
You must be signed in to change notification settings - Fork 0
ConleyKong/ssh_hsi
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#TODO 二维化的方式可以考虑一下其他尺寸,是固定宽度为4xC1好还是固定为20好,分别用不同的卷积核进行测试 #TODO 如何提取像元的位置信息用于辅助判断 ==》 使用近邻信息来扩充输入数据 #TODO 尝试测试四近邻情况下的精确度,此时就涉及到数据的分布方式甚至是权重问题: 为数据处理增加近邻策略,近邻策略其实是在扩充数据的输入的信息量 多种数据组织方式: 1.将每个方位的信息视为一个通道,分别表示了一个通道的信息 ☑ 中中中 上上上 左左左 右右右 下下下 2.拉成一个向量后再平铺成一个二维平面 上左中右下 上左中右下 上左中右下 #TODO 更换二维化的位置,首先使用N个1x1的卷积核对原始波段信息进行卷积,由于是1维卷积,可以使用这一操作来丰富原始频段信息, 从而得到N个对于brand_length的特征,然后将这N个特征向量简单拼接成一个Nxbrand_length的二维“图像”,接下来对这个“图像”进行通用的卷积操作 #TODO @DatasetKits 为数据预处理增加留一交叉验证接口,整体数据10等分,留取某一部分作为测试集,若能取十个不同的数据部分作为测试集则能够有效说明模型的效果 5.0: 去除统计功能,只保留必要的磁盘写入操作,增加时间记录功能 数据换用1%,10%,20%进行对比 数据增加四近邻、八近邻进行对比,精确度取50轮的均值 -----------对比参照-------------- 数据集 训练集比例 单像元 四近邻 八近邻 1% 81.92 84.61 85.03 KSC 10% 91.03 93.20 94.50 20% 93.68 95.48 96.78 结果分析: 10%训练集在学习率为0.0029时的识别精确度能达到90.22%==》本程序对于ksc样本量为10%的数据表现不错 4.2: 二维化方式固定为20xN的形式,然后测试10种不同卷积核下的精确度 1)3x3,3x3,3x3 2)3x2,3x2,3x2 3)2x3,2x3,2x3 4)2x2,2x2,2x2 5)3x2,2x3,3x2 6) 2x3,3x3,2x3 7)3x3,2x2,1x1 8) 1x1,2x2,3x3 9)3x3,1x1,3x3 10)3x3,2x2,3x3 在3x3,3x3,3x3,学习率为0.0012时准确率为97.78 4.1: 为inference函数增加卷积核尺寸参数,从外部传入各层卷积核尺寸,从而可以测试不同卷积核配置下的精确度变化 测试滤波核为3x3,3x3,3x3下的精确度,发现学习率为0.0009时达到相当好的学习率96.9142%,但是最优精确率在学习率为0.0016时取得,高达97.107% 4.0: 引入冰哥处理的数据格式,他已经将数据按类别进行了划分,我们只需要在其上做一些修改就可以 引入的数据格式为mat,其中将数据按8:2分为了训练集和测试集,训练集个数为4174,测试集个数为1037,其中数据为DataTr(4174x176),DataTe(1037x176);标签为CIdTr(1x4174),CIdTe(1x1037);位置信息在PositionsTr(char,4174,x|y|label),PositionsTe(char,1037,x|y|label) 使用以上数据的划分后精确度提升明显,在学习率为0.0016时单像元精确度能达到96.8177% 3.2: 尝试继续修改卷积核尺寸,将第三层卷积核修改为2x2,学习率在0.0012时为93.4866%,与末层是3x2的卷积核的结果不尽相同 发现测试结果的偶发性太大,因此修改测试数据与训练数据的比例为2:8,也就是增加了测试数据所占的比例,从而尽量减少数据的随机性带来的测量误差 结论: 有一个大胆的想法:是不是卷积核不规则时对预测的准确度有影响? 首先确保当前模型下最优学习率是多少,以相同的数据集划分方法进行不同学习率下精确度的对比,选出最优学习率 然后在不同卷积核下使用最优学习率分别运行20组独立的数据划分下的精确度测试实验,分别求平均值 接下来的实验想要验证这一观点,分别使用5组不同的卷积核搭配进行多次实验,计算预测误差,学习率使用统一的0.0012 1)3x3,3x3,3x3 2)3x2,3x2,3x2 3)2x3,2x3,2x3 4)2x2,2x2,2x2 5)3x2,2x3,3x2 6) 2x3,3x3,2x3 7)3x3,2x2,1x1 8) 1x1,2x2,3x3 9)3x3,1x1,3x3 10)3x3,2x2,3x3 3.1: 修改卷积层的特征映射的深度为32,128 在学习率为0.0009和0.0012时分别达到最优精度93.6782%(ps。与数据的选取有关系,可能此次随机数据的测试集比较简单) 不过有的时候的确是能给出相当棒的答案,比如第二次测试0.0012的时候甚至给出了94.636%的准确率答案 3.0: 修改图片二维化方式,观察不同地形的频段数据分布看,很多地形的波普特征的波峰波谷都有一定规律, 二维化方式尝试改用4xCONV1_SIZExN的方式 存在问题:无法动态获取数据集的拓展后的长度 结果:在0.0012时最优识别率为91.3793% 2.3.3: 去除对于输入数据的标准化操作 结果: 学习率在0.0012时达到最优精度92.91% 2.3.2: 修改第一层全连接层尺寸为512,增加一层全连接层,尺寸为120 结果:在学习率为0.0008的时候精确度最优,也才88.8889% 结论: 根据2.3.1以及2.3的正确率的表现,推荐放弃标准化,标准化带来的是准确率的巨大损失 2.3.1: 尝试替换2.3中的StandardScaler为MinMaxScalar,因为前者会有负数,后者的数据范围控制在1~100,此数可以用来后期的不同权重的控制 结论: 根据2.3以及2.3.1中精确度的表现,感觉我们的全连接层的数量过小,下一版本恢复120或者变得更大一些,或者加深全连接层的层数 2.3: 根据1.2.1中的经验,修改第一层全连接层尺寸为60 在输入层的预处理中将数据进行标准化,使频段的数据分布在-1~1之间,均值为0,方差为1 结果:学习率为0.0009时可以取得较高精确度,仅为86.59% 学习率为0.0013和0.0014的时候也可以获得类似较高精确度,但是随后精确度剧降到20%左右 貌似0.0015是学习率的上限 2.2: 增加第三层卷积层,卷积核大小为3x2,深度为512 结果:当学习率为0.0008的时候精确度能达到92.1456%,而且其周围的准确度都能稳定在91%左右,且在0.0001-0.0008的过程中精确度都在增长 与1.2.1中0.0008时的精确度相同,但是却要比1.2.1稳定 2.1: 改变网络卷积层结构: 1.卷积层的过滤深度分别调整为16和128 2.卷积层的卷积核大小分别调整为5x5与3x3 3.修改第一层全连接层尺寸为120 4.最后一层全连接层不再使用激活函数 5.精简不必要的统计过程 结果:学习率为0.0008的时候精确度能达到91.1877%
About
Spatial and Spectral joined classification for hyperspectra image
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published