% predict3.m Predictor de la red neuronal en tareas RN4 y RN5 % function [p,p0,h2] = predict3(Theta1, Theta2, X) % % Input: % X: datos de entrada, una fila para cada caso % Theta1, Theta2: matrices con pesos de las 2 etapas de la red neuronal % Output: % p: prediccion del label de cada caso (digito de 1 a 10, el 10 vale por 0) % p0: como p, pero con 0 en vez de 10 m = size(X, 1); % cantidad de casos Xampl=[ones(m, 1) X]; % ampliada, con 1 en la primer posición de cada caso y1=Xampl * Theta1'; h1 = sigmoid(y1); %------- h1ampl=[ones(m, 1) h1]; % ampliada, con 1 en la primer posición de cada caso y2 = h1ampl * Theta2'; h2 = sigmoid(y2); %-------- [dum,p] = max(h2, [], 2); % halla el max de h2 en cada fila para cada caso) % p es ordinal del max p0=rem(p,10); % cambio 10 por 0