• 深入理解设计矩阵(Design Matrix)


    设计矩阵通常是用来描述数据集的一个方法。通常有m行n列,

    1、每个行向量$oldsymbol x^{(i)}$代表第$i$个实例

    2、每个列向量$oldsymbol x_j$代表第$j$个feature

    $X=egin{bmatrix} oldsymbol x_1 & oldsymbol x_2 & cdots & oldsymbol x_nend{bmatrix}$

    其中每一列表示一个feature向量,向量内容(每一行)代表不同实例在该feature上的取值。

    先考察$X$和一个参数向量$oldsymbol w$相乘

    $Xoldsymbol w=egin{bmatrix} oldsymbol x_1 & oldsymbol x_2 & cdots & oldsymbol x_nend{bmatrix}egin{bmatrix} w_1 \ w_2 \ vdots \ w_n end{bmatrix}=sum_{j=1}^n w_joldsymbol x_j$

    这是一个标准的矩阵和向量乘法,意义是用$oldsymbol w$中的各分量对X中的对应列进行线性组合。

    考虑一个典型的神经网络:

    $x_1,x_2,x_3$代表3个feature,在大部分教程的介绍中,为了描述简便,都是标量数值。但是在训练过程中,$x_1,x_2,x_3$通常都是$m$维列向量($m$代表实例的个数),将它们从左到右叠起来,就是设计矩阵X。而$Xoldsymbol w$生成了一个新的列向量,也就是第一个隐藏结点在激活之前的值(unactivated value)。

    可以看到,图中有四个隐藏节点,那么怎么用一个乘法,把所有隐藏节点的unactivated value都算出来呢?

    对,我们把4个系数向量$oldsymbol w$从左到右叠起来,变成一个系数矩阵:

    $W=egin{bmatrix} oldsymbol w_1 & oldsymbol w_2 & cdots & oldsymbol w_{h}end{bmatrix}$

    其中$h$代表第一层隐藏节点的个数,$w_{i,j}$表示第$i$个隐藏单元的第$j$个系数

    根据矩阵乘法的定义,我们有:$XW=Xegin{bmatrix} oldsymbol w_1 & oldsymbol w_2 & cdots & oldsymbol w_{h}end{bmatrix}=egin{bmatrix} Xoldsymbol w_1 & Xoldsymbol w_2 & cdots & Xoldsymbol w_hend{bmatrix}$

    很明显,$XW$的每一列就是对应的隐藏节点的unactivated value

  • 相关阅读:
    wmware虚拟系统光盘的问题
    ORM框架SQLAlchemy
    python关于二分查找
    Python的各种推导式合集
    远程连接腾讯云服务器MySQL数据库
    Django配置404页面
    使用Python将Excel中的数据导入到MySQL
    MySQLl导入导出SQL文件
    数据结构(十三)排序
    数据结构(十二)散列表
  • 原文地址:https://www.cnblogs.com/milaohu/p/7326084.html
Copyright © 2020-2023  润新知