机器学习从入门到入职:用sklearn与keras搭建人工智能模型
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.6 非结构性数据预处理

非结构化数据是数据结构不规则或者不完整,没有预设的数据模型或者结构,不便使用数据库、模型及标准的数据接口表现的数据,包括所有格式的文本、图片、各类报表、图像、音频及视频数据等。

计算机信息化系统中的数据分为结构化数据和非结构化数据。非结构化数据的格式非常多样,标准也具有多样性,而且在技术上非结构化信息比结构化信息更难标准化和理解。所以,存储、检索、发布及利用需要更加智能化的IT技术,如海量存储、智能检索、知识挖掘、内容保护、信息的增值开发利用等。

非结构化数据几乎在任何场景都可以得到,这些数据包括但不限于以下几项。

·公司内部的邮件信息、聊天记录及搜集到的调查结果。

·网站上的评论、对客户关系管理系统中的评论。

·应用程序中得到的文本字段。

·短视频App中的视频信息。

·社交网络中的图文信息。

·博客或者论坛上感兴趣的话题或者评论。

对以上数据不能简单通过变换等方式完成预处理,之前介绍的预处理方法是一种狭义的预处理,其处理的数据本质上是数值化的、结构化的,而处理的过程主要以一种数值变换的方法为主。

而对非结构数据的预处理是更广义的数据预处理,本质上是特征提取。在机器学习、模式识别和图像处理中,特征提取从一组初始的测量数据开始,构建具有信息性和非冗余性的派生值(特征),为后续的学习和泛化步骤提供便利,并在某些情况下形成更具有人类解释性的数据。特征提取与降维有关。当一种算法的输入数据太大,无法处理,并且怀疑它是冗余的(例如,足尺和米的相同测量,或者表示为像素的图像的重复性),就可以将其转换成一组减少的特征集(也称为特征向量)。确定初始特征的子集称为特征选择。期望所选的特征包含来自输入数据的相关信息,这样就可以使用这种简化的表示而不是完整的初始数据执行所需的任务。

特征提取涉及减少描述大量数据所需的资源。在对复杂数据进行分析时,主要问题之一是所涉及的变量数量。对大量变量进行分析通常需要大量的内存和计算能力,也可能导致分类算法对训练样本的适应性过强,而对新样本的泛化能力较差。特征提取是构造变量组合以解决这些问题的通用术语,但对数据的描述仍具有足够的准确性。许多机器学习实践者认为,正确优化特征提取是有效构建模型的关键。

简单来说,特征提取是指将机器学习算法不能识别的非结构数据转化为算法或者模型可以识别的特征的过程。例如,由一系列文字组成的文本,这些文字经过分词后会形成一个词语集合,对于这些词语集合(非结构数据),机器学习算法是不能直接使用的,所以需要将它们转化成机器学习算法可以识别的数值特征(用固定长度的向量表示);图片是由一系列像素点(原始数据)构成的,这些像素点本身无法被机器学习算法直接使用,但是如果将这些像素点转化成矩阵的形式(数值特征),那么机器学习算法或者模型就能对其训练。