Mi solucion
import numpy as np
def layer_1_z(x, w1, b1):
return 1 / w1 * x + b1
def layer_2(x, w1, b1, w2, b2):
y1 = layer_1_z(x, w1, b1)
y2 = y1 - np.floor(y1)
return w2 * y2 + b2
def layer_2_activation(x, w1, b1, w2, b2):
y2 = layer_2(x, w1, b1, w2, b2)
# return 1 / (1 + np.exp(-y2))
return (y2 > 0) * 1
def loss(param):
w1, b1, w2, b2 = param
x = np.arange(0, 1000, 1)
y_hat = layer_2_activation(x, w1, b1, w2, b2)
y_true = (x % 2 > 0) * 1
return sum(np.square(y_hat - y_true))
# %%
from sko.GA import GA
ga = GA(func=loss, n_dim=4, size_pop=50, max_iter=100, lb=[1, 0, 1, 0], ub=[32, 1, 2, 1], precision=1)
best_x, best_y = ga.run()
print('best_x:', best_x, '\n', 'best_y:', best_y)
for x in range(1001, 1200):
y_hat = layer_2_activation(x, *best_x)
print('input:{},divide by 2:{}'.format(x, y_hat == 0))
entrada: 1001, dividir entre 2: entrada falsa: 1002, dividir entre 2: entrada verdadera: 1003, dividir entre 2: entrada falsa: 1004, dividir entre 2: entrada verdadera: 1005, dividir entre 2: entrada falsa: 1006, dividir por 2: entrada verdadera: 1007, dividir por 2: entrada falsa: 1008, dividir por 2: entrada verdadera: 1009, dividir por 2: entrada falsa: 1010, dividir por 2: entrada verdadera: 1011, dividir por 2: entrada falsa : 1012, dividir entre 2: Entrada verdadera: 1013, dividir entre 2: Entrada falsa: 1014, dividir entre 2: Entrada verdadera: 1015, dividir entre 2: Entrada falsa: 1016, dividir entre 2: Entrada verdadera: 1017, dividir entre 2: Entrada falsa: 1018, dividir entre 2: Entrada verdadera: 1019, dividir entre 2: Entrada falsa: 1020, dividir entre 2: Entrada verdadera: 1021, dividir entre 2: Entrada falsa: 1022, dividir entre 2: Entrada verdadera: 1023, dividir entre 2: entrada falsa: 1024, dividir entre 2: entrada verdadera: 1025, dividir entre 2: entrada falsa: 1026, dividir entre 2: entrada verdadera: 1027, dividir entre 2: entrada falsa: 1028, dividir entre 2 : Entrada verdadera: 1029, dividir por 2:Entrada falsa: 1030, dividir entre 2: Entrada verdadera: 1031, dividir entre 2: Entrada falsa: 1032, dividir entre 2: Entrada verdadera: 1033, dividir entre 2: Entrada falsa: 1034, dividir entre 2: Entrada verdadera: 1035, dividir por 2: entrada falsa: 1036, dividir por 2: entrada verdadera: 1037, dividir por 2: entrada falsa: 1038, dividir por 2: entrada verdadera: 1039, dividir por 2: entrada falsa: 1040, dividir por 2: verdad entrada: 1041, dividir entre 2: entrada falsa: 1042, dividir entre 2: entrada verdadera: 1043, dividir entre 2: entrada falsa: 1044, dividir entre 2: entrada verdadera: 1045, dividir entre 2: entrada falsa: 1046, dividir por 2: entrada verdadera: 1047, dividir por 2: entrada falsa: 1048, dividir por 2: entrada verdadera: 1049, dividir por 2: entrada falsa: 1050, dividir por 2: entrada verdadera: 1051, dividir por 2: entrada falsa : 1052, dividir entre 2: Entrada verdadera: 1053, dividir entre 2: Entrada falsa: 1054, dividir entre 2: Entrada verdadera: 1055, dividir entre 2: Entrada falsa: 1056, dividir entre 2: Entrada verdadera: 1057, dividir entre 2: Entrada falsa: 1058, dividir por 2:Entrada verdadera: 1059, dividir entre 2: Entrada falsa: 1060, dividir entre 2: Entrada verdadera: 1061, dividir entre 2: Entrada falsa: 1062, dividir entre 2: Entrada verdadera: 1063, dividir entre 2: Entrada falsa: 1064, dividir por 2: entrada verdadera: 1065, dividir por 2: entrada falsa: 1066, dividir por 2: entrada verdadera: 1067, dividir por 2: entrada falsa: 1068, dividir por 2: entrada verdadera: 1069, dividir por 2: falso entrada: 1070, dividir entre 2: entrada verdadera: 1071, dividir entre 2: entrada falsa: 1072, dividir entre 2: entrada verdadera: 1073, dividir entre 2: entrada falsa: 1074, dividir entre 2: entrada verdadera: 1075, dividir por 2: entrada falsa: 1076, dividir por 2: entrada verdadera: 1077, dividir por 2: entrada falsa: 1078, dividir por 2: entrada verdadera: 1079, dividir por 2: entrada falsa: 1080, dividir por 2: entrada verdadera : 1081, dividir entre 2: Entrada falsa: 1082, dividir entre 2: Entrada verdadera: 1083, dividir entre 2: Entrada falsa: 1084, dividir entre 2: Entrada verdadera: 1085, dividir entre 2: Entrada falsa: 1086, dividir entre 2: Entrada verdadera: 1087, dividir por 2:Entrada falsa: 1088, dividir entre 2: Entrada verdadera: 1089, dividir entre 2: Entrada falsa: 1090, dividir entre 2: Entrada verdadera: 1091, dividir entre 2: Entrada falsa: 1092, dividir entre 2: Entrada verdadera: 1093, dividir por 2: entrada falsa: 1094, dividir por 2: entrada verdadera: 1095, dividir por 2: entrada falsa: 1096, dividir por 2: entrada verdadera: 1097, dividir por 2: entrada falsa: 1098, dividir por 2: verdad entrada: 1099, dividir por 2: entrada falsa: 1100, dividir por 2: entrada verdadera: 1101, dividir por 2: entrada falsa: 1102, dividir por 2: entrada verdadera: 1103, dividir por 2: entrada falsa: 1104, dividir por 2: entrada verdadera: 1105, dividir por 2: entrada falsa: 1106, dividir por 2: entrada verdadera: 1107, dividir por 2: entrada falsa: 1108, dividir por 2: entrada verdadera: 1109, dividir por 2: entrada falsa : 1110, dividir entre 2: Entrada verdadera: 1111, dividir entre 2: Entrada falsa: 1112, dividir entre 2: Entrada verdadera: 1113, dividir entre 2: Entrada falsa: 1114, dividir entre 2: Entrada verdadera: 1115, dividir entre 2: Entrada falsa: 1116, dividir por 2:Entrada verdadera: 1117, dividir entre 2: Entrada falsa: 1118, dividir entre 2: Entrada verdadera: 1119, dividir entre 2: Entrada falsa: 1120, dividir entre 2: Entrada verdadera: 1121, dividir entre 2: Entrada falsa: 1122, dividir por 2: entrada verdadera: 1123, dividir por 2: entrada falsa: 1124, dividir por 2: entrada verdadera: 1125, dividir por 2: entrada falsa: 1126, dividir por 2: entrada verdadera: 1127, dividir por 2: falso entrada: 1128, dividir entre 2: entrada verdadera: 1129, dividir entre 2: entrada falsa: 1130, dividir entre 2: entrada verdadera: 1131, dividir entre 2: entrada falsa: 1132, dividir entre 2: entrada verdadera: 1133, dividir por 2: entrada falsa: 1134, dividir por 2: entrada verdadera: 1135, dividir por 2: entrada falsa: 1136, dividir por 2: entrada verdadera: 1137, dividir por 2: entrada falsa: 1138, dividir por 2: entrada verdadera : 1139, dividir entre 2: Entrada falsa: 1140, dividir entre 2: Entrada verdadera: 1141, dividir entre 2: Entrada falsa: 1142, dividir entre 2: Entrada verdadera: 1143, dividir entre 2: Entrada falsa: 1144, dividir entre 2: Entrada verdadera: 1145, dividir por 2:Entrada falsa: 1146, divide entre 2: Entrada verdadera: 1147, divide entre 2: Entrada falsa: 1148, divide entre 2: Entrada verdadera: 1149, divide entre 2: Entrada falsa: 1150, divide entre 2: Entrada verdadera: 1151, dividir por 2: entrada falsa: 1152, dividir por 2: entrada verdadera: 1153, dividir por 2: entrada falsa: 1154, dividir por 2: entrada verdadera: 1155, dividir por 2: entrada falsa: 1156, dividir por 2: verdad entrada: 1157, dividir entre 2: entrada falsa: 1158, dividir entre 2: entrada verdadera: 1159, dividir entre 2: entrada falsa: 1160, dividir entre 2: entrada verdadera: 1161, dividir entre 2: entrada falsa: 1162, dividir por 2: entrada verdadera: 1163, dividir por 2: entrada falsa: 1164, dividir por 2: entrada verdadera: 1165, dividir por 2: entrada falsa: 1166, dividir por 2: entrada verdadera: 1167, dividir por 2: entrada falsa : 1168, dividir entre 2: Entrada verdadera: 1169, dividir entre 2: Entrada falsa: 1170, dividir entre 2: Entrada verdadera: 1171, dividir entre 2: Entrada falsa: 1172, dividir entre 2: Entrada verdadera: 1173, dividir entre 2: Entrada falsa: 1174, dividir por 2:Entrada verdadera: 1175, divide entre 2: Entrada falsa: 1176, divide entre 2: Entrada verdadera: 1177, divide entre 2: Entrada falsa: 1178, divide entre 2: Entrada verdadera: 1179, divide entre 2: Entrada falsa: 1180, dividir por 2: entrada verdadera: 1181, dividir por 2: entrada falsa: 1182, dividir por 2: entrada verdadera: 1183, dividir por 2: entrada falsa: 1184, dividir por 2: entrada verdadera: 1185, dividir por 2: falso entrada: 1186, dividir entre 2: entrada verdadera: 1187, dividir entre 2: entrada falsa: 1188, dividir entre 2: entrada verdadera: 1189, dividir entre 2: entrada falsa: 1190, dividir entre 2: entrada verdadera: 1191, dividir por 2: entrada falsa: 1192, dividir por 2: entrada verdadera: 1193, dividir por 2: entrada falsa: 1194, dividir por 2: entrada verdadera: 1195, dividir por 2: entrada falsa: 1196, dividir por 2: entrada verdadera : 1197, dividir entre 2: entrada falsa: 1198, dividir entre 2: entrada verdadera: 1199, dividir entre 2: falsoEntrada verdadera: 1179, divide entre 2: Entrada falsa: 1180, divide entre 2: Entrada verdadera: 1181, divide entre 2: Entrada falsa: 1182, divide entre 2: Entrada verdadera: 1183, divide entre 2: Entrada falsa: 1184, dividir por 2: entrada verdadera: 1185, dividir por 2: entrada falsa: 1186, dividir por 2: entrada verdadera: 1187, dividir por 2: entrada falsa: 1188, dividir por 2: entrada verdadera: 1189, dividir por 2: falso entrada: 1190, dividir entre 2: entrada verdadera: 1191, dividir entre 2: entrada falsa: 1192, dividir entre 2: entrada verdadera: 1193, dividir entre 2: entrada falsa: 1194, dividir entre 2: entrada verdadera: 1195, dividir por 2: entrada falsa: 1196, dividir por 2: entrada verdadera: 1197, dividir por 2: entrada falsa: 1198, dividir por 2: entrada verdadera: 1199, dividir por 2: falsoEntrada verdadera: 1179, divide entre 2: Entrada falsa: 1180, divide entre 2: Entrada verdadera: 1181, divide entre 2: Entrada falsa: 1182, divide entre 2: Entrada verdadera: 1183, divide entre 2: Entrada falsa: 1184, dividir por 2: entrada verdadera: 1185, dividir por 2: entrada falsa: 1186, dividir por 2: entrada verdadera: 1187, dividir por 2: entrada falsa: 1188, dividir por 2: entrada verdadera: 1189, dividir por 2: falso entrada: 1190, dividir entre 2: entrada verdadera: 1191, dividir entre 2: entrada falsa: 1192, dividir entre 2: entrada verdadera: 1193, dividir entre 2: entrada falsa: 1194, dividir entre 2: entrada verdadera: 1195, dividir por 2: entrada falsa: 1196, dividir por 2: entrada verdadera: 1197, dividir por 2: entrada falsa: 1198, dividir por 2: entrada verdadera: 1199, dividir por 2: falsoEntrada verdadera: 1187, divide entre 2: Entrada falsa: 1188, divide entre 2: Entrada verdadera: 1189, divide entre 2: Entrada falsa: 1190, divide entre 2: Entrada verdadera: 1191, divide entre 2: Entrada falsa: 1192, dividir por 2: entrada verdadera: 1193, dividir por 2: entrada falsa: 1194, dividir por 2: entrada verdadera: 1195, dividir por 2: entrada falsa: 1196, dividir por 2: entrada verdadera: 1197, dividir por 2: falso entrada: 1198, dividir por 2: entrada verdadera: 1199, dividir por 2: falsoEntrada verdadera: 1187, divide entre 2: Entrada falsa: 1188, divide entre 2: Entrada verdadera: 1189, divide entre 2: Entrada falsa: 1190, divide entre 2: Entrada verdadera: 1191, divide entre 2: Entrada falsa: 1192, dividir por 2: entrada verdadera: 1193, dividir por 2: entrada falsa: 1194, dividir por 2: entrada verdadera: 1195, dividir por 2: entrada falsa: 1196, dividir por 2: entrada verdadera: 1197, dividir por 2: falso entrada: 1198, dividir por 2: entrada verdadera: 1199, dividir por 2: falso
Además, dividir entre otros números (digamos, 7) también está bien:
import numpy as np
def layer_1_z(x, w1, b1):
return 1 / w1 * x + b1
def layer_2(x, w1, b1, w2, b2):
y1 = layer_1_z(x, w1, b1)
y2 = y1 - np.floor(y1)
return w2 * y2 + b2
def layer_2_activation(x, w1, b1, w2, b2):
y2 = layer_2(x, w1, b1, w2, b2)
# return 1 / (1 + np.exp(-y2))
return (y2 > 0) * 1
def loss(param):
w1, b1, w2, b2 = param
x = np.arange(0, 1000, 1)
y_hat = layer_2_activation(x, w1, b1, w2, b2)
y_true = (x % 7 > 0) * 1
return sum(np.square(y_hat - y_true))
# %%
from sko.GA import GA
ga = GA(func=loss, n_dim=4, size_pop=50, max_iter=100, lb=[1, 0, 1, 0], ub=[32, 1, 2, 1], precision=1)
best_x, best_y = ga.run()
print('best_x:', best_x, '\n', 'best_y:', best_y)
for x in range(1001, 1200):
y_hat = layer_2_activation(x, *best_x)
print('input:{},divide by 7:{}'.format(x, y_hat == 0))
entrada: 1001, dividir por 7: entrada verdadera: 1002, dividir por 7: entrada falsa: 1003, dividir por 7: entrada falsa: 1004, dividir por 7: entrada falsa: 1005, dividir por 7: entrada falsa: 1006, dividir por 7: entrada falsa: 1007, dividir por 7: entrada falsa: 1008, dividir por 7: entrada verdadera: 1009, dividir por 7: entrada falsa: 1010, dividir por 7: entrada falsa: 1011, dividir por 7: entrada falsa : 1012, dividir entre 7: Entrada falsa: 1013, dividir entre 7: Entrada falsa: 1014, dividir entre 7: Entrada falsa: 1015, dividir entre 7: Entrada verdadera: 1016, dividir entre 7: Entrada falsa: 1017, dividir entre 7: Entrada falsa: 1018, dividir entre 7: Entrada falsa: 1019, dividir entre 7: Entrada falsa: 1020, dividir entre 7: Entrada falsa: 1021, dividir entre 7: Entrada falsa: 1022, dividir entre 7: Entrada verdadera: 1023, dividir por 7: entrada falsa: 1024, dividir por 7: entrada falsa: 1025, dividir por 7: entrada falsa: 1026, dividir por 7: entrada falsa: 1027, dividir por 7: entrada falsa: 1028, dividir por 7 : Entrada falsa: 1029, dividir por 7:Entrada verdadera: 1030, dividir entre 7: Entrada falsa: 1031, dividir entre 7: Entrada falsa: 1032, dividir entre 7: Entrada falsa: 1033, dividir entre 7: Entrada falsa: 1034, dividir entre 7: Entrada falsa: 1035, dividir por 7: entrada falsa: 1036, dividir por 7: entrada verdadera: 1037, dividir por 7: entrada falsa: 1038, dividir por 7: entrada falsa: 1039, dividir por 7: entrada falsa: 1040, dividir por 7: falso entrada: 1041, dividir entre 7: entrada falsa: 1042, dividir entre 7: entrada falsa: 1043, dividir entre 7: entrada verdadera: 1044, dividir entre 7: entrada falsa: 1045, dividir entre 7: entrada falsa: 1046, dividir por 7: entrada falsa: 1047, dividir por 7: entrada falsa: 1048, dividir por 7: entrada falsa: 1049, dividir por 7: entrada falsa: 1050, dividir por 7: entrada verdadera: 1051, dividir por 7: entrada falsa : 1052, dividir entre 7: Entrada falsa: 1053, dividir entre 7: Entrada falsa: 1054, dividir entre 7: Entrada falsa: 1055, dividir entre 7: Entrada falsa: 1056, dividir entre 7: Entrada falsa: 1057, dividir entre 7: Entrada verdadera: 1058,dividir por 7: Entrada falsa: 1059, dividir por 7: Entrada falsa: 1060, dividir por 7: Entrada falsa: 1061, dividir por 7: Entrada falsa: 1062, dividir por 7: Entrada falsa: 1063, dividir por 7: Falso entrada: 1064, dividir entre 7: entrada verdadera: 1065, dividir entre 7: entrada falsa: 1066, dividir entre 7: entrada falsa: 1067, dividir entre 7: entrada falsa: 1068, dividir entre 7: entrada falsa: 1069, dividir por 7: entrada falsa: 1070, dividir por 7: entrada falsa: 1071, dividir por 7: entrada verdadera: 1072, dividir por 7: entrada falsa: 1073, dividir por 7: entrada falsa: 1074, dividir por 7: entrada falsa : 1075, dividir por 7: Entrada falsa: 1076, dividir por 7: Entrada falsa: 1077, dividir por 7: Entrada falsa: 1078, dividir por 7: Entrada verdadera: 1079, dividir por 7: Entrada falsa: 1080, dividir por 7: Entrada falsa: 1081, dividir entre 7: Entrada falsa: 1082, dividir entre 7: Entrada falsa: 1083, dividir entre 7: Entrada falsa: 1084, dividir entre 7: Entrada falsa: 1085, dividir entre 7: Entrada verdadera: 1086, dividir por 7:Entrada falsa: 1087, dividir entre 7: Entrada falsa: 1088, dividir entre 7: Entrada falsa: 1089, dividir entre 7: Entrada falsa: 1090, dividir entre 7: Entrada falsa: 1091, dividir entre 7: Entrada falsa: 1092, dividir por 7: Entrada verdadera: 1093, dividir por 7: Entrada falsa: 1094, dividir por 7: Entrada falsa: 1095, dividir por 7: Entrada falsa: 1096, dividir por 7: Entrada falsa: 1097, dividir por 7: Falso entrada: 1098, dividir por 7: entrada falsa: 1099, dividir por 7: entrada verdadera: 1100, dividir por 7: entrada falsa: 1101, dividir por 7: entrada falsa: 1102, dividir por 7: entrada falsa: 1103, dividir por 7: entrada falsa: 1104, dividir por 7: entrada falsa: 1105, dividir por 7: entrada falsa: 1106, dividir por 7: entrada verdadera: 1107, dividir por 7: entrada falsa: 1108, dividir por 7: entrada falsa : 1109, dividir por 7: Entrada falsa: 1110, dividir por 7: Entrada falsa: 1111, dividir por 7: Entrada falsa: 1112, dividir por 7: Entrada falsa: 1113, dividir por 7: Entrada verdadera: 1114, dividir por 7: entrada falsa: 1115,dividir por 7: Entrada falsa: 1116, dividir por 7: Entrada falsa: 1117, dividir por 7: Entrada falsa: 1118, dividir por 7: Entrada falsa: 1119, dividir por 7: Entrada falsa: 1120, dividir por 7: Verdadero entrada: 1121, dividir por 7: entrada falsa: 1122, dividir por 7: entrada falsa: 1123, dividir por 7: entrada falsa: 1124, dividir por 7: entrada falsa: 1125, dividir por 7: entrada falsa: 1126, dividir entre 7: entrada falsa: 1127, dividir entre 7: entrada verdadera: 1128, dividir entre 7: entrada falsa: 1129, dividir entre 7: entrada falsa: 1130, dividir entre 7: entrada falsa: 1131, dividir entre 7: entrada falsa : 1132, dividir entre 7: Entrada falsa: 1133, dividir entre 7: Entrada falsa: 1134, dividir entre 7: Entrada verdadera: 1135, dividir entre 7: Entrada falsa: 1136, dividir entre 7: Entrada falsa: 1137, dividir entre 7: Entrada falsa: 1138, dividir entre 7: Entrada falsa: 1139, dividir entre 7: Entrada falsa: 1140, dividir entre 7: Entrada falsa: 1141, dividir entre 7: Entrada verdadera: 1142, dividir entre 7: Entrada falsa: 1143, dividir por 7: entrada falsa:1144, dividir por 7: entrada falsa: 1145, dividir por 7: entrada falsa: 1146, dividir por 7: entrada falsa: 1147, dividir por 7: entrada falsa: 1148, dividir por 7: entrada verdadera: 1149, dividir por 7 : Entrada falsa: 1150, dividir entre 7: Entrada falsa: 1151, dividir entre 7: Entrada falsa: 1152, dividir entre 7: Entrada falsa: 1153, dividir entre 7: Entrada falsa: 1154, dividir entre 7: Entrada falsa: 1155 , dividir por 7: Entrada verdadera: 1156, dividir por 7: Entrada falsa: 1157, dividir por 7: Entrada falsa: 1158, dividir por 7: Entrada falsa: 1159, dividir por 7: Entrada falsa: 1160, dividir por 7: Entrada falsa: 1161, dividir entre 7: Entrada falsa: 1162, dividir entre 7: Entrada verdadera: 1163, dividir entre 7: Entrada falsa: 1164, dividir entre 7: Entrada falsa: 1165, dividir entre 7: Entrada falsa: 1166, dividir por 7: entrada falsa: 1167, dividir por 7: entrada falsa: 1168, dividir por 7: entrada falsa: 1169, dividir por 7: entrada verdadera: 1170, dividir por 7: entrada falsa: 1171, dividir por 7: falso entrada: 1172, dividir por 7:Entrada falsa: 1173, dividir entre 7: Entrada falsa: 1174, dividir entre 7: Entrada falsa: 1175, dividir entre 7: Entrada falsa: 1176, dividir entre 7: Entrada verdadera: 1177, dividir entre 7: Entrada falsa: 1178, dividir por 7: Entrada falsa: 1179, dividir por 7: Entrada falsa: 1180, dividir por 7: Entrada falsa: 1181, dividir por 7: Entrada falsa: 1182, dividir por 7: Entrada falsa: 1183, dividir por 7: Verdadero entrada: 1184, dividir entre 7: entrada falsa: 1185, dividir entre 7: entrada falsa: 1186, dividir entre 7: entrada falsa: 1187, dividir entre 7: entrada falsa: 1188, dividir entre 7: entrada falsa: 1189, dividir por 7: entrada falsa: 1190, dividir por 7: entrada verdadera: 1191, dividir por 7: entrada falsa: 1192, dividir por 7: entrada falsa: 1193, dividir por 7: entrada falsa: 1194, dividir por 7: entrada falsa : 1195, dividir entre 7: Entrada falsa: 1196, dividir entre 7: Entrada falsa: 1197, dividir entre 7: Entrada verdadera: 1198, dividir entre 7: Entrada falsa: 1199, dividir entre 7: Falsodividir entre 7: Entrada falsa: 1175, dividir entre 7: Entrada falsa: 1176, dividir entre 7: Entrada verdadera: 1177, dividir entre 7: Entrada falsa: 1178, dividir entre 7: Entrada falsa: 1179, dividir entre 7: Falso entrada: 1180, dividir entre 7: entrada falsa: 1181, dividir entre 7: entrada falsa: 1182, dividir entre 7: entrada falsa: 1183, dividir entre 7: entrada verdadera: 1184, dividir entre 7: entrada falsa: 1185, dividir por 7: entrada falsa: 1186, dividir por 7: entrada falsa: 1187, dividir por 7: entrada falsa: 1188, dividir por 7: entrada falsa: 1189, dividir por 7: entrada falsa: 1190, dividir por 7: entrada verdadera : 1191, dividir por 7: Entrada falsa: 1192, dividir por 7: Entrada falsa: 1193, dividir por 7: Entrada falsa: 1194, dividir por 7: Entrada falsa: 1195, dividir por 7: Entrada falsa: 1196, dividir por 7: Entrada falsa: 1197, dividir por 7: Entrada verdadera: 1198, dividir por 7: Entrada falsa: 1199, dividir por 7: Falsodividir entre 7: Entrada falsa: 1175, dividir entre 7: Entrada falsa: 1176, dividir entre 7: Entrada verdadera: 1177, dividir entre 7: Entrada falsa: 1178, dividir entre 7: Entrada falsa: 1179, dividir entre 7: Falso entrada: 1180, dividir entre 7: entrada falsa: 1181, dividir entre 7: entrada falsa: 1182, dividir entre 7: entrada falsa: 1183, dividir entre 7: entrada verdadera: 1184, dividir entre 7: entrada falsa: 1185, dividir por 7: entrada falsa: 1186, dividir por 7: entrada falsa: 1187, dividir por 7: entrada falsa: 1188, dividir por 7: entrada falsa: 1189, dividir por 7: entrada falsa: 1190, dividir por 7: entrada verdadera : 1191, dividir por 7: Entrada falsa: 1192, dividir por 7: Entrada falsa: 1193, dividir por 7: Entrada falsa: 1194, dividir por 7: Entrada falsa: 1195, dividir por 7: Entrada falsa: 1196, dividir por 7: Entrada falsa: 1197, dividir por 7: Entrada verdadera: 1198, dividir por 7: Entrada falsa: 1199, dividir por 7: FalsoEntrada falsa: 1178, dividir entre 7: Entrada falsa: 1179, dividir entre 7: Entrada falsa: 1180, dividir entre 7: Entrada falsa: 1181, dividir entre 7: Entrada falsa: 1182, dividir entre 7: Entrada falsa: 1183, dividir entre 7: Entrada verdadera: 1184, dividir entre 7: Entrada falsa: 1185, dividir entre 7: Entrada falsa: 1186, dividir entre 7: Entrada falsa: 1187, dividir entre 7: Entrada falsa: 1188, dividir entre 7: Falso entrada: 1189, dividir entre 7: entrada falsa: 1190, dividir entre 7: entrada verdadera: 1191, dividir entre 7: entrada falsa: 1192, dividir entre 7: entrada falsa: 1193, dividir entre 7: entrada falsa: 1194, dividir por 7: Entrada falsa: 1195, dividir por 7: Entrada falsa: 1196, dividir por 7: Entrada falsa: 1197, dividir por 7: Entrada verdadera: 1198, dividir por 7: Entrada falsa: 1199, dividir por 7: FalsoEntrada falsa: 1178, dividir entre 7: Entrada falsa: 1179, dividir entre 7: Entrada falsa: 1180, dividir entre 7: Entrada falsa: 1181, dividir entre 7: Entrada falsa: 1182, dividir entre 7: Entrada falsa: 1183, dividir entre 7: Entrada verdadera: 1184, dividir entre 7: Entrada falsa: 1185, dividir entre 7: Entrada falsa: 1186, dividir entre 7: Entrada falsa: 1187, dividir entre 7: Entrada falsa: 1188, dividir entre 7: Falso entrada: 1189, dividir entre 7: entrada falsa: 1190, dividir entre 7: entrada verdadera: 1191, dividir entre 7: entrada falsa: 1192, dividir entre 7: entrada falsa: 1193, dividir entre 7: entrada falsa: 1194, dividir por 7: Entrada falsa: 1195, dividir por 7: Entrada falsa: 1196, dividir por 7: Entrada falsa: 1197, dividir por 7: Entrada verdadera: 1198, dividir por 7: Entrada falsa: 1199, dividir por 7: Falsodividir entre 7: Entrada falsa: 1185, dividir entre 7: Entrada falsa: 1186, dividir entre 7: Entrada falsa: 1187, dividir entre 7: Entrada falsa: 1188, dividir entre 7: Entrada falsa: 1189, dividir entre 7: Falso entrada: 1190, dividir entre 7: entrada verdadera: 1191, dividir entre 7: entrada falsa: 1192, dividir entre 7: entrada falsa: 1193, dividir entre 7: entrada falsa: 1194, dividir entre 7: entrada falsa: 1195, dividir por 7: entrada falsa: 1196, dividir por 7: entrada falsa: 1197, dividir por 7: entrada verdadera: 1198, dividir por 7: entrada falsa: 1199, dividir por 7: falsodividir entre 7: Entrada falsa: 1185, dividir entre 7: Entrada falsa: 1186, dividir entre 7: Entrada falsa: 1187, dividir entre 7: Entrada falsa: 1188, dividir entre 7: Entrada falsa: 1189, dividir entre 7: Falso entrada: 1190, dividir entre 7: entrada verdadera: 1191, dividir entre 7: entrada falsa: 1192, dividir entre 7: entrada falsa: 1193, dividir entre 7: entrada falsa: 1194, dividir entre 7: entrada falsa: 1195, dividir por 7: entrada falsa: 1196, dividir por 7: entrada falsa: 1197, dividir por 7: entrada verdadera: 1198, dividir por 7: entrada falsa: 1199, dividir por 7: falsodividir por 7: entrada verdadera: 1198, dividir por 7: entrada falsa: 1199, dividir por 7: falsodividir por 7: entrada verdadera: 1198, dividir por 7: entrada falsa: 1199, dividir por 7: falso
Explicación:
Tengo 2 soluciones diferentes. Ambos son buenos:
1. el pecado como activación
2. piso (o int) como activación
Es imposible encontrar los mejores pesos usando el descenso de gradiente, y yo uso el algoritmo genético (de scikit-opt )