Neural Network Vectorization

From Ufldl

Jump to: navigation, search
 
Line 129: Line 129:
<syntaxhighlight>
<syntaxhighlight>
% Sparsity Penalty Delta
% Sparsity Penalty Delta
-
sparsity_delta = - rho / rho_hat + (1 - rho) / rho_hat;
+
sparsity_delta = - rho ./ rho_hat + (1 - rho) ./ (1 - rho_hat);
for i=1:m,
for i=1:m,
   ...
   ...
Line 139: Line 139:
The code above still had a <tt>for</tt> loop over the training set, and <tt>delta2</tt> was a column vector.  
The code above still had a <tt>for</tt> loop over the training set, and <tt>delta2</tt> was a column vector.  
-
In contrast, recall that in the vectorized case, <tt>delta2</tt> is now a matrix with <math>m</math> columns corresponding to the <math>m</math> training examples.  Now, notice that the <tt>sparsity_delta</tt> term is the same regardless of what example we are processing.  This suggests that vectorizing the computation above can be done by simply adding the same value to each column when constructing the <tt>delta2</tt> matrix. Thus, to vectorize the above computation, we can simply add <tt>sparsity_delta</tt> (e.g., using <tt>repmat</tt>) to each column of <tt>delta2</tt>.
+
In contrast, recall that in the vectorized case, <tt>delta2</tt> is now a matrix with <math>m</math> columns corresponding to the <math>m</math> training examples.  Now, notice that the <tt>sparsity_delta</tt> term is the same regardless of what training example we are processing.  This suggests that vectorizing the computation above can be done by simply adding the same value to each column when constructing the <tt>delta2</tt> matrix. Thus, to vectorize the above computation, we can simply add <tt>sparsity_delta</tt> (e.g., using <tt>repmat</tt>) to each column of <tt>delta2</tt>.
 +
 
 +
 
 +
{{Vectorized Implementation}}
 +
 
 +
 
 +
{{Languages|神经网络向量化|中文}}

Latest revision as of 13:13, 7 April 2013

Personal tools