3. 090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Universidad
Distrital
Francisco
Jose
de
caldas
Universidad Distrital Francisco José de Caldas 3
Por lo tanto tenemos que:
µ1 =
1,43
1,47
y µ2 =
−0,89
−0,97
(9)
Ahora se procederá a calcular las matrices de covarianza y sus inversas para cada
clase agregando el siguientecodigo al anterior script:
%calculamos Xi -Xmedio para la covarianza extendiendo mu1 600
veces
ce1 = clase1 - repmat(mu1 ,600 ,1);
%calculamos la matriz de covarianza para la clase1
cov1 =(1/600)*ce1 ’*ce1
%calculamos Xi -Xmedio para la covarianza extendiendo mu1 400
veces
ce2 = clase2 - repmat(mu2 ,400 ,1);
%calculamos la matriz de covarianza para la clase2
cov2 =(1/400)*ce2 ’*ce2
invs1=inv(cov1) %inversa de la matriz de covarianza 1
invs2=inv(cov2) %inversa de la matriz de covarianza 2
det(cov1) %determinante de la matriz de covarianza 1
det(cov2) %determinante de la matriz de covarianza 2
El cual nos entrega el siguiente resultado:
Σ1 =
0,9032 −0,0169
−0,0169 0,9782
y Σ2 =
2,2598 0,4484
0,4484 1,9683
(10)
Σ−1
1 =
1,1076 0,0191
0,0191 1,0226
y Σ−1
2 =
0,4635 −0,1056
−0,1056 0,5321
(11)
|Σ1| = 0,8832 y |Σ2| = 4,2468 (12)
Ahora que se tienen todos los parámetros se puede utilizar la ecuación (8) para
cada una de las clases:
g1(X) = XT
W1X + ωT
1 X + ω10 (13)
g2(X) = XT
W2X + ωT
2 X + ω20 (14)
por lo tanto se empezará calculando el valor de XT
W1X y XT
W2X:
W1 =
1
2
Σ−1
1 (15)
XT
W1X =
1
2
x1 x2 ·
1,1076 0,0191
0,0191 1,0226
·
x1
x2
15. 630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
Universidad
Distrital
Francisco
Jose
de
caldas
Universidad Distrital Francisco José de Caldas 15
Los coeficientes DyE se asignaran como 0 (aunque no se tendrán en cuenta
en el resultado final sus valores obtenidos en W) y se comprobaran las condi-
ciones descritas en (36) si no se cumplen se actualizara el vector de pesos igual
que en el perceptrón y también se actualizarán las matrices AQ y M0 con los
nuevos coeficientes de W y los coeficientes restantes se asignaran aleatoria-mente.
Después de que se cumplan las restricciones de (36) se procederá a clasificar
un punto aleatoria-mente, si dicho punto no se encuentra bien clasificado se vol-
verán a actualizar los pesos, y los demás parámetros.
La regla de clasificación que se utilizará será:
Ic =
x ∈ C1 si g(x1, x2) > 0
x ∈ C2 si g(x1, x2) 0
(38)
Donde C1 y C2 son las 2 clases y g(x1, x2) se define como:
g(x1, x2) = A · (x1)2
+ B · (x2)2
+ C · x1 · x2 + D · x1 + E · x2 + F (39)
A continuación se presenta un script que implementa el algoritmo anterior-
mente descrito:
clear all
clc
A=rand; B=rand; C=rand; D=0; E=0;
F= -1.3;
pex = [-1 -1 1 1 1; -1 1 1 1 1; 1 -1 1 1 1; 1 1 1 1 1];
yi = [1 -1 -1 1];
w = [A B C D E];
p = [-1 -1; -1 1; 1 -1; 1 1];
M=[F w(4)/2 w(5) /2; w(4)/2 w(1) w(3) /2; w(5)/2 w(3)/2 w(2)];
M0=[w(1) w(3) /2; w(3)/2 w(2)];
n=1;
while n <100
j = randi (4);
if det(M)~=0 && det(M0) <0
v=w(1)*p(j,1)^2 +w(2)*p(j,2)^2 + w(3)*p(j,1)*p(j,2) +
D*p(j,1) + E*p(j,2)+F;
if v < 0 && yi(j)==-1
w = w + pex(j,:)*yi(j);
M=[F w(4)/2 w(5) /2; w(4)/2 w(1) w(3) /2; w(5)/2
w(3)/2 w(2) ];;
M0=[w(1) w(3) /2; w(3)/2 w(2)];
end
%% % % % % % % % % % % % % % % % % % % %
18. 765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
Universidad
Distrital
Francisco
Jose
de
caldas
18 Universidad Distrital Francisco José de Caldas
El modelo propuesto es posible de realizar para patrones d-dimensionales,
acudiendo a la forma matricial de las ecuaciones de segundo grado para hiper-
superficies, y tendría que establecerse las restricciones que se establecieron es
este modelo, un ejemplo para el caso particular de 3 dimensiones se podrían uti-
lizar hiperboloides de 2 hojas para clasificar los patrones, y su hiper-superficie
de decisión estaría en R4
siendo hipeparaboloides hiperblolicos en 4 dimensio-
nes, a continuacion se muestra un hiperboloide de 2 hojas para el caso de 3
dimensiones:
Figura 14. Ejemplo de clasificación para el caso de 3 dimensione.
4. Conclusiones
El clasificador bayesiano representa una clasificación óptimo para un proble-
ma no separable lineal mente, pero en este caso se logro una mejor clasifica-
ción con el perceptron con bolsillo, aunque eso se debe a que el clasificador
bayesiano toma en cuenta la probabilidad de escoger un punto y que este
pertenezca a una clase, en este caso la probabilidad era 60/40 pero aun así
se cometían mas errores con el bayesiano que con el perceptron con bolsillo.
Para el caso de dos clases no separables linealmente como el del segundo
punto, es muy útil encontrar una transformacion no lineal que facilite la
separación de los puntos como la que se propuso, se pudo observar que el
algoritmo LMS aplicado a dicho problema no tenia ningún efecto separando
los puntos, también se evidencio un costo computacional mayor al pasar de
un espacio de 2 dimensiones a un espacio de 3.
he podido encontrar un método,(ignoro si ya existía) para solucionar el pro-
blema de la XOR el cual converge la mayoría de las veces en pocos pasos.