杂思

思维片段之一:矩阵运算与空间变换

我们在大学之前,准确地说,是学到线性代数之前,学到的所有的函数,似乎都是一种 RR ,标量到标量的映射。

而内积或者更一般地说,矩阵运算( matrix manipulation )实现的却是(不同)空间的映射或者叫变换。

首选我们来看特殊的一类矩阵乘法,也即内积,已知两个 n 维的列向量 x,y ,也即两个 n 维空间中的元素。

(x,y)=xTy

内积(两向量的相互作用)的结果 (x,y)=xTy 是一个一维的标量,也即分别是 R 上的一个元素。

更一般地,
ym×1=Am×nxn×1

显然一个 n 维列向量(对应于 n 空间)与一个矩阵相互作用,变换成了一个 m 维向量(对应于 m 维空间)

representation


学习线性代数,我们最常听到的一个词线性表示(linear representation)。然后我们在各种各样的信号与系统以及图像处理或者计算机视觉的文献或者著作中,大量见到representation一词。我们知道线性代数中的线性表示是什么含义呢?也即元素在不同的基(basis)下会有不同的形式,每一种基下的形式就意味着一种representation。

数据或者信号本身的内容是不发生变化的,不同的representation,意味着对数据不同的观察角度,数据不同的表现形式。如同向量或者矩阵的范数, 1 范数是一个值(scalar), 2, 各自同样也对应着一个值(scalar),「以尺为单位它是三尺,以米为单位它是一米」。

举例如下,在深度神经网络的autoencoder的encode步,

y=fθ(x)=s(Wx+b),θ=W,b

这里的 s() 可能是一个sigmoid型函数(一种non-linearity函数), y 就是输入 x 向第一个隐层的 latent representation

lambda( λ )算子

# python 
>> f = lambda x: x**2
>> f(2)
4

上面一行代码使用lambda匿名函数构建一个函数对象,表示数学意义上的 f(x)=x2 lambda后跟的的参数,即是函数关于的参数(也即 f with respect to(wrt.) x

# python
>> y = 5
>> f = lambda x: x**2+y
>> f(2)
9

你可能感兴趣的:(杂思)