神经网络和深度学习 | ||
---|---|---|
上一篇 | 主目录 | 下一篇 |
【 前言】
在 《神经网络和深度学习(1)-- 什么是神经网络》一文的例子中,我们用来训练的数据集是结构化的数据,此外还有非结构化的数据。我们应该如何表示这些非结构化的数据然后用来训练呢?本文将介绍什么是结构化和非结构化的数据,然后说明如何表示非结构化的数据类型。
1.结构化与非结构化数据
- 定义:业界指关系模型数据,即以关系数据库表形式管理的数据
简析:虽然专业角度上看,结构化就是关系模型的说法并不准确,但针对目前业内现状,还是定义为关系模型最为妥善,因为它准确的代表了我们传统上最熟悉的企业业务数据。 - 半结构化数据
定义:非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、Email等。 - 非结构化数据
定义:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等。
2. 结构化数据的表示
如《神经网络和深度学习(1)-- 什么是神经网络》一文的例子中,不同的特征值作为(x1,x2,x,3,…,xn),标签作为结果y。关于什么叫特征值(属性),标签(标记)等概念课参照我的博文:《机器学习前言之基本概念》
3. 非结构化数据的表示
图像的例子
我们来看看一张图片在计算机中是如何表示的,为了保存一张图片,需要保存三个矩阵, 它们分别对应图片中的红、绿、蓝三种颜色通道,如果你的图片大小为 64x64 像素,那么你 就有三个规模为 64x64 的矩阵,分别对应图片中红、绿、蓝三种像素的强度值。为了便于表 示,这里我画了三个很小的矩阵,注意它们的规模为 5x4 而不是 64x64,如下图所示:
为了把这些像素值放到一个特征向量中,我们需要把这些像素值提取出来,然后放入一个特征向量 。为了把这些像素值转换为特征向量 ,我们需要像下面这样定义一个特征向量 来表示这张图片,我们把所有的像素都取出来,例如 255、231 等等,直到取完所有的红色像素,接着最后是 255、134、…、255、134 等等,直到得到一个特征向量,把图片中所有的红、绿、蓝像素值都列出来。如果图片的大小为 64x64 像素,那么向量 x的总维度,将是 64 乘以 64 乘以 3,这是三个像素矩阵中像素的总量。在这个例子中结果为 12,288。现在我们用 nx=12288来表示输入特征向量的维度,有时候为了简洁,我会直接用小写的 n来表示输入特征向量 的维度。
所以在二分类问题中,我们的目标就是习得一个分类 器,它以图片的特征向量作为输入,然后预测输出结果 y为 1 还是 0,也就是预测图片中是 否有猫:
神经网络和深度学习系列笔记: 传送门