Moje rozwiązanie
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))
wejście: 1001, podziel przez 2: fałszywe wejście: 1002, podziel przez 2: prawda wejściowe: 1003, podziel przez 2: fałszywe wejście: 1004, podziel przez 2: prawdziwe wejście: 1005, podziel przez 2: fałszywe wejście: 1006, podziel przez 2: Prawdziwe wejście: 1007, podziel przez 2: Fałszywe wejście: 1008, podziel przez 2: Prawdziwe wejście: 1009, podziel przez 2: Fałszywe wejście: 1010, podziel przez 2: Prawdziwe wejście: 1011, podziel przez 2: Fałszywe wejście : 1012, dzielenie przez 2: prawda wprowadzania: 1013, dzielenie przez 2: fałsz wprowadzania: 1014, dzielenie przez 2: prawda wprowadzania: 1015, dzielenie przez 2: fałsz wprowadzania: 1016, dzielenie przez 2: prawda wprowadzania: 1017, dzielenie przez 2: Fałszywe wejście: 1018, podziel przez 2: Prawdziwe wejście: 1019, podziel przez 2: Fałszywe wejście: 1020, podziel przez 2: Prawdziwe wejście: 1021, podziel przez 2: Fałszywe wejście: 1022, podziel przez 2: Prawdziwe wejście: 1023, podziel przez 2: fałszywe dane wejściowe: 1024, podziel przez 2: prawdziwe dane wejściowe: 1025, podziel przez 2: fałszywe dane wejściowe: 1026, podziel przez 2: prawdziwe dane wejściowe: 1027, podziel przez 2: fałszywe dane wejściowe: 1028, podziel przez 2 : True input: 1029, podziel przez 2:Fałszywe wprowadzanie danych: 1030, dzielenie przez 2: prawdziwe wprowadzanie danych: 1031, dzielenie przez 2: fałszywe wprowadzanie danych: 1032, dzielenie przez 2: prawdziwe wprowadzanie danych: 1033, dzielenie przez 2: fałszywe wprowadzanie danych: 1034, dzielenie przez 2: prawdziwe wprowadzanie danych: 1035, podziel przez 2: fałszywe dane wejściowe: 1036, podziel przez 2: prawdziwe dane wejściowe: 1037, podziel przez 2: fałszywe dane wejściowe: 1038, podziel przez 2: prawdziwe dane wejściowe: 1039, podziel przez 2: fałszywe dane wejściowe: 1040, podziel przez 2: prawdziwe wejście: 1041, podziel przez 2: fałszywe wejście: 1042, podziel przez 2: prawdziwe wejście: 1043, podziel przez 2: fałszywe wejście: 1044, podziel przez 2: prawdziwe wejście: 1045, podziel przez 2: fałszywe wejście: 1046, podziel przez 2: Prawdziwe wejście: 1047, podziel przez 2: Fałszywe wejście: 1048, podziel przez 2: Prawdziwe wejście: 1049, podziel przez 2: Fałszywe wejście: 1050, podziel przez 2: Prawdziwe wejście: 1051, podziel przez 2: Fałszywe wejście : 1052, dzielenie przez 2: prawda wprowadzania: 1053, dzielenie przez 2: fałsz wprowadzania: 1054, dzielenie przez 2: prawda wprowadzania: 1055, dzielenie przez 2: fałsz wprowadzania: 1056, dzielenie przez 2: prawda wprowadzania: 1057, dzielenie przez 2: Fałszywy wpis: 1058, podziel przez 2:Prawidłowe wprowadzanie danych: 1059, dzielenie przez 2: fałszywe wprowadzanie danych: 1060, dzielenie przez 2: prawdziwe wprowadzanie danych: 1061, dzielenie przez 2: fałszywe wprowadzanie danych: 1062, dzielenie przez 2: prawdziwe wprowadzanie danych: 1063, dzielenie przez 2: fałszywe wprowadzanie danych: 1064, dzielenie przez 2: prawda wprowadzania: 1065, dzielenie przez 2: fałsz wprowadzania: 1066, dzielenie przez 2: prawda wprowadzania: 1067, dzielenie przez 2: fałsz wprowadzania: 1068, dzielenie przez 2: prawda wprowadzania: 1069, dzielenie przez 2: fałsz wejście: 1070, podziel przez 2: prawda, wejście: 1071, podziel przez 2: fałszywe wejście: 1072, podziel przez 2: prawda, wejście: 1073, podziel przez 2: fałszywe wejście: 1074, podziel przez 2: prawda, wejście: 1075, podziel przez 2: fałszywe dane wejściowe: 1076, podziel przez 2: prawdziwe dane wejściowe: 1077, podziel przez 2: fałszywe dane wejściowe: 1078, podziel przez 2: prawdziwe dane wejściowe: 1079, podziel przez 2: fałszywe dane wejściowe: 1080, podziel przez 2: prawdziwe dane wejściowe : 1081, podziel przez 2: fałszywe dane wejściowe: 1082, podziel przez 2: prawdziwe dane wejściowe: 1083, podziel przez 2: fałszywe dane wejściowe: 1084, podziel przez 2: prawdziwe dane wejściowe: 1085, podziel przez 2: fałszywe dane wejściowe: 1086, podziel przez 2: Prawdziwe wejście: 1087, podziel przez 2:Fałszywe dane wejściowe: 1088, dzielone przez 2: prawda wejściowe: 1089, dzielone przez 2: fałszywe dane wejściowe: 1090, dzielone przez 2: prawdziwe dane wejściowe: 1091, dzielone przez 2: fałszywe dane wejściowe: 1092, dzielone przez 2: prawdziwe dane wejściowe: 1093, podziel przez 2: fałszywe dane wejściowe: 1094, podziel przez 2: prawdziwe dane wejściowe: 1095, podziel przez 2: fałszywe dane wejściowe: 1096, podziel przez 2: prawdziwe dane wejściowe: 1097, podziel przez 2: fałszywe dane wejściowe: 1098, podziel przez 2: prawdziwe wejście: 1099, podziel przez 2: fałszywe wejście: 1100, podziel przez 2: prawdziwe wejście: 1101, podziel przez 2: fałszywe wejście: 1102, podziel przez 2: prawdziwe wejście: 1103, podziel przez 2: fałszywe wejście: 1104, podziel przez 2: Prawdziwe wejście: 1105, podziel przez 2: Fałszywe wejście: 1106, podziel przez 2: Prawdziwe wejście: 1107, podziel przez 2: Fałszywe wejście: 1108, podziel przez 2: Prawdziwe wejście: 1109, podziel przez 2: Fałszywe wejście : 1110, dzielenie przez 2: prawda wprowadzania: 1111, dzielenie przez 2: fałsz wprowadzania: 1112, dzielenie przez 2: prawda wprowadzania: 1113, dzielenie przez 2: fałsz wprowadzania: 1114, dzielenie przez 2: prawda wprowadzania: 1115, dzielenie przez 2: Fałszywy wkład: 1116, podziel przez 2:Prawidłowe wprowadzanie: 1117, dzielenie przez 2: fałszywe wprowadzanie: 1118, dzielenie przez 2: prawdziwe wprowadzanie: 1119, dzielenie przez 2: fałszywe wprowadzanie: 1120, dzielenie przez 2: prawdziwe wprowadzanie: 1121, dzielenie przez 2: fałszywe wprowadzanie: 1122, dzielenie przez 2: prawda wprowadzania: 1123, dzielenie przez 2: fałsz wprowadzania: 1124, dzielenie przez 2: prawda wprowadzania: 1125, dzielenie przez 2: fałsz wprowadzania: 1126, dzielenie przez 2: prawda wprowadzania: 1127, dzielenie przez 2: fałsz wejście: 1128, podziel przez 2: prawda, wejście: 1129, podziel przez 2: fałszywe wejście: 1130, podziel przez 2: prawda, wejście: 1131, podziel przez 2: fałszywe wejście: 1132, podziel przez 2: prawda, wejście: 1133, podziel przez 2: fałszywe dane wejściowe: 1134, podziel przez 2: prawdziwe dane wejściowe: 1135, podziel przez 2: fałszywe dane wejściowe: 1136, podziel przez 2: prawdziwe dane wejściowe: 1137, podziel przez 2: fałszywe dane wejściowe: 1138, podziel przez 2: dane prawdziwe : 1139, podziel przez 2: fałszywe dane wejściowe: 1140, podziel przez 2: prawdziwe dane wejściowe: 1141, podziel przez 2: fałszywe dane wejściowe: 1142, podziel przez 2: prawdziwe dane wejściowe: 1143, podziel przez 2: fałszywe dane wejściowe: 1144, podziel przez 2: True input: 1145, podziel przez 2:False input: 1146, divide by 2: True input: 1147, divide by 2: False input: 1148, divide by 2: True input: 1149, divide by 2: False input: 1150, divide by 2: True input: 1151, podziel przez 2: fałszywe dane wejściowe: 1152, podziel przez 2: prawdziwe dane wejściowe: 1153, podziel przez 2: fałszywe dane wejściowe: 1154, podziel przez 2: prawdziwe dane wejściowe: 1155, podziel przez 2: fałszywe dane wejściowe: 1156, podziel przez 2: prawdziwe wejście: 1157, podziel przez 2: fałszywe wejście: 1158, podziel przez 2: prawda wejściowe: 1159, podziel przez 2: fałszywe wejście: 1160, podziel przez 2: prawdziwe wejście: 1161, podziel przez 2: fałszywe wejście: 1162, podziel przez 2: Prawdziwe wejście: 1163, podziel przez 2: Fałszywe wejście: 1164, podziel przez 2: Prawdziwe wejście: 1165, podziel przez 2: Fałszywe wejście: 1166, podziel przez 2: Prawdziwe wejście: 1167, podziel przez 2: Fałszywe wejście : 1168, dzielenie przez 2: prawda wprowadzania: 1169, dzielenie przez 2: fałsz wprowadzania: 1170, dzielenie przez 2: prawda wprowadzania: 1171, dzielenie przez 2: fałsz wprowadzania: 1172, dzielenie przez 2: prawda wprowadzania: 1173, dzielenie przez 2: Fałszywy wpis: 1174, podziel przez 2:Rzeczywiste dane wejściowe: 1175, dzielone przez 2: fałszywe dane wejściowe: 1176, dzielone przez 2: prawdziwe dane wejściowe: 1177, dzielone przez 2: fałszywe dane wejściowe: 1178, dzielone przez 2: prawdziwe dane wejściowe: 1179, dzielone przez 2: fałszywe dane wejściowe: 1180, dzielenie przez 2: prawda wprowadzania: 1181, dzielenie przez 2: fałsz wprowadzania: 1182, dzielenie przez 2: prawda wprowadzania: 1183, dzielenie przez 2: fałsz wprowadzania: 1184, dzielenie przez 2: prawda wprowadzania: 1185, dzielenie przez 2: fałsz wejście: 1186, podziel przez 2: prawda, wejście: 1187, podziel przez 2: fałszywe wejście: 1188, podziel przez 2: prawda, wejście: 1189, podziel przez 2: fałszywe wejście: 1190, podziel przez 2: prawda, wejście: 1191, podziel przez 2: fałszywe dane wejściowe: 1192, podziel przez 2: prawdziwe dane wejściowe: 1193, podziel przez 2: fałszywe dane wejściowe: 1194, podziel przez 2: prawdziwe dane wejściowe: 1195, podziel przez 2: fałszywe dane wejściowe: 1196, podziel przez 2: dane prawdziwe : 1197, podziel przez 2: fałszywe dane wejściowe: 1198, podziel przez 2: prawdziwe dane wejściowe: 1199, podziel przez 2: fałszywe danePrawdziwe dane wejściowe: 1179, dzielone przez 2: fałszywe dane wejściowe: 1180, dzielone przez 2: prawdziwe dane wejściowe: 1181, dzielone przez 2: fałszywe dane wejściowe: 1182, dzielone przez 2: prawdziwe dane wejściowe: 1183, dzielone przez 2: fałszywe dane wejściowe: 1184, dzielenie przez 2: prawda wprowadzania: 1185, dzielenie przez 2: fałsz wprowadzania: 1186, dzielenie przez 2: prawda wprowadzania: 1187, dzielenie przez 2: fałsz wprowadzania: 1188, dzielenie przez 2: prawda wprowadzania: 1189, dzielenie przez 2: fałsz wejście: 1190, podziel przez 2: prawda, wejście: 1191, podziel przez 2: fałszywe wejście: 1192, podziel przez 2: prawda, wejście: 1193, podziel przez 2: fałszywe wejście: 1194, podziel przez 2: prawda, wejście: 1195, podziel przez 2: fałszywe dane wejściowe: 1196, podziel przez 2: prawdziwe dane wejściowe: 1197, podziel przez 2: fałszywe dane wejściowe: 1198, podziel przez 2: prawdziwe dane wejściowe: 1199, podziel przez 2: fałszywe danePrawdziwe dane wejściowe: 1179, dzielone przez 2: fałszywe dane wejściowe: 1180, dzielone przez 2: prawdziwe dane wejściowe: 1181, dzielone przez 2: fałszywe dane wejściowe: 1182, dzielone przez 2: prawdziwe dane wejściowe: 1183, dzielone przez 2: fałszywe dane wejściowe: 1184, dzielenie przez 2: prawda wprowadzania: 1185, dzielenie przez 2: fałsz wprowadzania: 1186, dzielenie przez 2: prawda wprowadzania: 1187, dzielenie przez 2: fałsz wprowadzania: 1188, dzielenie przez 2: prawda wprowadzania: 1189, dzielenie przez 2: fałsz wejście: 1190, podziel przez 2: prawda, wejście: 1191, podziel przez 2: fałszywe wejście: 1192, podziel przez 2: prawda, wejście: 1193, podziel przez 2: fałszywe wejście: 1194, podziel przez 2: prawda, wejście: 1195, podziel przez 2: fałszywe dane wejściowe: 1196, podziel przez 2: prawdziwe dane wejściowe: 1197, podziel przez 2: fałszywe dane wejściowe: 1198, podziel przez 2: prawdziwe dane wejściowe: 1199, podziel przez 2: fałszywe danePrawidłowe wprowadzanie: 1187, dzielenie przez 2: fałszywe wprowadzanie: 1188, dzielenie przez 2: prawdziwe wprowadzanie: 1189, dzielenie przez 2: fałszywe wprowadzanie: 1190, dzielenie przez 2: prawdziwe wprowadzanie: 1191, dzielenie przez 2: fałszywe wprowadzanie: 1192, dzielenie przez 2: prawda wprowadzania: 1193, dzielenie przez 2: fałsz wprowadzania: 1194, dzielenie przez 2: prawda wprowadzania: 1195, dzielenie przez 2: fałsz wprowadzania: 1196, dzielenie przez 2: prawda wprowadzania: 1197, dzielenie przez 2: fałsz wejście: 1198, podziel przez 2: prawda, wejście: 1199, podziel przez 2: fałszPrawidłowe wprowadzanie: 1187, dzielenie przez 2: fałszywe wprowadzanie: 1188, dzielenie przez 2: prawdziwe wprowadzanie: 1189, dzielenie przez 2: fałszywe wprowadzanie: 1190, dzielenie przez 2: prawdziwe wprowadzanie: 1191, dzielenie przez 2: fałszywe wprowadzanie: 1192, dzielenie przez 2: prawda wprowadzania: 1193, dzielenie przez 2: fałsz wprowadzania: 1194, dzielenie przez 2: prawda wprowadzania: 1195, dzielenie przez 2: fałsz wprowadzania: 1196, dzielenie przez 2: prawda wprowadzania: 1197, dzielenie przez 2: fałsz wejście: 1198, podziel przez 2: prawda, wejście: 1199, podziel przez 2: fałsz
Co więcej, dzielenie przez inne liczby (powiedzmy 7) również jest dobre:
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))
wejście: 1001, podziel przez 7: prawda, wejście: 1002, podziel przez 7: fałszywe wejście: 1003, podziel przez 7: fałszywe wejście: 1004, podziel przez 7: fałszywe wejście: 1005, podziel przez 7: fałszywe wejście: 1006, podziel przez 7: fałszywe dane wejściowe: 1007, podziel przez 7: fałszywe dane wejściowe: 1008, podziel przez 7: prawdziwe dane wejściowe: 1009, podziel przez 7: fałszywe dane wejściowe: 1010, podziel przez 7: fałszywe dane wejściowe: 1011, podziel przez 7: fałszywe dane wejściowe : 1012, podziel przez 7: fałszywe dane wejściowe: 1013, podziel przez 7: fałszywe dane wejściowe: 1014, podziel przez 7: fałszywe dane wejściowe: 1015, podziel przez 7: prawdziwe dane wejściowe: 1016, podziel przez 7: fałszywe dane wejściowe: 1017, podziel przez 7: Fałszywe wejście: 1018, podziel przez 7: Fałszywe wejście: 1019, podziel przez 7: Fałszywe wejście: 1020, podziel przez 7: Fałszywe wejście: 1021, podziel przez 7: Fałszywe wejście: 1022, podziel przez 7: Prawdziwe wejście: 1023, podziel przez 7: fałszywe wejście: 1024, podziel przez 7: fałszywe wejście: 1025, podziel przez 7: fałszywe wejście: 1026, podziel przez 7: fałszywe wejście: 1027, podziel przez 7: fałszywe wejście: 1028, podziel przez 7 : Fałszywy wpis: 1029, podziel przez 7:Prawdziwe wejście: 1030, podziel przez 7: fałszywe wejście: 1031, podziel przez 7: fałszywe wejście: 1032, podziel przez 7: fałszywe wejście: 1033, podziel przez 7: fałszywe wejście: 1034, podziel przez 7: fałszywe wejście: 1035, podziel przez 7: fałszywe dane wejściowe: 1036, podziel przez 7: prawdziwe dane wejściowe: 1037, podziel przez 7: fałszywe dane wejściowe: 1038, podziel przez 7: fałszywe dane wejściowe: 1039, podziel przez 7: fałszywe dane wejściowe: 1040, podziel przez 7: fałszywe dane wejście: 1041, podziel przez 7: fałszywe wejście: 1042, podziel przez 7: fałszywe wejście: 1043, podziel przez 7: prawdziwe wejście: 1044, podziel przez 7: fałszywe wejście: 1045, podziel przez 7: fałszywe wejście: 1046, podziel przez 7: fałszywe wejście: 1047, podziel przez 7: fałszywe wejście: 1048, podziel przez 7: fałszywe wejście: 1049, podziel przez 7: fałszywe wejście: 1050, podziel przez 7: prawdziwe wejście: 1051, podziel przez 7: fałszywe wejście : 1052, dzielenie przez 7: fałszywe wprowadzanie: 1053, dzielenie przez 7: fałszywe wprowadzanie: 1054, dzielenie przez 7: fałszywe wprowadzanie: 1055, dzielenie przez 7: fałszywe wprowadzanie: 1056, dzielenie przez 7: fałszywe wprowadzanie: 1057, dzielenie przez 7: Prawdziwe wejście: 1058,podziel przez 7: fałszywe dane wejściowe: 1059, podziel przez 7: fałszywe dane wejściowe: 1060, podziel przez 7: fałszywe dane wejściowe: 1061, podziel przez 7: fałszywe dane wejściowe: 1062, podziel przez 7: fałszywe dane wejściowe: 1063, podziel przez 7: fałszywe dane wejście: 1064, podziel przez 7: prawda, wejście: 1065, podziel przez 7: fałszywe wejście: 1066, podziel przez 7: fałszywe wejście: 1067, podziel przez 7: fałszywe wejście: 1068, podziel przez 7: fałszywe wejście: 1069, podziel przez 7: fałszywe wejście: 1070, podziel przez 7: fałszywe wejście: 1071, podziel przez 7: prawdziwe wejście: 1072, podziel przez 7: fałszywe wejście: 1073, podziel przez 7: fałszywe wejście: 1074, podziel przez 7: fałszywe wejście : 1075, podziel przez 7: fałszywe dane wejściowe: 1076, podziel przez 7: fałszywe dane wejściowe: 1077, podziel przez 7: fałszywe dane wejściowe: 1078, podziel przez 7: prawdziwe dane wejściowe: 1079, podziel przez 7: fałszywe dane wejściowe: 1080, podziel przez 7: Fałszywe wejście: 1081, podziel przez 7: Fałszywe wejście: 1082, podziel przez 7: Fałszywe wejście: 1083, podziel przez 7: Fałszywe wejście: 1084, podziel przez 7: Fałszywe wejście: 1085, podziel przez 7: Prawdziwe wejście: 1086, podziel przez 7:Fałszywe wejście: 1087, podziel przez 7: Fałszywe wejście: 1088, podziel przez 7: Fałszywe wejście: 1089, podziel przez 7: Fałszywe wejście: 1090, podziel przez 7: Fałszywe wejście: 1091, podziel przez 7: Fałszywe wejście: 1092, podziel przez 7: Prawdziwe dane wejściowe: 1093, podziel przez 7: fałszywe dane wejściowe: 1094, podziel przez 7: fałszywe dane wejściowe: 1095, podziel przez 7: fałszywe dane wejściowe: 1096, podziel przez 7: fałszywe dane wejściowe: 1097, podziel przez 7: fałszywe dane wejście: 1098, podziel przez 7: fałszywe wejście: 1099, podziel przez 7: prawdziwe wejście: 1100, podziel przez 7: fałszywe wejście: 1101, podziel przez 7: fałszywe wejście: 1102, podziel przez 7: fałszywe wejście: 1103, podziel przez 7: fałszywe wejście: 1104, podziel przez 7: fałszywe wejście: 1105, podziel przez 7: fałszywe wejście: 1106, podziel przez 7: prawdziwe wejście: 1107, podziel przez 7: fałszywe wejście: 1108, podziel przez 7: fałszywe wejście : 1109, dzielenie przez 7: fałszywe wprowadzanie: 1110, dzielenie przez 7: fałszywe wprowadzanie: 1111, dzielenie przez 7: fałszywe wprowadzanie: 1112, dzielenie przez 7: fałszywe wprowadzanie: 1113, dzielenie przez 7: prawdziwe wprowadzanie: 1114, dzielenie przez 7: Fałszywy wpis: 1115,podziel przez 7: fałszywe dane wejściowe: 1116, podziel przez 7: fałszywe dane wejściowe: 1117, podziel przez 7: fałszywe dane wejściowe: 1118, podziel przez 7: fałszywe dane wejściowe: 1119, podziel przez 7: fałszywe dane wejściowe: 1120, podziel przez 7: prawdziwe wejście: 1121, podziel przez 7: fałszywe wejście: 1122, podziel przez 7: fałszywe wejście: 1123, podziel przez 7: fałszywe wejście: 1124, podziel przez 7: fałszywe wejście: 1125, podziel przez 7: fałszywe wejście: 1126, podziel przez 7: fałszywe dane wejściowe: 1127, podziel przez 7: prawdziwe dane wejściowe: 1128, podziel przez 7: fałszywe dane wejściowe: 1129, podziel przez 7: fałszywe dane wejściowe: 1130, podziel przez 7: fałszywe dane wejściowe: 1131, podziel przez 7: fałszywe dane wejściowe : 1132, podziel przez 7: fałszywe dane wejściowe: 1133, podziel przez 7: fałszywe dane wejściowe: 1134, podziel przez 7: prawdziwe dane wejściowe: 1135, podziel przez 7: fałszywe dane wejściowe: 1136, podziel przez 7: fałszywe dane wejściowe: 1137, podziel przez 7: Fałszywe wejście: 1138, podziel przez 7: Fałszywe wejście: 1139, podziel przez 7: Fałszywe wejście: 1140, podziel przez 7: Fałszywe wejście: 1141, podziel przez 7: Prawdziwe wejście: 1142, podziel przez 7: Fałszywe wejście: 1143, podziel przez 7: fałszywe dane wejściowe:1144, podziel przez 7: fałszywe dane wejściowe: 1145, podziel przez 7: fałszywe dane wejściowe: 1146, podziel przez 7: fałszywe dane wejściowe: 1147, podziel przez 7: fałszywe dane wejściowe: 1148, podziel przez 7: prawdziwe dane wejściowe: 1149, podziel przez 7 : Fałszywe wejście: 1150, podziel przez 7: Fałszywe wejście: 1151, podziel przez 7: Fałszywe wejście: 1152, podziel przez 7: Fałszywe wejście: 1153, podziel przez 7: Fałszywe wejście: 1154, podziel przez 7: Fałszywe wejście: 1155 , podziel przez 7: Prawdziwe dane wejściowe: 1156, podziel przez 7: fałszywe dane wejściowe: 1157, podziel przez 7: fałszywe dane wejściowe: 1158, podziel przez 7: fałszywe dane wejściowe: 1159, podziel przez 7: fałszywe dane wejściowe: 1160, podziel przez 7: Fałszywe wejście: 1161, podziel przez 7: Fałszywe wejście: 1162, podziel przez 7: Prawdziwe wejście: 1163, podziel przez 7: Fałszywe wejście: 1164, podziel przez 7: Fałszywe wejście: 1165, podziel przez 7: Fałszywe wejście: 1166, podziel przez 7: fałszywe dane wejściowe: 1167, podziel przez 7: fałszywe dane wejściowe: 1168, podziel przez 7: fałszywe dane wejściowe: 1169, podziel przez 7: prawdziwe dane wejściowe: 1170, podziel przez 7: fałszywe dane wejściowe: 1171, podziel przez 7: fałszywe dane wkład: 1172, podziel przez 7:Błędne dane wejściowe: 1173, podziel przez 7: fałszywe dane wejściowe: 1174, podziel przez 7: fałszywe dane wejściowe: 1175, podzielone przez 7: fałszywe dane wejściowe: 1176, podziel przez 7: prawdziwe dane wejściowe: 1177, podzielone przez 7: fałszywe dane wejściowe: 1178, podziel przez 7: fałszywe dane wejściowe: 1179, podziel przez 7: fałszywe dane wejściowe: 1180, podziel przez 7: fałszywe dane wejściowe: 1181, podziel przez 7: fałszywe dane wejściowe: 1182, podziel przez 7: fałszywe dane wejściowe: 1183, podziel przez 7: prawdziwe wejście: 1184, podziel przez 7: fałszywe wejście: 1185, podziel przez 7: fałszywe wejście: 1186, podziel przez 7: fałszywe wejście: 1187, podziel przez 7: fałszywe wejście: 1188, podziel przez 7: fałszywe wejście: 1189, podziel przez 7: fałszywe dane wejściowe: 1190, podziel przez 7: prawdziwe dane wejściowe: 1191, podziel przez 7: fałszywe dane wejściowe: 1192, podziel przez 7: fałszywe dane wejściowe: 1193, podziel przez 7: fałszywe dane wejściowe: 1194, podziel przez 7: fałszywe dane wejściowe : 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: fałszywe dane wejściowe: 1197, podziel przez 7: prawdziwe dane wejściowe: 1198, podziel przez 7: fałszywe dane wejściowe: 1199, podziel przez 7: fałszywe danepodziel przez 7: fałszywe dane wejściowe: 1175, podziel przez 7: fałszywe dane wejściowe: 1176, podziel przez 7: prawdziwe dane wejściowe: 1177, podziel przez 7: fałszywe dane wejściowe: 1178, podziel przez 7: fałszywe dane wejściowe: 1179, podziel przez 7: fałszywe dane wejście: 1180, podziel przez 7: fałszywe wejście: 1181, podziel przez 7: fałszywe wejście: 1182, podziel przez 7: fałszywe wejście: 1183, podziel przez 7: prawdziwe wejście: 1184, podziel przez 7: fałszywe wejście: 1185, podziel przez 7: fałszywe dane wejściowe: 1186, podziel przez 7: fałszywe dane wejściowe: 1187, podziel przez 7: fałszywe dane wejściowe: 1188, podziel przez 7: fałszywe dane wejściowe: 1189, podziel przez 7: fałszywe dane wejściowe: 1190, podziel przez 7: prawdziwe dane wejściowe : 1191, podziel przez 7: fałszywe dane wejściowe: 1192, podziel przez 7: fałszywe dane wejściowe: 1193, podziel przez 7: fałszywe dane wejściowe: 1194, podziel przez 7: fałszywe dane wejściowe: 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: Fałszywe dane wejściowe: 1197, podziel przez 7: Prawdziwe dane wejściowe: 1198, podziel przez 7: Fałszywe dane wejściowe: 1199, podziel przez 7: Fałszywepodziel przez 7: fałszywe dane wejściowe: 1175, podziel przez 7: fałszywe dane wejściowe: 1176, podziel przez 7: prawdziwe dane wejściowe: 1177, podziel przez 7: fałszywe dane wejściowe: 1178, podziel przez 7: fałszywe dane wejściowe: 1179, podziel przez 7: fałszywe dane wejście: 1180, podziel przez 7: fałszywe wejście: 1181, podziel przez 7: fałszywe wejście: 1182, podziel przez 7: fałszywe wejście: 1183, podziel przez 7: prawdziwe wejście: 1184, podziel przez 7: fałszywe wejście: 1185, podziel przez 7: fałszywe dane wejściowe: 1186, podziel przez 7: fałszywe dane wejściowe: 1187, podziel przez 7: fałszywe dane wejściowe: 1188, podziel przez 7: fałszywe dane wejściowe: 1189, podziel przez 7: fałszywe dane wejściowe: 1190, podziel przez 7: prawdziwe dane wejściowe : 1191, podziel przez 7: fałszywe dane wejściowe: 1192, podziel przez 7: fałszywe dane wejściowe: 1193, podziel przez 7: fałszywe dane wejściowe: 1194, podziel przez 7: fałszywe dane wejściowe: 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: Fałszywe dane wejściowe: 1197, podziel przez 7: Prawdziwe dane wejściowe: 1198, podziel przez 7: Fałszywe dane wejściowe: 1199, podziel przez 7: FałszyweFałszywe wejście: 1178, podziel przez 7: Fałszywe wejście: 1179, podziel przez 7: Fałszywe wejście: 1180, podziel przez 7: Fałszywe wejście: 1181, podziel przez 7: Fałszywe wejście: 1182, podziel przez 7: Fałszywe wejście: 1183, podziel przez 7: Prawdziwe dane wejściowe: 1184, podziel przez 7: fałszywe dane wejściowe: 1185, podziel przez 7: fałszywe dane wejściowe: 1186, podziel przez 7: fałszywe dane wejściowe: 1187, podziel przez 7: fałszywe dane wejściowe: 1188, podziel przez 7: fałszywe dane wejście: 1189, podziel przez 7: fałszywe wejście: 1190, podziel przez 7: prawdziwe wejście: 1191, podziel przez 7: fałszywe wejście: 1192, podziel przez 7: fałszywe wejście: 1193, podziel przez 7: fałszywe wejście: 1194, podziel przez 7: fałszywe dane wejściowe: 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: fałszywe dane wejściowe: 1197, podziel przez 7: prawdziwe dane wejściowe: 1198, podziel przez 7: fałszywe dane wejściowe: 1199, podziel przez 7: fałszywe daneFałszywe wejście: 1178, podziel przez 7: Fałszywe wejście: 1179, podziel przez 7: Fałszywe wejście: 1180, podziel przez 7: Fałszywe wejście: 1181, podziel przez 7: Fałszywe wejście: 1182, podziel przez 7: Fałszywe wejście: 1183, podziel przez 7: Prawdziwe dane wejściowe: 1184, podziel przez 7: fałszywe dane wejściowe: 1185, podziel przez 7: fałszywe dane wejściowe: 1186, podziel przez 7: fałszywe dane wejściowe: 1187, podziel przez 7: fałszywe dane wejściowe: 1188, podziel przez 7: fałszywe dane wejście: 1189, podziel przez 7: fałszywe wejście: 1190, podziel przez 7: prawdziwe wejście: 1191, podziel przez 7: fałszywe wejście: 1192, podziel przez 7: fałszywe wejście: 1193, podziel przez 7: fałszywe wejście: 1194, podziel przez 7: fałszywe dane wejściowe: 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: fałszywe dane wejściowe: 1197, podziel przez 7: prawdziwe dane wejściowe: 1198, podziel przez 7: fałszywe dane wejściowe: 1199, podziel przez 7: fałszywe danepodziel przez 7: Fałszywe dane wejściowe: 1185, podziel przez 7: Fałszywe dane wejściowe: 1186, podziel przez 7: Fałszywe dane wejściowe: 1187, podziel przez 7: Fałszywe dane wejściowe: 1188, podziel przez 7: Fałszywe dane wejściowe: 1189, podziel przez 7: Fałszywe wejście: 1190, podziel przez 7: prawda, wejście: 1191, podziel przez 7: fałszywe wejście: 1192, podziel przez 7: fałszywe wejście: 1193, podziel przez 7: fałszywe wejście: 1194, podziel przez 7: fałszywe wejście: 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: fałszywe dane wejściowe: 1197, podziel przez 7: prawdziwe dane wejściowe: 1198, podziel przez 7: fałszywe dane wejściowe: 1199, podziel przez 7: fałszywe danepodziel przez 7: Fałszywe dane wejściowe: 1185, podziel przez 7: Fałszywe dane wejściowe: 1186, podziel przez 7: Fałszywe dane wejściowe: 1187, podziel przez 7: Fałszywe dane wejściowe: 1188, podziel przez 7: Fałszywe dane wejściowe: 1189, podziel przez 7: Fałszywe wejście: 1190, podziel przez 7: prawda, wejście: 1191, podziel przez 7: fałszywe wejście: 1192, podziel przez 7: fałszywe wejście: 1193, podziel przez 7: fałszywe wejście: 1194, podziel przez 7: fałszywe wejście: 1195, podziel przez 7: fałszywe dane wejściowe: 1196, podziel przez 7: fałszywe dane wejściowe: 1197, podziel przez 7: prawdziwe dane wejściowe: 1198, podziel przez 7: fałszywe dane wejściowe: 1199, podziel przez 7: fałszywe danepodziel przez 7: prawda, dane wejściowe: 1198, podziel przez 7: nieprawda, dane wejściowe: 1199, podziel przez 7: fałszpodziel przez 7: prawda, dane wejściowe: 1198, podziel przez 7: nieprawda, dane wejściowe: 1199, podziel przez 7: fałsz
Wyjaśnienie:
Dostaję 2 różne rozwiązania. Oba są dobre:
1. sin jako aktywacja
2. floor (lub int) jako aktywacja
Niemożliwe jest znalezienie najlepszych wag przy użyciu opadania gradientu, a ja używam algorytmu genetycznego (od scikit-opt )