MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步

  • 创作目的
  • 项目简介
  • 本期重点---数据集构建
    • 本文所使用数据集简介
    • 用table来搭建训练集
  • 总结

创作目的

大家好,这里是微信公众号—程飞谈在CSDN上开始做的一些新的尝试,因为我本身是智能建造专业,需要对深度学习有一定的认识,同时也希望更加深入的理解深度学习,以及创建和大家共同交流深度学习的平台,所以我打算做一期深度学习全流程的系列文章(顺便介绍一些我们组科研的思路)。
我打算基于我自己研究的一个课题,详细的介绍我们团队是如何使用MATLAB来完成整个深度学习的过程,希望更多的小伙伴可以加入“深度学习大家庭”,让我们共同进步吧!

项目简介

该项目的目标是想基于某些人的行走引起的楼板振动加速度作为数据,通过深度学习方案,来将这些人的身份进行识别。
该项目大致会分为5步:

  1. 数据集构建
  2. 网络搭建(可能会变换多种网络)
  3. 网络参数选取
  4. 训练,并基于训练结果调整
  5. 得出结论

当然,该项目是一个全新的课题,充满挑战,所以每一期可能解决的只是项目中的一个问题。对于深度学习方案真正应用到全新的环境中,这确实是一个挑战,但是我们悬着迎难而上!

本期重点—数据集构建

说到这里,我又想闲聊几句,通常深度学习方案更多的是采用Python去完成,对于MATLAB进行深度学习了解不够多,包括我自己也是这个样子,但是MATLAB在深度学习上也做了很多努力,我本人也是抱着去看看的心态,来使用MATLAB的深度学习方案。
言归正传
数据集是深度学习方案中非常重要的一环,数据集在很大程度影响该神经网络的最终最终表现。
但是我觉着人们的关注点可能也是更多关注于数据集的好坏,尤其是在学习深度学习的过程中,数据集大多是库中已经构建好的,所以不太关系数据集的构建。
但是,我个人感觉在好不好之前,数据集一定要可以做到能不能用,它的格式符不符合使用的标准,也是非常重要的一环,或者这是对于我们科研人员的一个很高的要求!

本文所使用数据集简介


正如上图所示,这是我通过数值模拟产生的数据,hz表示该人行走的频率,name表示这个人的名字,udd_all则表示所有人的引起楼板振动的加速度数据。
MATLAB深度学习对于数据的格式所谓是很挑剔,就像是十七八岁的小姑娘,看见自己喜欢男孩子,总是觉着他这里不好,那么也不好。所以构建数据集本身对于格式一定要搞清楚!

上图展示的是最原始的数据,本项目打算做的是卷积神经网络方案,卷积神经网络,更喜欢的是图片数据,对于图片数据的处理也是一门学问(就像p图一样)。但是本文做的是时间序列的分析,所以问题显得没有那么常规。

udd_all的数据类型是cell,matlab的cell就是一个大胃王,什么都可以往cell里面装,cell我使用起来最顺手的两点

优点 描述
1 不像array一样有固定大小,可以随意扩展
2 内部的东西不管什么格式,也不管长度是否一致,都可以放

因此,cell就是储存原始数据的一个好手。
但是,卷积神经网络的的数据集可以就不一样,挑剔死了。

要求 数据需要三种形态(报错的时候会提醒,我也是根据报错一步一步调整过来的),因为我们是不是图像数据,所以我们选择相对来说入门最简单的table!

用table来搭建训练集

  1. 首先导入木楼板数据
%% 导入木楼板数据
load mlb_data;
  1. 将字符串标签转化为整数标签

在pyhton的深度学习中,对于标签我们也是有讲究的,比如像是姓名这种字符串类型的数据,通常是不能作为标签来使用(这句话我不是特别确定(希望后续有知道的小伙伴可以交流)),但是如果将字符串类数据转化为整数,那么是一定可以的!
由于该项目就是字串类的数据,所以需要将标签转化为整数。

%% 初始化目标矩阵和标签
max_length = 10;
for i = 1:length(udd_all)series = udd_all{i};if length(series) > max_lengthmax_length = length(series);end
end
Matrix = zeros(length(udd_all),max_length);
Label = zeros(length(udd_all),1);
%% 将标签从字符串转化为数字
names = {};
total = 1;
for i = 1:length(name)if ismember(name{i},names) == falsenames{total} = name{i};total = total + 1;end
end
for i = 1:length(name)[bool,inx] = ismember(name{i},names);Label(i) = inx;
end

MATLAB中不好的代码习惯:使用length来代替size来获取数组长度,length是获取长宽中的大者,所以在使用length的时候一定要注意小心!)
3. 面对cell中每一条数据长度不一致该如何处理

我们先来看一下udd_all中的数据样子

我们会发现,udd_all中的数据每一条长度都是不一样的,这该怎么处理呢?

MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步相关推荐

  1. 想做好人物角色模型,第一步了解人体的构造!

    3D建模的应用领域非常广,比如建筑工程等等,游戏设计过程中的3D设计是指把游戏原画设计出来的场景.角色.道具等等,利用三维技术设计成3D模式,以满足3D游戏的需求.从侧面来看,随着游戏产业的发展,游戏 ...

  2. 内含JAVA简单概括和JAVA所需安装的软件和详细教程,想学习JAVA无从下手,这篇文章带你迈出第一步

    本文大致概括了JAVA编程语言的简史和特点,主要介绍了JAVA开发环境安装,涉及JDK,Sublime Text IntelliJ IDEA三个软件的简单介绍,安装和使用,最后编写了第一个JAVA代码 ...

  3. 小白解析原画正确的学习方向以及方法,萌新如何迈出画画第一步

    学习原画初学时如何提升原画绘画的能力?可以这样说,绘画是内心想法的表达工具,设计理念再好,也需要正确的表达.对于初学者来说绘画的能力又更为重要. 1.多画多练,从最基础的草稿.体块.结构等入手练习.造 ...

  4. 每天学习写论文——Day24 光说不练假把式,毕设就是第一步

    终于还是要开始面对疾风了,毕业论文!这应该是我读研前的第一篇论文了. 这个时候才发现,我自以为"做了功课".实际上,远远远远--远远不够啊 仅仅是论文的"复现" ...

  5. 职场高手不会告诉你的10倍速学习心法!解密 “库伯学习圈” 和 “费曼学习法”...

    库伯学习圈,是大卫·库伯(David Kolb)在总结了约翰·杜威(John.Dewey).库尔特·勒温(Kurt Lewin,1890-1947)和皮亚杰经验学习模式的基础之上,提出的经验学习模式, ...

  6. AI:一个20年程序猿的学习资料大全—人工智能之AI/机器学习/深度学习/计算机视觉/Matlab大赛——只有你不想要的,没有你找不到的

    AI:一个20年程序猿的学习资料大全-人工智能之AI/机器学习/深度学习/计算机视觉/Matlab大赛--只有你不想要的,没有你找不到的 目录 (有偿提供,替朋友转载,扫描下方二维码提问,或者向博主扫 ...

  7. 【学习·求职必备】入行深度学习之前,应该做好哪些准备

    言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 作者 | 言有三 编辑 | 言有三 最近非技术文章有点多,因为实在是连续遇到来需求,当然我也在积蓄下一段干货. 今天来说一件重要,尤 ...

  8. python全局解释器锁 tensorflow_想轻松复现深度强化学习论文?看这篇经验之谈

    近期深度强化学习领域日新月异,其中最酷的一件事情莫过于 OpenAI和 DeepMind 训练智能体接收人类的反馈而不是传统的奖励信号.本文作者认为复现论文是提升机器学习技能的最好方式之一,所以选择了 ...

  9. 视觉机器学习20讲-MATLAB源码示例(18)-深度学习算法

    视觉机器学习20讲-MATLAB源码示例(18)-深度学习算法 1. 深度学习算法 2. Matlab仿真 3. 仿真结果 4. 小结 1. 深度学习算法 深度学习(DL, Deep Learning ...

最新文章

  1. TCP/IP总结(4)TCP 之最大消息长度
  2. 【读书】正则指引-3-括号
  3. CI框架源码阅读笔记7 配置管理组件 Config.php
  4. 持续集成之配置TeamCity
  5. Python dict 调试技巧 —— 利用YAML存储dict内容
  6. 【数据库】Mysql的CONCAT()函数拼接字符串
  7. 「Python基础知识」Python字符串是什么,如何使用
  8. Matlab条形图bar误差棒绘制errorbar
  9. Windows 创建 Redis 和 zookeeper 系统服务
  10. iOS Mac终端 生成模拟器与真机都能运行的.a静态库
  11. 图像工作回顾之六:视频质量诊断
  12. 医院预约挂号系统(Java+SSM+MySQL+Maven)
  13. 跨模态神经搜索实践VCED CLIP简介
  14. 路径/ ./ ../的区别
  15. html按钮相对位置,html相对定位绝对定位
  16. 升级coda_Coda:从我们周围的结构中学习
  17. 机器人学--第二讲-齐次变换矩阵
  18. 防止进入后含有edittext的界面自动弹出软件盘
  19. DDCTF 北京地铁
  20. 变电站UWB人员定位方案

热门文章

  1. VS C++万能头文件bits/stdc++.h的配置
  2. Jetson TX1和TX2手动刷机/备份和镜像恢复
  3. ensp配置FTP进行文件操作
  4. 深度学习之SSD总结
  5. everything_常用搜索语法/目录搜索(by offical doc/my examples)
  6. Win32常用API讲解
  7. 360 Total Security(360国际版)官方中文版V10.8.0.1269 | 360国际版和国内版区别很大-杀毒能力相当且非常纯净不流氓
  8. 【电赛】2021年全国电赛设计报告要求
  9. [学习Qt:出现问题 1]程序异常结束。The process was ended forcefully.
  10. 廖雪峰python视频教程-福利 | 廖雪峰官方Python教程,拿走不谢!