智慧城市这些年抄的非常的热,主要的目的就是让人类更加方便的去生活。本项目为智慧城市类的一个图像分类的应用。通过对遥感图像(遥感图像包含的地图范围比较大)进行分类,得出很大一个地区范围内不同类别地质(河流,山川等)的分布。价值在于有效的判断大范围内的建筑分布,为整体的地图数据提供支撑,为地理学家提供有效的数据支撑。

本项目应用机器学习的分类方法。图像数据是一种维度特别大的非结构化数据,每一张图像都是一个矩阵,需要时间复杂度非常低的算法去进行支撑。

项目应用MATLAB进行算法验证,应用速度很快的分类算法ELM(极限学习机)。下面本文来详细阐述极限学习机在本项目算法分析的作用。不同类别的地质的图像进行一个分类模型的建设。

先来看下遥感图像的地质情况。即数据如下:

遥感图像都是灰度图,不同颜色的地方代表着不同的地质(可能是山川,河流等),地质类型很多,这里只截取4种。以上即是训练的数据。图片为X,为输入,第N类地质的N为Y,为输出。

进而通过以上图像(数据)进行模型建立

ELM的第一步:

与SVM一样,要将数据转化成线性可分情况,即数据线性变化(可以参考我的其他文章)。X通过Sigmoid

Function函数

转化成:

MATLAB代码如下:

InputWeight=rand(NumberofHiddenNeurons,NumberofInputNeurons)*2-1;

BiasofHiddenNeurons=rand(NumberofHiddenNeurons,1);

tempH=InputWeight*P;% Release

input of training data

ind=ones(1,NumberofTrainingData);

BiasMatrix=BiasofHiddenNeurons(:,ind);% Extend

the bias matrix BiasofHiddenNeurons to match the demention of

H

tempH=tempH+BiasMatrix;

H = 1 ./ (1 + exp(-tempH));

ELM的第二步:

第二步又到了Y=AX的公式

求解过程了,求出Y和X之间那个关系A的时刻了。不像SVM需要繁琐的求解方法,大家都知道如果是个方阵矩阵,求解直接可以用求逆的方法,但实际的数据基本没有方阵,但是可以用一个数学方法——广义逆。ELM通过矩阵求广义逆的方法实现(黄广斌教授2006年证明有效),极大的减少了运算速度。

MATLAB代码如下:

Hp=pinv(H);%¼ÆËãHµÄMoore-Penrose¹ãÒåÄæ

beta=Hp*y;

此公式的T为输出(Y),HT为输入H(X)的广义逆。B为输入与输出的关系。此处模型已经建立完毕。极限学习机也可以理解成一种特殊的单隐藏层神经网络。

从此有了输入和输出的关系,就可以对遥感图像进行分类了。输入一个遥感图像就可以分辨出图中所有的地质。举个例子如下图像

对此图像进行分类,由于遥感图像为灰度图,最终我们要通过明显图像进行标注出来。

由于本图像只包含六个类别,这里我们把6个类别进行彩色颜色的标记。通过ELM此图为最终的分类结果:

未来输入一张遥感图像即可识别出此区域的不同地质特征,后续还与地质研究者实现一些地质上的科研研究,有兴趣的可以关注后续文章也可以关注微博:Zason_張

matlab地质,[转载]matlab【人工智能项目】—ELM地质分类研究相关推荐

  1. grs matlab公式,[转载]matlab中Max的用法(转)

    Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A) 返回一个数组各不同维中的最大元素. 如果A是一个向量,max(A)返回A中的最大元素. 如果A是一个矩阵,max(A)将A ...

  2. matlab radsimp,[转载]MATLAB学习笔记(八)

    符号运算 符号运算分为以下几类: 符号表达式和符号矩阵的操作整体定义为 符号微积分 符号线性方程 符号微分方程 A.符号变量.符号表达式和符号方程的分解 一. 生成符号变量要使用sym和syms: 使 ...

  3. fortran调用matlab画图,[转载]Matlab与Fortran的交互--基本概念

    如果需要进行Matlab环绕Fortran语言的交互,必须通过Matlab提供的应用编程接口(API)来实现与外部的接口,从而可以在Matlab环境中实现调用Fortran程序.输入或输出数据以及和其 ...

  4. matlab验潮站,[转载]matlab批量从NOAA网站下载验潮站数据

    在前面的博客中(http://blog.sina.com.cn/s/blog_aed5bd1d0102vypl.html) 我们演示了如何用python从UHSLC下载验潮站数据,但是考虑到matla ...

  5. 如何让matlab提速,[转载]matlab提速技巧(自matlab帮助文件)

    1.首先要学会用profiler.1.1. 打开profiler. To open the Profiler, select View -> Profiler from the MATLAB d ...

  6. matlab profile,[转载]matlab profile的使用【原创】

    用profile可解决的问题: 1.避免不必要的计算 2.改动代码避免耗时的函数 3.储存一定的结果,避免重复计算 profile用作调试工具: 1.查找出没有实际运行的代码 2.You can al ...

  7. 小波变换的MATLAB原理,[转载]Matlab 小波分析及物理含义

    一.为什么要进行小波变换 最初的原因很简单,傅里叶变换没有时间信息,也就是说,我们不知道傅里叶变换结果频率出现在什么时间,所以出现了时频分析,就是在一张结果图上同时表明信号的频率及其出现的时间, 这样 ...

  8. matlab 信噪比,[转载]Matlab中如何计算信噪比?

    %Matlab计算信噪比,程序如下 function snr=SNR(I,In) % 计算信号噪声比函数 % by Qulei % I :original signal % In:noisy sign ...

  9. 万有引力搜索matlab程序,[转载]matlab 万有引力动画

    h=figure('name','万有引力的发现'); set(h,'color','k'); axis([-10 10 -10 10]);%设坐标轴 fill([-10,10,10,-10],[-1 ...

最新文章

  1. 是什么动词_【术语攻略】什么是及物动词?
  2. 4467奇妙的方式优化暴力的01边查询
  3. 非阻塞同步机制和CAS
  4. java ftpclient API上传下载文件,不支持中文
  5. PHP网站配置项,Thinkphp5通用网站后台配置项的动态添加及更新
  6. hdu 4608 I-number(13多校#1 ,1009)
  7. 卢伟冰要宣布K50发布时间,竟遭市场部严厉制止!Redmi K50全系售价被曝
  8. python的哲学内容_python 哲学或者说文化
  9. mac 下chrome 和 微信web开发工具跨域配置
  10. [Python3] 023 面向对象 第三弹
  11. windows系统搭建redis集群
  12. 用计算机三角函数公式,电脑是通过什么公式计算出三角函数的?
  13. html数据线如何使用,揭秘数据线DIY详细步骤
  14. ConvE,知识图谱嵌入(KGE)论文复现(Ubuntu 20.04)
  15. 【FJ 2016 Day5】冷战(coldwar)
  16. 大公司病,太TM形象了!
  17. 超详细Shell学习教程第二篇
  18. 【金猿产品展】Wyn Enterprise——嵌入式商业智能软件,让数据分析无处不在
  19. Pandas的MultiIndex多层索引使用
  20. 21天读书打卡!快上车!

热门文章

  1. C语言一个简单的商店管理系统
  2. 从业3年45万年薪的AI训练师是如何养成的?
  3. 哈哈日语 五十音详细分析
  4. java免费发送邮件实现
  5. oppoa9处理器怎么样_OPPO A9 是什么处理器?
  6. vue修改meta值_vue中动态设置meta标签和title标签的方法
  7. Winphone开发之JSON解析
  8. 解决查看网页源代码html代码样式乱了
  9. 在HBuilder中编辑markdown文档(原)
  10. 计算机组成原理 小说,计算机组成原理--中央处理器CPU5