深度学习|NumPy 图解入门( 三 )

reshape() 来重塑这些数据集:

N维数组好了 , 现在可以回到我们一开始提到的 ndarray 对象了 ,n dimension array, N维数组 。
创建三维数组在 NumPy 中 , 多加一个维度有时只是多加一个参数的事儿:

三维数组运算其他基础运算无需多提 , 只是在这里可以特别把三维数组的 广播机制 拿出来强调一下 , 这样可以加深我们对它的理解 。
我们来看这个情况:

这个情况里 , (342)(42) 的维度是不相同的 , 前者为3维 , 后者为2维 。 但是它们后缘维度的轴长相同 , 都为 (42), 所以可以沿着0轴进行广播 。
再想象一下其他情况 , 例如 (423)(23) 是可以计算的 , 甚至 (423)(3) 也是可以计算的 。 只是后者需要在同时两个轴上面进行扩展 。
公式这个部分我还没有学习太多 , 但是有个初步了解 。 例如我们可以看到 , 均方差公式:

是如何在 NumPy 中实现的:

精彩的就是 , NumPy毫不关心 predictionslabels 分别有多少个值 , 只要他们长度对齐 , 就一定会得出结果 。
顺带说下 , 均方差公式是监督机器学习模型处理回归问题的核心 。
数据表达其实通过抽象思维 , 很多现实中的资料、现象都可以数据化 , 从而进行处理、构建模型 。 在 NumPy 的学习更深入以后 , 我会继续学习的 Pandas 也是基于 NumPy 构建的 。
表格表格应该是最好理解的了 , 因为通常它就是1个或多个二维数组 。

音频一条音轨可以视为一维数组 , 每个数字代表音频信号的一部分 。 例如CD 质量的音频每秒包含 44100 个样本 , 每个样本是-65535 到 65536 之间的整数 , 想要提取音频的第一秒 , 只需将文件加载到 audio 的 NumPy 数组中 , 然后获取 audio[:44100


图像图像也是经典的像素矩阵 。 如果图像是灰度 , 则每个像素可以使用单个数字表示 0-255 的灰度值 , 整张图就可以使用二维数组来表达:

如果是彩色图像 , 那每个像素就需要三个值RGB(如果不考虑透明度的话) , 那整张图就需要一个三维数组来表达:

语言这部分挺有意思 , 虽然我还没有办法实践 , 但是也花了相当多实践去理解它是如何实现和表达的 。
这里有个关键概念 词嵌入(embeddings)。 它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中 , 每个单词或词组被映射为实数域上的向量 。
其实最后的数据图相对更难理解 , 但是我相信通过下图 , 反而会很好理解:

上图是问卷对于一个人的特征进行表达(参见 《The Illustrated Word2vec》 ) 。 如果能从上图得到一些启发 , 那么回到我们说的更直观的语言 , 或者说文学 , 我们就可以更好的理解了 。
首先我们将一段英文按单词拆分为词汇表 , 然后使用 词汇向量化 转化为 嵌入值(原文是50维词汇向量化) 。

这样 , 就得到了一个基于 词嵌入维度 * 序列长度 的数据表达 。 别看第一眼觉得好像很抽象 , 实际上我们平时一致在使用的输入法、智能音箱等等 , 都在使用相应的自然语言处理相关内容 。
体会emmm...确实没想到只是入个门而已 , 最后查了无数资料 , 学了这么久 \uD83E\uDD14
多查资料多实践 , 时刻提醒自己不要妄想妄言 。
路还很长 , 学无止境 。
[2022年12月31日原始发布于本作者博客