Deeplearning4j示例所使用的基准数据集不会对数据加工管道造成任何障碍,因为我们已通过抽象化将这些障碍去除。
但在实际工作中,用户接触的是未经处理的杂乱数据,需要先预处理、向量化,再用于定型神经网络,进行聚类或分类。
DataVec是我们的机器学习向量化库,可以按神经网络的学习需求定制数据预加工方法。(DataVec Javadoc)
Deeplearning4j示例所使用的基准数据集不会对数据加工管道造成任何障碍,因为我们已通过抽象化将这些障碍去除。
但在实际工作中,用户接触的是未经处理的杂乱数据,需要先预处理、向量化,再用于定型神经网络,进行聚类或分类。
DataVec是我们的机器学习向量化库,可以按神经网络的学习需求定制数据预加工方法。(DataVec Javadoc)
深度学习领域最难解决的问题之一和神经网络本身没有关系:这个问题就是如何获取格式恰当的合适数据。
深度学习和其他类型的机器学习都需要优质的定型数据集才能正常运作。定型数据集是大量已知数据的集合,它的收集和建立需要时间,
也需要特定领域的专业知识——要懂得从何处、以何种方式来收集有意义的信息。定型数据集在深度学习网络的定型过程中起到基准的作用。
网络先要学习重构定型集中的数据,然后才能去处理从未遇到过的数据。
在定型阶段,具备相关知识的人类需要找到合适的原始数据并将其转换为深度学习算法所能理解的数值表示形式,即向量。
建立定型数据集的过程可以算是“预预定型”。
DataVec帮助克服机器学习及深度学习实现过程中最重大的障碍之一:将数据转化为神经网络能够识别的格式。
神经网络所能识别的是向量。
因此,对许多数据科学家而言,在开始用数据定型自己的算法之前,首先必须要解决向量化的问题。
如果您的数据以CSV(逗号分隔值)格式储存在平面文件中,必须先转换为数值格式再加以摄取,又或者您的数据是一些有标签的图像的目录结构,
那么 DataVec 这款工具就可以帮助您组织数据,以供在Deeplearning4J中使用。
DataVec 采用输入/输出格式系统(就像Hadoop MapReduce用InputFormat来确定具体的InputSplit和RecordReader一样,
DataVec也会用不同的RecordReader来将数据序列化)
支持所有主要的输入数据类型(文本、CSV、音频、图像、视频),每种类型都有相应的输入格式
采用输出格式系统来指定一种与实现无关的向量格式(ARFF、SVMLight等)
可以为特殊输入格式(如某些罕见的图像格式)进行扩展;也就是说,您可以编写自定义的输入格式,让余下的基本代码来处理转换加工管道
让向量化成为“一等公民”
内置数据转换及标准化工具
神经网络需要处理的数据有许多种不同的来源和类型,例如日志文件、文本文档、表格数据、图像、视频等。
神经网络数据加工的目标是将各类数据转换为一系列存放于多维数组(Multi-Dimensional Array)中的值。
数据可能还需要进行各种预处理,包括转换、缩放、标准化、变换、合并、划分为定型与测试数据集、随机排序等。本页主要介绍目前可用的数据加工工具及其使用方法。
记录读取器
标准化器
转换