企业综合型网站建设方案,php和什么语言做网站,专门做排名的软件,专做婚宴用酒是网站我们需要将parameters从矩阵unrolling到向量#xff0c;这样我们就可以使用adanced optimization routines. unroll into vectors costFunction与fminunc里面的theta都是n1维的向量#xff0c;costFunction的返回值gradient也是n1维的向量。 但是当我们使用神经网络时#x…我们需要将parameters从矩阵unrolling到向量这样我们就可以使用adanced optimization routines. unroll into vectors costFunction与fminunc里面的theta都是n1维的向量costFunction的返回值gradient也是n1维的向量。 但是当我们使用神经网络时我们的Θ和gradient都是一个矩阵而不是一个向量.在这儿我们的目标是将这些矩阵展开为向量这样就可以使用上面的这两个函数了。 如何unroll成向量的例子 如上图所示我们可以将矩阵转换为向量thetaVec and DVec are big long vector也可以将向量利用reshape变为矩阵。 具体的unrolling如何工作的 在costFunction中我们会从thetaVec中得到Θ(1),Θ(2),Θ(3),这样方便我们计算后面所需要的D(1),D(2),D(3),和J(Θ); 然后再将这些D(1),D(2),D(3)unroll to 得到gradientVec进行返回。 总结(什么时候使用矩阵什么时候使用向量) 使用矩阵的情况: 当做forward propagation 和 back propagation时我们需要使用矩阵来计算,这里就需要用reshape来构建矩阵。 使用向量的情况: 当使用fminunc这些advanced算法的时候这些函数的参数是向量这时我们需要将矩阵转化为向量来计算。 转载于:https://www.cnblogs.com/yan2015/p/5023847.html