拓端tecdat|python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列
原文链接:http://tecdat.cn/?p=25410
原文出处:拓端数据部落公众号
通过训练具有小中心层的多层神经网络重构高维输入向量,可以将高维数据转换为低维代码。这种神经网络被命名为自编码器Autoencoder。
自编码器是非线性降维 技术用于特征的无监督学习,它们可以学习比主成分分析效果更好的低维代码,作为降低数据维数的工具。
异常心跳检测
如果提供了足够的类似于某种底层模式的训练数据,我们可以训练网络来学习数据中的模式。异常测试点是与典型数据模式不匹配的点。自编码器在重建这些数据时可能会有很高的错误率,这表明存在异常。
该框架用于使用深度自编码器开发异常检测演示。该数据集是心跳的 ECG 时间序列,目标是确定哪些心跳是异常值。训练数据(20 个“好”心跳)和测试数据(为简单起见附加了 3 个“坏”心跳的训练数据),如下所示。每行代表一个心跳。
init()
PATH = os.path.expanduser("~/")
import_file(PATH + "train.csv")
import_file(PATH + "test.csv")
探索数据集。
tra.shape
# 将框架转置,将时间序列作为一个单独的列来绘制。
plot(legend=False); # 不显示图例
在训练数据中,我们有 20 个时间序列,每个序列有 210 个数据点。请注意,所有线条都很紧凑并且形状相似。重要的是要记住,在使用自编码器进行训练时,您只想使用 VALID 数据。应删除所有异常。
现在让我们训练我们的神经网络
Estimator( activation="Tanh", hidden=[50], )model.train
model
我们的神经网络现在能够对 时间序列进行 编码。
现在我们尝试使用异常检测功能计算重建误差。这是输出层和输入层之间的均方误差。低误差意味着神经网络能够很好地对输入进行编码,这意味着是“已知”情况。高误差意味着神经网络以前没有见过该示例,因此是异常情况。
anomaly(test )
现在的问题是:哪个 test 时间序列最有可能是异常?
我们可以选择错误率最高的前 N 个
df['Rank'] = df['MSE'].rank
sorted
dfsorted[MSE'] > 1.0
datT.plot
daT[anindex].plot(color='red');
带监督微调的无监督预训练
有时,未标记的数据比标记的数据多得多。在这种情况下,在未标记数据上训练自编码器模型,然后使用可用标签微调学习模型是有意义的。
结论
在本教程中,您学习了如何使用自编码器快速检测时间序列异常。
最受欢迎的见解
1.r语言用神经网络改进nelson-siegel模型拟合收益率曲线分析
2.r语言实现拟合神经网络预测和结果可视化
3.python用遗传算法-神经网络-模糊逻辑控制算法对乐透分析
4.用于nlp的python:使用keras的多标签文本lstm神经网络分类
5.用r语言实现神经网络预测股票实例
6.R语言基于Keras的小数据集深度学习图像分类
7.用于NLP的seq2seq模型实例用Keras实现神经机器翻译
8.python中基于网格搜索算法优化的深度学习模型分析糖
9.matlab使用贝叶斯优化的深度学习
拓端tecdat|python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列相关推荐
- 深度学习之自编码器AutoEncoder
深度学习之自编码器AutoEncoder 原文:http://blog.csdn.net/marsjhao/article/details/73480859 一.什么是自编码器(Autoencoder ...
- Python深度学习之搭建小型卷积神经网络(Kaggle网站Dogs-vs-Cats数据集)
完全来源与<Python深度学习>中的例子,仅供学习只用. Cats vs. Dogs(猫狗大战)是Kaggle大数据竞赛的数据集,数据集由训练数据和测试数据组成,训练数据包含猫和狗各12 ...
- 《异常检测——从经典算法到深度学习》7 基于条件VAE异常检测
<异常检测--从经典算法到深度学习> 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测 ...
- 《Python 深度学习》6.3 循环神经网络的高级用法 (代码)
# 6.3 循环神经网络的高级用法 本节将介绍提高循环神经网络的性能和泛化能力的三种高级技巧.学完本节,你将会掌握 用 Keras 实现循环网络的大部分内容.我们将在温度预测问题中介绍这三个概念.在这 ...
- 《Python 深度学习》5.4 卷积神经网络的可视化(代码)
Visualizing what convnets learn 卷积神经网络的可视化 人们常说,深度学习模型是"黑盒",即模型学到的表示很难用人类可以理解的方式来提取和呈现.虽然对 ...
- Kera之父Python深度学习笔记(二)神经网络的数学基础
目录 神经网络的数据表示 标量(0D张量) 向量(1D张量) 矩阵(2D张量) 3D张量以及更高维张量 关键属性 在Numpy中操作张量 数据批量的概念 现实世界中的数据张量 向量数据 时间序列数据和 ...
- 3天入门python深度学习第三天卷积神经网络讲解
大纲
- Python深度学习(4):猫狗分类
这个项目使用卷积神经网络,<Python深度学习>中使用了两个方法实现.一个是自己搭建卷积网络,另一个是直接使用VGG16.其中直接使用VGG16又可以分为抽取特征和微调模型两种方法. 1 ...
- Python 深度学习架构实用指南:第一、二部分
原文:Hands-On Deep Learning Architectures with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集] ...
- Python深度学习篇
Python深度学习篇一<什么是深度学习> Excerpt 在过去的几年里,人工智能(AI)一直是媒体大肆炒作的热点话题.机器学习.深度学习 和人工智能都出现在不计其数的文章中,而这些文章 ...
最新文章
- ETOPS:双发飞机延伸航程运行
- 训练集(train set) 验证集(validation set) 测试集(test set)
- [Hadoop] Hadoop学习历程 [持续更新中…]
- 洛谷3933 Chtholly Nota Seniorious 二分答案+贪心
- 《图解HTTP》读书笔记--第7章 确保Web安全的HTTPS
- kvm虚拟机端口映射(端口转发)到宿主机
- arcmap创建空间索引_mysql搜索引擎你会用了么
- Andorid ListView使用技巧
- 字段的某记录相同,但是时间不同,找到MySQL里面最新的数据
- 千牛机器人回复词库_智能聊天机器人 ai机器人电销-
- 解码Core ML YOLO对象检测器(二)
- UI学习笔记---EasyUI panel插件使用---03
- 对1,3,4,6,7,8组合显示成“1,3-4,6-8”方法
- 常见算法之12---求a^n%p
- Redis入门到精通-Redis集群搭建
- ajax上传图片 java_Java+ajax+图片上传
- 解读《美国国家BIM标准》— BIM能力成熟度模型(八)
- 吃鸡降落伞降落,射线检测,触发销毁降落伞等
- 机器学习:考试预测实战(特征隐射,独热编码,特征重要性选择,网格搜索调参)
- 自己使用的文本编辑器全部采用Tahoma字体
热门文章
- Linux Kickstart无人值守安装
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
- [转]Windows 7自带很好用的磁盘检查与修复的环境
- ActionScript 3.0基础之事件机制
- 【课本】【No.2】集合表示法、一维离散变量定义,分布函数为了解决计算时间概率,二项分布,泊松分布,一维连续型分布函数与密度函数
- ansi-html Uncontrolled Resource Consumption in ansi-html报错解决
- scala下使用akka计算圆周率pi
- 关键路径转化率分析——漏斗模型
- 基于Flume的美团日志收集系统
- Linux Shell Web超级终端工具shellinabox