Compute cost function for the neural network
This commit is contained in:
		
							parent
							
								
									be6f3cbdef
								
							
						
					
					
						commit
						f2154a8cc1
					
				
					 1 changed files with 24 additions and 6 deletions
				
			
		| 
						 | 
					@ -39,6 +39,24 @@ Theta2_grad = zeros(size(Theta2));
 | 
				
			||||||
%         cost function computation is correct by verifying the cost
 | 
					%         cost function computation is correct by verifying the cost
 | 
				
			||||||
%         computed in ex4.m
 | 
					%         computed in ex4.m
 | 
				
			||||||
%
 | 
					%
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					X = [ones(m, 1), X];  % add a first colum of ones (bias term)
 | 
				
			||||||
 | 
					A_2 = sigmoid(X*Theta1');
 | 
				
			||||||
 | 
					A_2 = [ones(m, 1), A_2];  % (bias term)
 | 
				
			||||||
 | 
					A_3 = sigmoid(A_2*Theta2');
 | 
				
			||||||
 | 
					h_0 = A_3;
 | 
				
			||||||
 | 
					%disp(round(h_0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					% y is 1x5000 and holds the labels as numbers, turn it into 5000x10,
 | 
				
			||||||
 | 
					% each row holding the label as vectors, e.g.  [0 1 0 0 0 ... ] for 2.
 | 
				
			||||||
 | 
					y = eye(num_labels)(y,:);  % y is used as an index, it gets a row,
 | 
				
			||||||
 | 
					                           % e.g. [0 0 0 1 ... 0 0]
 | 
				
			||||||
 | 
					assert(size(y) == [m num_labels]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					J = 1/m * sum(sum(-y.*log(h_0) - (1-y).*log(1-h_0)));
 | 
				
			||||||
 | 
					assert(size(J) == [1 1]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
% Part 2: Implement the backpropagation algorithm to compute the gradients
 | 
					% Part 2: Implement the backpropagation algorithm to compute the gradients
 | 
				
			||||||
%         Theta1_grad and Theta2_grad. You should return the partial derivatives of
 | 
					%         Theta1_grad and Theta2_grad. You should return the partial derivatives of
 | 
				
			||||||
%         the cost function with respect to Theta1 and Theta2 in Theta1_grad and
 | 
					%         the cost function with respect to Theta1 and Theta2 in Theta1_grad and
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue