在神经网络中,代价函数看上去虽然不复杂,但要注意到其中 hΘ(x) 的求取实际上是由前向传播算法求得,即需从输入层开始,根据每层间的权重矩阵 Θ 依次计算激活单元的值 a。...9.4 实现注意点: 参数展开(Implementation Note: Unrolling Parameters)
在 Octave/Matlab 中,如果要使用类似于 fminunc 等高级最优化函数...Octave/Matlab 代码:
% 多个矩阵展开为一个向量
Theta1 = ones(11, 10); % 创建维度为 11 * 10 的矩阵
Theta2 = ones(2, 4) * 2; %...对于矩阵 Θ,有 ∂∂ΘjJ(Θ)≈J(Θ1,…,Θj+ϵ,…,Θn)−J(Θ1,…,Θj−ϵ,…,Θn)2ϵ
Octave/Matlab 代码:
epsilon = 1e-4;
for i = 1:n...Octave/Matlab 代码:
当然,初始权重的波动也不能太大,一般限定在极小值 ϵ 范围内,即 Θi,j(l)∈[−ϵ,ϵ]。