Comment puis-je obtenir la vraisemblance BIC et AIC pour le réseau de neurones?Bonjour,
J'utilise le JMP Pro 12.
Je voudrais savoir comment puis-je obtenir l'AIC ou le BIC de - vraisemblance, en analyse de réseau neuronal?
Cordialement,
Angelo
Re: Comment puis-je obtenir la vraisemblance des formulaires BIC et AIC pour le réseau de neurones?Désolé, j'étais à peu près sûr de l'avoir fait pour les réseaux de neurones, mais c'était en fait pour la plate-forme non linéaire. Voici le code:
dt = Open("$SAMPLE_DATA/Nonlinear Examples/Chemical Kinetics.jmp");
fit = dt << Nonlinear(
Y( :Name( "Velocity (y)" ) ),
X( :Name( "Model (x)" ) ),
Newton,
Finish
);
rep = fit << Report;
matRmse = rep[NumberColBox(5)] << Get As Matrix;
/***************************************************
/ calculate AICc /
***************************************************/
// AIC = N.ln(SS/N) + 2k
// where N = # data points
// k = # parameters + 1
// SS = sum of squares for the residuals
// AICc = AIC + [ 2k(k+1) / (N-k-1) ]
N = NRows(dt);
nParameters = 2;
k = nParameters + 1;
rmse = matRmse[1];
dfSS = N - nParameters;
MS = rmse^2;
SS = dfSS * MS; // this is correct compared to fit model
LL = N*Log(2*Pi()*e()*SS/N);
AIC = LL + 2*k;
AICc = AIC + ( (2*k*(k+1))/(N-k-1) );
/***************************************************
/ calculate BIC /
***************************************************/
BIC = LL + k*Log(N);
Dans ce code, je devais déterminer la valeur de log-vraisemblance alors que le réseau de neurones vous le donne, alors cela devrait être plus facile. Je pense que vous avez juste besoin de penser à quelle est la valeur de k. Je suppose que ce serait 1 plus le nombre de poids qui sont estimés (pour un réseau à couche unique qui serait # facteurs x # noeuds);
Re: Comment puis-je obtenir la vraisemblance des formulaires BIC et AIC pour le réseau de neurones?Cher David,
C'est bon pour moi. Je vais attendre lundi.
Merci beaucoup,
Angelo
Re: Comment puis-je obtenir la vraisemblance des formulaires BIC et AIC pour le réseau de neurones?J'ai un code que je peux partager avec vous pour le faire. Malheureusement, je voyage actuellement. Si vous ne recevez pas de réponse de quelqu'un d'autre, je pourrai le poster lundi.
Re: Comment puis-je obtenir les probabilités BIC et AIC pour le réseau neuronal?Existe-t-il un moyen d'obtenir k uniquement à partir d'une formule de colonne rapide pour un neurone? Ou dois-je savoir comment le modèle a été créé? Par exemple
Names default to here(1);
dt = open("$SAMPLE_DATA/Boston Housing.jmp");
nn = dt << Neural(
Y( :mvalue ),
X(
:crim,
:zn,
:indus,
:chas,
:nox,
:rooms,
:age,
:distance,
:radial,
:tax,
:pt,
:b,
:lstat
),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit( NTanH( 3 ), NLinear( 2 ), NLinear2( 1 ), NGaussian2( 1 ) )
);
nn << (Fit[1] << Save Fast Formulas);
pred = Column(dt, ncols(dt));
pred << Get Formula();
Retour:
T#1 = Matrix(
{{:crim, :zn, :indus, Design Nom( :chas, [0 1], <<ELSE missing=""></ELSE>
Merci d'avance.