La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Inteligencia-Artificial/886669-Redes-Neuronales.html

Redes Neuronales

Redes Neuronales

Publicado por Yuselim (1 intervención) el 18/10/2007 22:19:00
Alguien me pudiera ayudar, lo que pasa que estoy haciendo mi tesis sobre el tema de Redes Neuronales, para términar la licenciatura en informática administrativa y necesito información de gente experta sobre este tema.

RE:Redes Neuronales

Publicado por Juan Jose (1 intervención) el 10/11/2007 04:40:15
toma este codigo sirve lo use para una tesis de un programa que jugava la vieja esta en c# si neecsitas mas ayuda me avisas vivo en venezuela
lo que te paso es un perceptron multicapa, que es una red neuronal de aprendizaje supervisado, esto trabaja con dos capas de neuronas una oculta mas una de salida

using System;

namespace OldPar
{
/// <summary>
/// Clase que contiene los metodos de creacion, prueba y entrenamiento de la red
/// </summary>
public class perceptron
{
public perceptron()
{
//
// TODO: agregar aquí el código del constructor
//
}
public void hace_red(int entradas, int salidas, int ocultas)
{

en = new double[entradas];
sa = new double[salidas];
ocu = new neurona[ocultas];
sal = new neurona[salidas];
for (i=0; i < ocu.Length;i++)
{
ocu[i] = new neurona();
ocu[i].dimensiona_pesos(entradas);
}
for (i=0; i < sal.Length;i++)
{
sal[i] = new neurona();
sal[i].dimensiona_pesos(ocultas);
}
}
public void aleatorios(int entradas, int salidas, int ocultas)
{
Random r = new Random();
for (i=0;i<ocu.Length;i++)
{
for (j=0;j<entradas;j++)
{

ocu[i].pesos[j] = (double)((r.NextDouble() * 2) - 1);
}
ocu[i].peso_bias = (double)((r.NextDouble() * 2) - 1);
}
for (i=0; i<sal.Length;i++)
{
for (j=0; j<ocultas;j++)
{
sal[i].pesos[j] = (double)((r.NextDouble() * 2) - 1);
}
sal[i].peso_bias = (double)((r.NextDouble() * 2) - 1);
}

}
/////////////////////////
public void muestra_pesos_red(System.Windows.Forms.ListBox lista, int vn1, int vn2, bool entrada)
{

int n1,n2;
String cad, cad1 = "";

lista.Items.Clear();
for (n1 = 0; n1 < vn1; n1++)
{
for (n2 = 0; n2 < vn2; n2++)
{
cad = "";
cad1 = "";
if (entrada)
{


cad1 = System.Convert.ToString(ocu[n2].pesos[n1]);


cad = "P" + System.Convert.ToString(n1) + "," + System.Convert.ToString(n2) +
" =" + cad1.Substring(0,6);
lista.Items.Add((Object)cad);

}
else
{
cad1 = System.Convert.ToString(sal[n2].pesos[n1]);
cad = "P" + System.Convert.ToString(n1) + "," + System.Convert.ToString(n2) +
" =" + cad1.Substring(0,6);
lista.Items.Add((Object)cad);
}
}
}

}
///////////////////////////
private double Activacion(double su)
{

su = (double)((1.0) / (1.0 + Math.Exp(su * -1)));
return su;
}
////////////////// el backpro by jesus benigno contreras UFT ///////////
public void entrena(int ocultas, int lugar)
{
double suma;
// calculo del valor de las ocultas
for (i = 0; i < ocultas; i++)
{
suma = 0;
for (j = 0; j < 27; j ++)
{ // sumatoria de entradas por salidas
suma = suma + en[j] * ocu[i].pesos[j];
}
suma = suma + ocu[i].peso_bias; // se le suma el peso de la bias la entrada siempre es 1
ocu[i].valor = Activacion(suma);

}
// ahora los valores de las neuronas de salida
for (i = 0; i < 9; i++)
{
suma = 0;
for (j = 0; j < ocultas; j ++)
{
suma = suma + ocu[j].valor * sal[i].pesos[j];
}
suma = suma + sal[i].peso_bias;
sal[i].valor = Activacion(suma);

}
// ahora calculamos el error de cada neurona a la salida tambien llamado delta
// que viene dado por la rediravada * el error
for (i = 0; i < 9; i++)
{ // derivada de la funcion // // error = deseado - obtenido de aca pueden tomar para hacer las graficas pero la verga se pone muy lenta
sal[i].delta = sal[i].valor * (1 - sal[i].valor) * (System.Math.Abs(sa[i]) - sal[i].valor);

}
// ahora los deltas de las ocultas como se ve estos dependen de los de salida
// de alli la verga esa del backpropagation
for (i = 0; i < ocultas; i ++)
{
suma = 0;
for (j = 0; j < 9; j ++)
{
suma = suma + sal[j].pesos[i] * sal[j].delta;
}
error = System.Math.Abs(suma);
ocu[i].delta = ocu[i].valor * (1 - ocu[i].valor) * suma;
}
// ahora el ajuste de los pesos de las neuronas de salida
for (i = 0; i < 9; i++)
{
for (j = 0; j < ocultas; j++)
{
sal[i].pesos[j] = sal[i].pesos[j] + aprendizaje * ocu[j].valor * sal[i].delta;
}
sal[i].peso_bias = sal[i].peso_bias + aprendizaje * sal[i].delta;
}
// ahora los pesos de las neuronas de entrada
for (i = 0; i < ocultas; i++)
{
for (j = 0; j < 27; j++)
{

ocu[i].pesos[j] = ocu[i].pesos[j] + aprendizaje * en[j] * ocu[i].delta;

}
ocu[i].peso_bias = ocu[i].peso_bias + aprendizaje * ocu[i].delta;
}

} // fin del back pro
//////////////////////////////////////////////////////////////////////
public String prueba(int ocultas)
{
double suma = 0;
String cadena = "";
for (i = 0; i < ocultas; i++)
{
for (j = 0; j < 27; j++)
{
suma = suma + en[j] * ocu[i].pesos[j];
}
suma = suma + ocu[i].peso_bias;
ocu[i].valor = Activacion(suma);
suma = 0;
}
for (i = 0; i < 9;i++)
{
for (j = 0; j < ocultas; j++)
{
suma = suma + ocu[j].valor * sal[i].pesos[j];
}
suma = suma + sal[i].peso_bias;
sal[i].valor = Activacion(suma);
if (sal[i].valor > 0.6)
{
cadena = cadena + "1";
}
else
{
cadena = cadena + "0";
}
suma = 0;
}
return cadena;

} // fin del metodo prueba

//////////////////////////////////////////////////////////////////////
int i,j;
public double[] en;
public double[] sa;
public neurona[] ocu, sal;
public double aprendizaje = 0;
public double error = 1;
}
}

RE:Redes Neuronales

Publicado por maritza (1 intervención) el 17/03/2011 16:55:25
hola me gustaria saber como o de que tengo que hacer mi tesis ya que llevo una lic. informatica administrativa y no se a un que voy a ser mi tesis me podrias ayudar.

RE:Redes Neuronales

Publicado por Warlock (1 intervención) el 09/05/2008 14:37:46
Hola saludos que tal juan jose, tengo un proyecto pero supongo que tu como hiciste una tesis con esto comprenderas la poca informacion que existe de redes neuronales te agradeceria la colaboracion. saludos

RE:Redes Neuronales

Publicado por M (1 intervención) el 01/06/2009 13:18:25
Hola...

Aunque este post es algo antiguo con la esperanza que lo pueda contestar.

Trabajo en estos temas pero soy totalmente nuevo e inexperto, Necesito de su ayuda..

gracias.. Por aquí de un e-mail [email protected]

RE:Redes Neuronales

Publicado por Mikars (1 intervención) el 09/04/2010 14:03:04
hola Juan Jose me interesa mucho redes neuronales ps soy nuevo en esto, pos necesito ver si me puedes ayudar a implementar una para un circuito empotrado, gracias!

RE:Redes Neuronales

Publicado por dany r solarte (1 intervención) el 21/10/2010 21:56:17
Hola me parese muy interesante el tema sobre la red neuronal. mi problema es que necesito reconocer letras como minimo (A-B-C-D-E-F) esto lo tengo q realizar en el programa C# del cual no tengo ningun conocimiento.

si me puedes ayudar t agradeseria mucho

RE:Redes Neuronales

Publicado por carlos david correa santillan (1 intervención) el 23/12/2013 06:27:28
podrias usar un lenguaje de bajo nivel como el qbasic, primero deberias definir el mapa de la red, sus conecciones y la funcion de cada neurona, a continuacion definirias las funciones que representan cada neurona con capacidades exitatorias y innibitorias, temporales con una ecuacion unica o compuestas, y despues usar variables dimensionales en un bucle sin fin, es una opcion facil y sin muchas complicaciones, despues solo quedaria la forma en la cual introducis los datos y como ordenar los resultados, con posterior analisis....

Redes Neuronales

Publicado por Javier Muñoz (2 intervenciones) el 10/02/2011 19:17:06
Estamos buscando una persona con experiencia en diseño, entrenamiento y implementación de redes neuronales. Para comenzar un proyecto empresarial. Ante la falta de financiación que estamos viviendo, ofrecemos participación en la compañía por trabajo realizado. Es un proyecto hospitalario en el que están interesados varios hospitales. Si estas interesado y tienes ganas de emprender. Ponte en contacto con nosotros.

RE:Redes Neuronales

Publicado por Andres Cardona (1 intervención) el 11/02/2014 04:47:05
Hola amigo, algun libro o guia que puedas recomendarme por favor, estoy muy interesado en las RNA

RE:Redes Neuronales

Publicado por Omar (1 intervención) el 01/08/2014 17:08:10
Disculpa amigo podrías incluir el código de la clase "neurona"

RE:Redes Neuronales

Publicado por Christina José (1 intervención) el 09/06/2016 20:33:32
hola no se si me podría ayudar con lo de redes neuronales con un código en java para la detección automática de sismos por su atención muchas gracias, aquí mi correo por si me ayuda en eso [email protected]

RE:Redes Neuronales

Publicado por Gabriel (1 intervención) el 29/06/2008 07:44:57
Nada mas quiero agregar que el hacer un tesis sobre un tema, me da gusto. La verdad hay que darnos cuenta que estamos muy lejos de crear robot con inteligencia y aun más que sean creativos, pero de alguna manera tenemos que pensar de manera positiva. Que nuestra visión no se esfume como un sueño nada más, hagamoslo realidad y aportando conocimientos sera mas fácil. Voy a checar el codigo en C# k enviaron y hechale ganas amigo, claro si es k no has presentado tu tesis.

Atte: Ing Gabriel Zapata