原文链接: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时间序列相关推荐

  1. 深度学习之自编码器AutoEncoder

    深度学习之自编码器AutoEncoder 原文:http://blog.csdn.net/marsjhao/article/details/73480859 一.什么是自编码器(Autoencoder ...

  2. Python深度学习之搭建小型卷积神经网络(Kaggle网站Dogs-vs-Cats数据集)

    完全来源与<Python深度学习>中的例子,仅供学习只用. Cats vs. Dogs(猫狗大战)是Kaggle大数据竞赛的数据集,数据集由训练数据和测试数据组成,训练数据包含猫和狗各12 ...

  3. 《异常检测——从经典算法到深度学习》7 基于条件VAE异常检测

    <异常检测--从经典算法到深度学习> 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测 ...

  4. 《Python 深度学习》6.3 循环神经网络的高级用法 (代码)

    # 6.3 循环神经网络的高级用法 本节将介绍提高循环神经网络的性能和泛化能力的三种高级技巧.学完本节,你将会掌握 用 Keras 实现循环网络的大部分内容.我们将在温度预测问题中介绍这三个概念.在这 ...

  5. 《Python 深度学习》5.4 卷积神经网络的可视化(代码)

    Visualizing what convnets learn 卷积神经网络的可视化 人们常说,深度学习模型是"黑盒",即模型学到的表示很难用人类可以理解的方式来提取和呈现.虽然对 ...

  6. Kera之父Python深度学习笔记(二)神经网络的数学基础

    目录 神经网络的数据表示 标量(0D张量) 向量(1D张量) 矩阵(2D张量) 3D张量以及更高维张量 关键属性 在Numpy中操作张量 数据批量的概念 现实世界中的数据张量 向量数据 时间序列数据和 ...

  7. 3天入门python深度学习第三天卷积神经网络讲解

    大纲

  8. Python深度学习(4):猫狗分类

    这个项目使用卷积神经网络,<Python深度学习>中使用了两个方法实现.一个是自己搭建卷积网络,另一个是直接使用VGG16.其中直接使用VGG16又可以分为抽取特征和微调模型两种方法. 1 ...

  9. Python 深度学习架构实用指南:第一、二部分

    原文:Hands-On Deep Learning Architectures with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集] ...

  10. Python深度学习篇

    Python深度学习篇一<什么是深度学习> Excerpt 在过去的几年里,人工智能(AI)一直是媒体大肆炒作的热点话题.机器学习.深度学习 和人工智能都出现在不计其数的文章中,而这些文章 ...

最新文章

  1. ETOPS:双发飞机延伸航程运行
  2. 训练集(train set) 验证集(validation set) 测试集(test set)
  3. [Hadoop] Hadoop学习历程 [持续更新中…]
  4. 洛谷3933 Chtholly Nota Seniorious 二分答案+贪心
  5. 《图解HTTP》读书笔记--第7章 确保Web安全的HTTPS
  6. kvm虚拟机端口映射(端口转发)到宿主机
  7. arcmap创建空间索引_mysql搜索引擎你会用了么
  8. Andorid ListView使用技巧
  9. 字段的某记录相同,但是时间不同,找到MySQL里面最新的数据
  10. 千牛机器人回复词库_智能聊天机器人 ai机器人电销-
  11. 解码Core ML YOLO对象检测器(二)
  12. UI学习笔记---EasyUI panel插件使用---03
  13. 对1,3,4,6,7,8组合显示成“1,3-4,6-8”方法
  14. 常见算法之12---求a^n%p
  15. Redis入门到精通-Redis集群搭建
  16. ajax上传图片 java_Java+ajax+图片上传
  17. 解读《美国国家BIM标准》— BIM能力成熟度模型(八)
  18. 吃鸡降落伞降落,射线检测,触发销毁降落伞等
  19. 机器学习:考试预测实战(特征隐射,独热编码,特征重要性选择,网格搜索调参)
  20. 自己使用的文本编辑器全部采用Tahoma字体

热门文章

  1. Linux Kickstart无人值守安装
  2. Android 学习笔记之Volley(七)实现Json数据加载和解析...
  3. [转]Windows 7自带很好用的磁盘检查与修复的环境
  4. ActionScript 3.0基础之事件机制
  5. 【课本】【No.2】集合表示法、一维离散变量定义,分布函数为了解决计算时间概率,二项分布,泊松分布,一维连续型分布函数与密度函数
  6. ansi-html Uncontrolled Resource Consumption in ansi-html报错解决
  7. scala下使用akka计算圆周率pi
  8. 关键路径转化率分析——漏斗模型
  9. 基于Flume的美团日志收集系统
  10. Linux Shell Web超级终端工具shellinabox