对象与维度
对象是指含有一组特征的行向量
对象的维度就是行向量的列数
初识矩阵
- 矩阵式具有相同特征和维度的对象集合,表现为一张二维数据表
- 一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值
- 特征相同、取值相异的对象集合所构成的矩阵,使对象之间既相互独立,又相互联系
- 由特征列的取回范围所构成的矩阵空间应具有完整性,即能够反映出事物的空间形式或变化
分类或聚类可以看作根据对象特征的相似性与差异性,对矩阵空间的一种划分
预测或回归可以看作根据对象在某种序列上的相关性(如时间),表现为特征取值变化的一种趋势
在程序设计中,可以形式上把矩阵理解为一个二维数组,以python为例,矩阵就是嵌套着若干list的一个大list,内部的每个list是等长的,表示一个行向量,即一个对象
矢量化编程与GPU运算
传统的计算机设计语言基本都是针对标量的,虽提供数组、二维数组等数据结构,但是这些结构的赋值、加法、数乘、转置、矩阵相乘还是要通过循环语句完成,导致程序复杂度较高。
为了简化程序的逻辑,需要一种新的编程方法,处理基于矩阵的基本运算,这就是所谓的矢量化编程。
矢量化编程的一个重要特点就是可以直接将数学供述转换为相应地程序代码,极大地方便了程序的阅读与调试,使复杂数学公式的实现变得简单方便。
单个GPU芯片在浮点计算、大规模并行计算方面,可以提供数十倍乃至上百倍于CPU的性能。本书中较大规模的矩阵运算可以交由GPU完成。