You are on page 1of 8

Realizacin de un Estimador de Quinielas con un

Perceptrn
Ral Sesmero Ramos
Universidad Carlos III de Madrid
NIA 100032778
raul.sesmero@alumnos.uc3m.es
Iigo Ucero Aristu
Universidad Carlos III de Madrid
NIA 100033032
inigo.ucero@alumnos.uc3m.es


OBJETIVO
A continuacin describimos las caractersticas y objetivos que se
van ha hacer frente en este estudio. Mediante la tcnica de
minera de datos pretendemos realizar un programa que sea capaz
de estimar los resultados de una quiniela. Para simplificar el
proyecto, vamos a tener en cuenta tan slo los resultados de
primera divisin.
Herramientas utilizadas para el estudio:
Matlab [Programa y lenguaje de programacin]: Utilizamos este
programa para realizar los clculos y algoritmos que vamos a
necesitar. Hemos programado funciones con esta herramienta de
manera que toda la informacin necesaria en el estudio la
sacamos de sus resultados. Con Matlab hemos obtenido los pesos
del perceptrn, hemos validado los datos, y los hemos testeado.
Microsoft Excel [Programa]: En este caso hemos hecho uso de
Excel para obtener los datos de entrenamiento y validacin para el
perceptrn.
Trminos Generales
Lo que pretendemos realizar con este estudio, es un programa que
sea capaz de predecir quinielas deportivas. Para ello hemos
implementado un perceptrn monocapa que entrenamos con
resultados histricos de los partidos.
1. INTRODUCCION
La minera de datos comprende una serie de tcnicas,
algoritmos y mtodos cuyo fin es la explotacin de grandes
volmenes de datos de cara al descubrimiento de informacin
previamente desconocida y que pueda ser empleada como ayuda
a la toma de decisiones.

En nuestro caso, reducimos este volumen de datos para
simplificar, ya que hemos tenido que introducir los datos a mano.
Si quisiramos disear un programa ms potente, realizaramos el
proyecto con datos de primera y segunda divisin, adems de un
nmero ms exhaustivo de variables, que definiera mejor el
entorno.

Para realizar predicciones utilizamos algoritmos supervisados.
Algoritmo supervisado: Dado un conjunto de ejemplos en la
forma de pares (entradas, salidas), encontrar las reglas que
mejor modelan la relacin entre las entradas y las salidas. El
algoritmo supervisado que vamos a usar es el del perceptrn, cuya
regla que relaciona las entradas con las salidas es el vector de
pesos.
Vamos a ver a continuacin como ha sido la realizacin de este
perceptrn monocapa. Para ello nos fijamos primeramente en las
variables de entrada y de salida que hemos obtenido, y
explicamos su funcin y la manera de obtenerlas. A continuacin
detallamos como hemos realizado el entrenamiento de los pesos
del perceptrn, decisiones tomadas, y la aclaracin de estas
decisiones.
Posteriormente realizaremos unas pruebas especficas que nos
ayudarn a comprender mejor el funcionamiento del perceptrn, y
a definirlo de manera ms efectiva.
Como parte principal del estudio, explicaremos los resultados
obtenidos, los esperados, y todas las conclusiones obtenidas.
Finalmente aportaremos soluciones que podran haberse
implementado etc.
2. VARIABLES DE ENTRADA
Como explicamos anteriormente, para la realizacin de nuestro
perceptrn hemos definido unas variables de entrada que
ayudarn a caracterizar la salida. En total usamos 26 variables,
que detallaremos a continuacin. Con esta cantidad de variables
esperamos obtener una buena respuesta, y gran caracterizacin de
cada muestra. Una de las cosas que vamos a probar, y nos
ayudarn a realizar un mejor estudio, es que probaremos con
distintos conjuntos de variables de entrada para ver como es el
resultado.Vamos a clasificar las variables en variables a corto
plazo, y variables a largo plazo.
Las variables a largo plazo ayudan a conocer la trayectoria
histrica del equipo, aportando informacin de la influencia que
ha ejercido sobre otros equipos, as como la influencia sobre el
equipo al que se enfrenta. Estas son:
Equipo Local: Hemos clasificado todos los equipos que
estn en primera divisin por orden alfabtico y
asociando a cada uno un nmero de 1 a 20, de manera
que sea ms til a la hora de utilizarlos en el perceptrn.
Esta variable representa al equipo que juega en casa
Equipo visitante: El equipo contra el que se enfrenta. La
clasificacin es la misma que en el apartado anterior,
cada equipo lleva un nmero que lo diferencia.
Estadsticas histricas del equipo local frente al
visitante: Son tres variables que dan respectivamente las
probabilidades de ganar, de empatar y de perder que
tiene el equipo local frente al visitante. Estas las hemos
calculado dividiendo el nmero total de partidos
ganados, empatados o perdidos derivados de los
enfrentamientos de ambos equipos, entre el nmero
total de partidos jugados entre los dos.
Estadsticas histricas del equipo visitante frente al
local: Las mismas variables que los anteriores, pero esta
vez invertidas. Hemos observado que al ponerlas, da un
mejor resultado en la estimacin.
Estadsticas histricas del equipo local: Son las
probabilidades histricas de ganar, empatar o perder del
equipo local frente a todos los equipos que estn
actualmente en primera divisin.
Estadsticas histricas del equipo visitante: Iguales que
las anteriores pero para el equipo visitante.

Las variables a corto plazo influyen sobre los resultados
aportando la informacin de la trayectoria actual del equipo. Este
tipo de variables son las siguientes:
Estadsticas de la temporada actual del equipo local:
Son las probabilidades de ganar, empatar o perder que
lleva el equipo en esta temporada.
Estadsticas de la temporada actual del equipo visitante:
Igual que las anteriores pero para el visitante.
Estadsticas de los ltimos seis partidos del equipo local
jugados en casa: Son las probabilidades de ganar,
empatar o perder que lleva el equipo en los ltimos seis
partidos jugados en su estadio.
Estadsticas de los ltimos seis partidos del equipo
visitante jugados fuera de su casa: Son las
probabilidades de ganar, empatar o perder que lleva el
equipo en los ltimos seis partidos jugados fuera de su
estadio.
Mediante este conjunto de variables esperamos conseguir la
mayor variabilidad posible de las muestras y a la vez poder
predecir un buen comportamiento.
3. VARIABLES DE SALIDA
En este caso solo tenemos una variable de salida que ser el
resultado que habra que apuntar en la quiniela. Hemos generado
una salida discreta que da tres resultados 1,2 3 que equivalen a
1,X,2.
Para calcular dichas variables, nos basamos en un estudio de los
enfrentamientos a lo largo de la historia de los dos equipos de la
muestra. Para ello calculamos la probabilidad histrica de ganar,
empatar o perder del equipo local sobre el visitante, tomando
como resultado de salida, la probabilidad que de un valor
mximo. Dependiendo de cul sea esta probabilidad, decidiremos
un valor 1, 2, 3. Estos datos los copiamos manualmente en una
hoja de calculo Excel, y a partir de ah realizamos los clculos
pertinentes.

4. PERCEPTRON
Como hemos dicho anteriormente hemos implementado un
perceptrn para decidir el resultado de la quiniela, calculando los
pesos y realizando la validacin de los mismos. Dicho perceptrn
utiliza un algoritmo supervisado para el clculo de los pesos.
Vamos a ver en la siguiente figura como sera un perceptrn
monocapa:

Figura1. Perceptn

Las X
i
son las variables que hemos puesto de entrada, las W
i
son
los pesos que queremos calcular. La funcin T en nuestro caso es
una suma de los productos de cada W con cada X, y finalmente la
Y es la variable discreta de salida.
La solucin que hemos adoptado para implementar el perceptrn,
ha sido crear el algoritmo directamente sobre Matlab, ya que de
esta forma podemos realizarlo con las caractersticas que
queramos. Para el clculo de los pesos hemos utilizado un
algoritmo de descenso por gradiente, y seleccionamos aquellos
pesos que produzcan un mnimo error cuadrtico medio.
El algoritmo consta de diez clculos distintos de los pesos, y
selecciona aquellos que produzcan el mnimo error cuadrtico
medio. En cada una de las diez iteraciones realiza un algoritmo
del gradiente completo. El algoritmo del gradiente utiliza el 80%
de las muestras para calcular los pesos llamando a este grupo de
muestras, muestras de entrenamiento. Inicializamos los pesos a 1,
y con cada muestra del grupo de muestras de entrenamiento
recalculamos los nuevos pesos. Para recalcular los nuevos pesos
utilizamos el algoritmo secuencial del gradiente:

( )
i i i i i i
x x w d w w + =
1 1



El 20% de muestras restantes se utilizan para validad los pesos
obtenidos. As, cada vez que calculamos los nuevos pesos,
aplicamos estos a todas las muestras de validacin, y calculamos
el error medio obtenido. Este error se calcula mediante la resta de
los resultados obtenidos y los resultados reales. Cada vez que se
obtienen unos pesos y un error asociado, se comprueba si este
error es el error ms pequeo obtenido hasta el momento, y si lo
es, se almacenan los pesos correspondientes a este mnimo error.
Una vez realizadas las diez iteraciones del algoritmo, se clasifica
a ver cul de las diez iteraciones ha producido el menor error
mnimo y se vuelve a almacenar estos pesos, que sern el
resultado final del programa.
Como se puede observar hemos realizado el clculo de los pesos y
la validacin de los mismos en cada una de las iteraciones, con lo
que hemos asegurado que al finalizar el entrenamiento tendremos
los mejores resultados posibles, es decir, los pesos que hacen la
funcin de coste mnima. En nuestro caso la funcin de coste que
hemos utilizado es el error cuadrtico medio.
Hasta este momento hemos realizado tan solo el diseo del
perceptrn, pero an no hemos terminado ya que faltara testear
este diseo, para ver si los resultados son correctos en la vida real.
Por ello vamos a proceder a realizar una batera de pruebas, que
nos ofrecern las caractersticas y debilidades de nuestro diseo.
Tras estas pruebas, explicaremos con unos grficos las
conclusiones extradas.
5. PRUEBAS
Para realizar las pruebas vamos a variar el nmero de variables
que usamos para entrenar, y haremos unas estadsticas
representando los resultados frente al nmero de variables. Hay
que resaltar que aunque el nmero de variables son 26, el nmero
de pesos es siempre uno ms. Esto es debido a que hemos
considerado un trmino independiente en cada muestra. Con esto
pretendemos obtener una mejor respuesta.
Otro bloque de pruebas ser realizar el entrenamiento sin
repeticin de muestras, y con repeticin de muestras. La
repeticin de muestras la hacemos porque los resultados producen
demasiados resultados ganando el equipo local con lo que
aparecen pocas muestras con los otros resultados. Para que el
entrenamiento sea un poco ms variable, repetiremos las muestras
que den resultados poco probables, hasta que los resultados sean
aproximadamente parecidos. Con esto solucionamos en parte la
aparicin de un estimador con cierto sesgo.
Una tercera prueba puede ser meter los datos repetidos y
desordenados inicialmente, para que la variabilidad sea mayor.
Para cada estimacin de los pesos, calcularemos el resultado sobre
la ltima jornada de liga. Los partidos sobre los cuales se realiza
la estimacin son:

Equipo local Equipo visitante Resultado
Variable
de salida
1 Getafe Barcelona 1-1 2
2 Atltico Nstic 0-0 2
3 Betis Celta 1-0 1
4 R. Sociedad Osasuna 2-1 1
5 Levante Racing 2-0 1
6 Villarreal Valencia 0-1 3
7 Mallorca Athletic 1-3 3
8 Zaragoza Sevilla 2-1 1
9 Espanyol Recreativo 0-1
3
10 Deportivo Real Madrid 2-0 1

5.1 Prueba 1.
Esta prueba consiste en variar el nmero de variables de
entrenamiento, y la realizamos sin repeticin de muestras.
5.1.1 N Variables: 26
Los resultados obtenidos con esta prueba son:
w = [-0,26238 -0,24542 0,71412 0,91567 0,93172
0,73971 0,90368 0,91812 0,93172 0,91567
0,71412 0,745 0,90253 0,91398 0,87988
0,84433 0,8373 0,87429 0,844 0,84322
0,87667 0,8235 0,86134 0,89552 0,79503
0,87095 0,5615]
error =2.0339
resultado estimado: 3 3 3 1 1 1 3 1 1 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 4

5.1.2 N Variables: 20
Los resultados obtenidos con esta prueba son:
w = [-0,1514 -0,19088 0,74722 0,9293 0,92072
0,76926 0,91086 0,91713 0,92072 0,9293
0,74722 0,76467 0,91042 0,92215 0,87738
0,87437 0,8455 0,86819 0,87232 0,85673
0,59724]
error =1.0044
resultado estimado: 3 3 3 1 2 1 3 1 1 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 3

5.1.3 N Variables: 10
Los resultados obtenidos con esta prueba son:
w = [-0,067233 -0,07557 0,8685 0,96147 0,96893
0,88 0,9537 0,9652 0,96893 0,96147
0,79889]
error =0.2800
resultado estimado: 3 2 2 1 1 1 2 1 1 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 4

5.1.4 N Variables: 6
Los resultados obtenidos con esta prueba son:
w = [-0,03380 -0,04105 0,86077 0,99642 0,98883
0,8867 0,84602]
error =0.2550
resultado estimado: 2 2 2 1 1 1 2 1 1 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 5
5.2 Prueba 2.
Esta prueba consiste en variar el nmero de variables de
entrenamiento, adems de repetir las muestras que producen
resultados que tienen menos frecuencia de aparicin.
5.2.1 N Variables: 26
Los resultados obtenidos con esta prueba son:
w = [-0,16815 -0,15808 0,5323 0,79455 0,89771
0,54095 0,83413 0,84947 0,89771 0,79455
0,5323 0,57991 0,81388 0,83077 0,74987
0,76379 0,71089 0,75314 0,74856 0,72286
0,78563 0,68631 0,75262 0,85816 0,66813
0,69827 0,22456]
error =0.9252
resultado estimado: 3 3 3 1 2 1 3 1 2 3
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 3

5.2.2 N Variables: 20
Los resultados obtenidos con esta prueba son:
w = [-0,15062 -0,0996 0,61654 0,81062 0,97727
0,64859 0,86607 0,88977 0,97727 0,81062
0,61654 0,6943 0,85064 0,85949 0,80676
0,82265 0,77503 0,82646 0,81158 0,7664
0,40443]
error =0.6925
resultado estimado: 3 3 3 2 2 1 3 1 2 3
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 2

5.2.3 N Variables: 10
Los resultados obtenidos con esta prueba son:
w = [-0,05133 -0,04576 0,81484 0,90098 1,0206
0,84501 0,94222 0,94917 1,0206 0,90098
0,7364]
error =0.2240
resultado estimado: 3 2 2 2 1 1 2 1 1 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 3

5.2.4 N Variables: 6
Los resultados obtenidos con esta prueba son:
w = [0,01448 -0,02898 0,77624 0,96445 1,1042
0,88041 0,84486]
error =0.2692
resultado estimado: 2 2 2 2 2 2 2 2 2 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 2
5.3 Prueba 3.
Esta prueba consiste en variar el nmero de variables de
entrenamiento, adems de repetir las muestras que producen
resultados que tienen menos frecuencia de aparicin. Como
novedad, vamos a introducir las muestras desordenadas para que
la variabilidad sea mayor.
5.3.1 N Variables: 26
Los resultados obtenidos con esta prueba son:
w = [-0,18153 -0,16338 0,55024 0,76915 0,92932
0,54291 0,84012 0,86568 0,92932 0,76915
0,55024 0,60706 0,81228 0,82936 0,7584
0,76604 0,72427 0,76835 0,74717 0,73319
0,77589 0,69866 0,77416 0,87045 0,67075
0,70751 0,24871]
error =1.0068
resultado estimado: 3 1 3 3 1 3 2 3 3 3
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 3

5.3.2 N Variables: 20
Los resultados obtenidos con esta prueba son:
w = [-0,1124 -0,14294 0,60853 0,86004 0,94524
0,65575 0,8688 0,88925 0,94524 0,86004
0,60853 0,68008 0,86059 0,87314 0,83771
0,80726 0,76884 0,81693 0,80362 0,79325
0,4138]
error =0.7222
resultado estimado: 3 1 3 3 1 2 2 3 3 3
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 2

5.3.3 N Variables: 10
Los resultados obtenidos con esta prueba son:
w = [-0,03428 -0,05425 0,83798 0,91077 0,98193
0,83846 0,9421 0,95011 0,98193 0,91077
0,73067]
error =0.2280
resultado estimado: 3 1 3 2 2 2 2 3 3 3
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 1

5.3.4 N Variables: 6
Los resultados obtenidos con esta prueba son:
w = [0,01283 -0,0262 0,77399 0,96294 1,0925
0,8689 0,82938]
error =0.2539
resultado estimado: 2 2 2 2 2 2 2 2 2 2
resultado real: 2 2 1 1 1 3 3 1 3 1
Total aciertos: 2

6. ANLISIS DE RESULTADOS
En este apartado presentamos un resumen de la informacin
extrada de las pruebas, y para facilitar la explicacin utilizaremos
grficas.
ANALISIS DE PRUEBA 1
2,0339
1,0044
0,28 0,255
4
3
4
5
0
1
2
3
4
5
6
N Variables 26 N Variables 20 N Variables 10 N Variables 6
Prueba 1
Error
Aciertos

Figura2. Resultados Prueba 1
Este es el estimador sesgado. En las sucesivas pruebas hemos
introducido repeticin de los datos para evitar este sesgo.
ANALISIS PRUEBA 2
0,9252
0,6925
0,224
0,2692
3
2
3
2
0
0,5
1
1,5
2
2,5
3
3,5
N Variables 26 N Variables 20 N Variables 10 N Variables 6
Prueba 2
Error
Aciertos

Figura3. Resultados Prueba 2

ANALISIS PRUEBA 3
1,0068
0,7222
0,228 0,2539
3
2
1
2
0
0,5
1
1,5
2
2,5
3
3,5
N Variables 26 N Variables 20 N Variables 10 N Variables 6
Prueba 3
Error
Aciertos

Figura4. Resultados Prueba 1

Como puede verse en estas tres primeras grficas, hay una
tendencia de disminucin del error al reducirse el nmero de
variables de entrada del perceptrn. Esto ocurre porque hemos
utilizado un conjunto de variables que se aproxima cada vez ms
al conjunto utilizado para calcular las variables de salida. Como
vimos en el apartado 3, los datos de salida que bamos a usar para
entrenar el perceptrn, usaban tres variables que luego utilizamos
como entrada, y este conjunto de 3 variables es al que nos
aproximamos sucesivamente cuando reducimos las variables.
En cuanto a los resultados del nmero de aciertos, la tendencia
depende del orden de los datos, y de si el estimador es sesgado o
insesgado.
En las pruebas dos y tres el estimador era insesgado, y se observa
que la tendencia de resultados acertados disminuye conforme el
nmero de variables decrece. Si nos fijamos en los resultados del
apartado anterior, vemos como para pocas variables, la tendencia
del estimador es a dar siempre un empate como resultado. Luego
aunque a primera vista de un buen error medio, la estimacin no
es vlida y los aciertos son bajos.
En este caso, la mejor opcin que podemos tomar es la que nos de
un buen compromiso entre el nmero de aciertos y el error medio.
COMPARACION PRUEBAS
0,893325
0,527725 0,552725
4
2,5
2
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
Prueba 1 Prueba 2 Prueba 3
Error Medio
Aciertos Medios

Figura5. Anlisis de Pruebas


Se puede observar que en las pruebas dos y tres no influye en
exceso el desorden de las muestras. Por lo que los resultados es
predecible que sean parecidos.
Por lo tanto a la vista de los resultados nos quedaremos con la
primera prueba, aunque sea un estimador sesgado, y con un
nmero de variables entre 10 y 20. Descartamos usar un
estimador insesgado, porque a pesar de introducir ms empates, y
victorias visitantes, la realidad indica que la mayora de los
resultados son victorias locales.

7. CONCLUSIONES
A la vista del estudio realizado hemos extrado las siguientes
conclusiones:
La prediccin de resultados de quinielas es demasiado
compleja como para realizar un estudio que sea
totalmente fiable. Esto se debe al gran nmero de
variables medibles y no medibles que influyen
directamente en el resultado del partido. Sucesos tales
como estado de forma de los jugadores, expulsiones,
lesiones, crisis econmicas de los equipos, errores
arbitrales, etc son hechos que son difcilmente
cuantificables para el estudio. Nuestro programa slo
refleja aspectos relativos a los enfrentamientos recientes
e histricos de los equipos.
Otro aspecto a resear es que podramos mejorar el
sistema utilizando otros sistemas de prediccin ms
potentes que el perceptrn, pero a su vez, esos sistemas
introducen una mayor complejidad tanto de diseo
como de desarrollo. Un sistema del tipo perceptrn
multicapa hubiera dado posiblemente mejores
prestaciones, porque particulariza ms, pero su
entrenamiento hubiera costado mucho esfuerzo y
tiempo.
Podramos haber mejorado sensiblemente la capacidad
del perceptrn incluyendo algoritmos de aprendizaje, de
manera que cada vez que se hiciera una nueva
prediccin, se incluyera este dato en la base de datos de
entrenamiento.
A parte de todas estas desventajas que presenta la
prediccin de una quiniela, nuestros sistemas producen
una respuesta a tener en cuenta. Como hemos dicho en
los resultados, llegamos a la conclusin que el mejor
algoritmo para calcular los pesos, es el que no usa
muestras repetidas. Esto produce un estimador sesgado,
que da ms peso a los resultados de victoria local. Es
lgico ya que el factor campo es uno de los que ms
influye en el resultado de un partido, y normalmente la
mayora de los equipos consiguen la victoria en casa.
Se deduce de los resultados del estudio que tenemos que
llegar a un compromiso entre el nmero de aciertos y el
error medio obtenido mediante cierta tcnica.
Consecuentemente y a la vista de los resultados esto nos
lleva a elegir el perceptrn sesgado con un nmero de
variables de entrada entre 10 y 20.
A la vista de todas estas conclusiones el mtodo del
perceptrn simple no es el ms adecuado para realizar
una estimacin tan compleja.

8. SOLUCIONES
Aunque lo hemos explicado antes, la conclusin obtenida es que
nuestro perceptrn no nos sirve como buen estimador de
quinielas. Tambin hemos explicado que necesitaramos muchas
variables ms, y una gran batera de datos ms.
Es probable que otra solucin fuese calcular de otra manera
diferente los resultados de salida, ya que la forma en que nosotros
lo hacemos puede que no sea del todo precisa. Siempre va a ser
una estimacin, pero quiz alguna variable ms podra dar unos
resultados ms reales.
Finalmente decir que no hay un algoritmo capaz de dar con total
rigor un resultado bueno. En Internet se pueden encontrar gran
cantidad de estimadores de este tipo, pero ninguno da un resultado
capaz de predecir exactamente lo que va a ocurrir en la jornada.
De no ser asi, habra gente que se habra hecho millonaria con la
quiniela y esta hubiera desaparecido.

9. ANEXO
A continuacin exponemos el cdigo desarrollado para la
implementacin de nuestro estimador. Como dijimos antes, todo
el cdigo ha sido desarrollado en Matlab, porque hemos pensado
que nos dara mejores resultados que el programa Weka. Adems
as hemos podido decidir la forma de nuestra variable de salida de
la forma que nosotros queramos.


function [w_final]=entrenador(datos)

col_resultado=27;
total_cols=7;
ultima_col=6;
%Paso elegido para el algoritmo del gradiente(LMS)
nu=0.0015;
%N de muestras que usamos para entrenar
long_entrenamiento=length(datos(:,1))*0.8;
%Realizamos 10 iteraciones para obtener el minimo error
for k=1:10
orden=randperm(length(datos(:,1)));
error_iter=0;
w=ones(1,total_cols);
for i=1:long_entrenamiento
%Para cada muestra calculamos los nuevos pesos
w=w+(nu*(datos(orden(i),col_resultado)-
w*[datos(orden(i),1:ultima_col)';1])
*[datos(orden(i),1:ultima_col)1]);
%Calculamos el error obtenido para estos pesos
error =0;
for j=long_entrenamiento:size(datos(:,1))
error=error +(datos(orden(j),col_resultado)-
(w*[datos(orden(j),1:ultima_col)';1]))^2;
end
error=error/(2*(length(datos(:,1))-long_entrenamiento));

%Nos quedamos con el error minimo que da el algoritmo
if i==1
error_iter=error+1;
end
if error<error_iter
error_iter=error;
w_iter=w;
end
end

w_iter;
error_iter;

%Nos quedamos con la iteracin que consigue menor error
if k==1
error_final =error_iter+1;
end
if error_iter<error_final
error_final=error_iter;
w_final=w_iter;
end

end

%Estas son las variables de salida del perceptron
w_final
error_final

Seguidamente exponemos el cdigo del programa que hemos
utilizado para testear nuestro estimador. En l recogemos los
resultados de la 17 jornada de la liga espaola de ftbol
profesional, y lo comparamos con los obtenidos por nuestro
programa.

function [ ]=test(datos,w)

ultima_col=6;
col_resultado=27;

%El vector N contiene la situacin de los datos a
%estimar en nuestra base de datos, y el resultado
%del partido. Utilizamos un vector N u otro
%dependiendo de que prueba hagamos.
%N=[136 2;27 2;61 1;278 1;183 1;360 3;191 3;378 1;129 3;108 1]
N=[166 2;122 2;385 1;125 1;609 1;736 3;8 3;741 1;905 3;261 1]

%Calculamos el resultado estimado de cada
%enfrentamiento y lo comparamos con el real.
for i=1:10
resultado(i)=round(w*[datos(N(i,1),1:ultima_col)';1]);

%Aqu redondeamos los resultados que se pasan
%de 3, o se quedan por debajo de 1.
if resultado(i) <1
resultado(i) =1;
end
if resultado(i) >3
resultado(i) =3;
end
resultado(i);
verdadero(i)=N(i,2);

end

%Vectores que dan el resultado estimado y el real.
resultado
verdadero

10. REFERENCIAS
[1] Apuntes de la asignatura Inteligencia en Redes de
Comunicaciones.

[2] Gua Marca de la Liga de Ftbol Profesional. Temporada
2006-2007. Ed Recoletos.

[3] Bishop, C.M.: Neural Networks for Pattern
Recognition. Oxford. Oxford University Press; 1995.

You might also like