Мое решение
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))
вход: 1001, делим на 2: ложный ввод: 1002, делим на 2: действительный ввод: 1003, делим на 2: ложный ввод: 1004, делим на 2: действительный ввод: 1005, делим на 2: ложный ввод: 1006, делим 2: Истинный ввод: 1007, делить на 2: Ложный ввод: 1008, делить на 2: Истинный ввод: 1009, делить на 2: Ложный ввод: 1010, Делить на 2: Истинный ввод: 1011, Делить на 2: Ложный ввод : 1012, делим на 2: истинный ввод: 1013, делим на 2: ложный ввод: 1014, делим на 2: действительный ввод: 1015, делим на 2: ложный ввод: 1016, делим на 2: действительный ввод: 1017, делим на 2: ложный ввод: 1018, деление на 2: истинный ввод: 1019, деление на 2: ложный ввод: 1020, деление на 2: истинный ввод: 1021, деление на 2: ложный ввод: 1022, деление на 2: истинный ввод: 1023, делим на 2: ложный ввод: 1024, делим на 2: действительный ввод: 1025, делим на 2: ложный ввод: 1026, делим на 2: действительный ввод: 1027, делим на 2: ложный ввод: 1028, делим на 2 : Истинный ввод: 1029, разделить на 2:Ложный ввод: 1030, деление на 2: Истинный ввод: 1031, деление на 2: Ложный ввод: 1032, деление на 2: Истинный ввод: 1033, деление на 2: Ложный ввод: 1034, деление на 2: Истинный ввод: 1035, делить на 2: ложный ввод: 1036, делить на 2: истинный ввод: 1037, делить на 2: ложный ввод: 1038, делить на 2: истинный ввод: 1039, делить на 2: ложный ввод: 1040, делить на 2: правда вход: 1041, делим на 2: ложный ввод: 1042, делим на 2: действительный ввод: 1043, делим на 2: ложный ввод: 1044, делим на 2: действительный ввод: 1045, делим на 2: ложный ввод: 1046, делим 2: Истинный ввод: 1047, делить на 2: Ложный ввод: 1048, делить на 2: Истинный ввод: 1049, делить на 2: Ложный ввод: 1050, делить на 2: Истинный ввод: 1051, делить на 2: Ложный ввод : 1052, делим на 2: Истинный ввод: 1053, делим на 2: Ложный ввод: 1054, делим на 2: Истинный ввод: 1055, делим на 2: Ложный ввод: 1056, делим на 2: Истинный ввод: 1057, делим на 2: Ложный ввод: 1058, разделить на 2:Истинный ввод: 1059, деление на 2: ложный ввод: 1060, деление на 2: истинный ввод: 1061, деление на 2: ложный ввод: 1062, деление на 2: истинный ввод: 1063, деление на 2: ложный ввод: 1064, делим на 2: истинный ввод: 1065, делим на 2: ложный ввод: 1066, делим на 2: действительный ввод: 1067, делим на 2: ложный ввод: 1068, делим на 2: действительный ввод: 1069, делим на 2: ложный вход: 1070, делим на 2: истинный ввод: 1071, делим на 2: ложный ввод: 1072, делим на 2: действительный ввод: 1073, делим на 2: ложный ввод: 1074, делим на 2: действительный ввод: 1075, делим по 2: ложный ввод: 1076, деление на 2: истинный ввод: 1077, деление на 2: ложный ввод: 1078, деление на 2: истинный ввод: 1079, деление на 2: ложный ввод: 1080, деление на 2: истинный ввод : 1081, делим на 2: ложный ввод: 1082, делим на 2: действительный ввод: 1083, делим на 2: ложный ввод: 1084, делим на 2: действительный ввод: 1085, делим на 2: ложный ввод: 1086, делим на 2: Истинный ввод: 1087, разделить на 2:Ложный ввод: 1088, деление на 2: Истинный ввод: 1089, деление на 2: Ложный ввод: 1090, деление на 2: Истинный ввод: 1091, деление на 2: Ложный ввод: 1092, деление на 2: Истинный ввод: 1093, делить на 2: ложный ввод: 1094, делить на 2: истинный ввод: 1095, делить на 2: ложный ввод: 1096, делить на 2: истинный ввод: 1097, делить на 2: ложный ввод: 1098, делить на 2: правда ввод: 1099, деление на 2: ложный ввод: 1100, деление на 2: истинный ввод: 1101, деление на 2: ложный ввод: 1102, деление на 2: истинный ввод: 1103, деление на 2: ложный ввод: 1104, деление 2: Истинный ввод: 1105, деление на 2: Ложный ввод: 1106, деление на 2: Истинный ввод: 1107, деление на 2: Ложный ввод: 1108, деление на 2: Истинный ввод: 1109, деление на 2: Ложный ввод : 1110, делим на 2: Истинный ввод: 1111, делим на 2: Ложный ввод: 1112, делим на 2: Истинный ввод: 1113, делим на 2: Ложный ввод: 1114, делим на 2: Истинный ввод: 1115, делим на 2: ложный ввод: 1116, разделить на 2:Истинный ввод: 1117, деление на 2: Ложный ввод: 1118, деление на 2: Истинный ввод: 1119, деление на 2: Ложный ввод: 1120, деление на 2: Истинный ввод: 1121, деление на 2: Ложный ввод: 1122, делим на 2: истинный ввод: 1123, делим на 2: ложный ввод: 1124, делим на 2: действительный ввод: 1125, делим на 2: ложный ввод: 1126, делим на 2: действительный ввод: 1127, делим на 2: ложный вход: 1128, делим на 2: истинный ввод: 1129, делим на 2: ложный ввод: 1130, делим на 2: действительный ввод: 1131, делим на 2: ложный ввод: 1132, делим на 2: действительный ввод: 1133, делим 2: ложный ввод: 1134, деление на 2: истинный ввод: 1135, деление на 2: ложный ввод: 1136, деление на 2: истинный ввод: 1137, деление на 2: ложный ввод: 1138, деление на 2: истинный ввод : 1139, делим на 2: ложный ввод: 1140, делим на 2: действительный ввод: 1141, делим на 2: ложный ввод: 1142, делим на 2: действительный ввод: 1143, делим на 2: ложный ввод: 1144, делим на 2: Истинный ввод: 1145, разделить на 2:Ложный ввод: 1146, деление на 2: Истинный ввод: 1147, деление на 2: Ложный ввод: 1148, деление на 2: Истинный ввод: 1149, деление на 2: Ложный ввод: 1150, деление на 2: Истинный ввод: 1151, делить на 2: ложный ввод: 1152, делить на 2: истинный ввод: 1153, делить на 2: ложный ввод: 1154, делить на 2: истинный ввод: 1155, делить на 2: ложный ввод: 1156, делить на 2: правда вход: 1157, делим на 2: ложный ввод: 1158, делим на 2: действительный ввод: 1159, делим на 2: ложный ввод: 1160, делим на 2: действительный ввод: 1161, делим на 2: ложный ввод: 1162, делим 2: Истинный ввод: 1163, деление на 2: Ложный ввод: 1164, деление на 2: Истинный ввод: 1165, деление на 2: Ложный ввод: 1166, деление на 2: Истинный ввод: 1167, деление на 2: Ложный ввод : 1168, делим на 2: истинный ввод: 1169, делим на 2: ложный ввод: 1170, делим на 2: действительный ввод: 1171, делим на 2: ложный ввод: 1172, делим на 2: действительный ввод: 1173, делим на 2: ложный ввод: 1174, разделить на 2:Истинный ввод: 1175, деление на 2: Ложный ввод: 1176, деление на 2: Истинный ввод: 1177, деление на 2: Ложный ввод: 1178, деление на 2: Истинный ввод: 1179, деление на 2: Ложный ввод: 1180, делить на 2: истинный ввод: 1181, делить на 2: ложный ввод: 1182, делить на 2: истинный ввод: 1183, делить на 2: ложный ввод: 1184, делить на 2: правда вводить: 1185, делить на 2: ложь вход: 1186, делим на 2: истинный ввод: 1187, делим на 2: ложный ввод: 1188, делим на 2: действительный ввод: 1189, делим на 2: ложный ввод: 1190, делим на 2: действительный ввод: 1191, делим 2: ложный ввод: 1192, деление на 2: истинный ввод: 1193, деление на 2: ложный ввод: 1194, деление на 2: истинный ввод: 1195, деление на 2: ложный ввод: 1196, деление на 2: истинный ввод : 1197, поделить на 2: неверный ввод: 1198, поделить на 2: истинный ввод: 1199, поделить на 2: неверныйИстинный ввод: 1179, деление на 2: Ложный ввод: 1180, деление на 2: Истинный ввод: 1181, деление на 2: Ложный ввод: 1182, деление на 2: Истинный ввод: 1183, деление на 2: Ложный ввод: 1184, делим на 2: истинный ввод: 1185, делим на 2: ложный ввод: 1186, делим на 2: действительный ввод: 1187, делим на 2: ложный ввод: 1188, делим на 2: действительный ввод: 1189, делим на 2: ложный вход: 1190, делим на 2: истинный ввод: 1191, делим на 2: ложный ввод: 1192, делим на 2: действительный ввод: 1193, делим на 2: ложный ввод: 1194, делим на 2: действительный ввод: 1195, делим 2: ложный ввод: 1196, деление на 2: истинный ввод: 1197, деление на 2: ложный ввод: 1198, деление на 2: истинный ввод: 1199, деление на 2: ложныйИстинный ввод: 1179, деление на 2: Ложный ввод: 1180, деление на 2: Истинный ввод: 1181, деление на 2: Ложный ввод: 1182, деление на 2: Истинный ввод: 1183, деление на 2: Ложный ввод: 1184, делим на 2: истинный ввод: 1185, делим на 2: ложный ввод: 1186, делим на 2: действительный ввод: 1187, делим на 2: ложный ввод: 1188, делим на 2: действительный ввод: 1189, делим на 2: ложный вход: 1190, делим на 2: истинный ввод: 1191, делим на 2: ложный ввод: 1192, делим на 2: действительный ввод: 1193, делим на 2: ложный ввод: 1194, делим на 2: действительный ввод: 1195, делим 2: ложный ввод: 1196, деление на 2: истинный ввод: 1197, деление на 2: ложный ввод: 1198, деление на 2: истинный ввод: 1199, деление на 2: ложныйИстинный ввод: 1187, деление на 2: ложный ввод: 1188, деление на 2: истинный ввод: 1189, деление на 2: ложный ввод: 1190, деление на 2: истинный ввод: 1191, деление на 2: ложный ввод: 1192, делим на 2: истинный ввод: 1193, делим на 2: ложный ввод: 1194, делим на 2: действительный ввод: 1195, делим на 2: ложный ввод: 1196, делим на 2: действительный ввод: 1197, делим на 2: ложный вход: 1198, делим на 2: правда вход: 1199, делим на 2: ложьИстинный ввод: 1187, деление на 2: ложный ввод: 1188, деление на 2: истинный ввод: 1189, деление на 2: ложный ввод: 1190, деление на 2: истинный ввод: 1191, деление на 2: ложный ввод: 1192, делим на 2: истинный ввод: 1193, делим на 2: ложный ввод: 1194, делим на 2: действительный ввод: 1195, делим на 2: ложный ввод: 1196, делим на 2: действительный ввод: 1197, делим на 2: ложный вход: 1198, делим на 2: правда вход: 1199, делим на 2: ложь
Более того, делить на другие числа (скажем, 7) тоже хорошо:
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))
вход: 1001, делим на 7: истинный ввод: 1002, делим на 7: ложный ввод: 1003, делим на 7: ложный ввод: 1004, делим на 7: ложный ввод: 1005, делим на 7: ложный ввод: 1006, делим 7: ложный ввод: 1007, деление на 7: ложный ввод: 1008, деление на 7: истинный ввод: 1009, деление на 7: ложный ввод: 1010, деление на 7: ложный ввод: 1011, деление на 7: ложный ввод : 1012, делим на 7: ложный ввод: 1013, делим на 7: ложный ввод: 1014, делим на 7: ложный ввод: 1015, делим на 7: действительный ввод: 1016, делим на 7: ложный ввод: 1017, делим на 7: ложный ввод: 1018, деление на 7: ложный ввод: 1019, деление на 7: ложный ввод: 1020, деление на 7: ложный ввод: 1021, деление на 7: ложный ввод: 1022, деление на 7: истинный ввод: 1023, делим на 7: ложный ввод: 1024, делим на 7: ложный ввод: 1025, делим на 7: ложный ввод: 1026, делим на 7: ложный ввод: 1027, делим на 7: ложный ввод: 1028, делим на 7 : Ложный ввод: 1029, разделить на 7:Истинный ввод: 1030, делим на 7: ложный ввод: 1031, делим на 7: ложный ввод: 1032, делим на 7: ложный ввод: 1033, делим на 7: ложный ввод: 1034, делим на 7: ложный ввод: 1035, делить на 7: ложный ввод: 1036, делить на 7: истинный ввод: 1037, делить на 7: ложный ввод: 1038, делить на 7: ложный ввод: 1039, делить на 7: ложный ввод: 1040, делить на 7: ложный вход: 1041, делим на 7: ложный ввод: 1042, делим на 7: ложный ввод: 1043, делим на 7: действительный ввод: 1044, делим на 7: ложный ввод: 1045, делим на 7: ложный ввод: 1046, делим 7: ложный ввод: 1047, деление на 7: ложный ввод: 1048, деление на 7: ложный ввод: 1049, деление на 7: ложный ввод: 1050, деление на 7: истинный ввод: 1051, деление на 7: ложный ввод : 1052, делим на 7: ложный ввод: 1053, делим на 7: ложный ввод: 1054, делим на 7: ложный ввод: 1055, делим на 7: ложный ввод: 1056, делим на 7: ложный ввод: 1057, делим на 7: Истинный ввод: 1058,делить на 7: ложный ввод: 1059, делить на 7: ложный ввод: 1060, делить на 7: ложный ввод: 1061, делить на 7: ложный ввод: 1062, делить на 7: ложный ввод: 1063, делить на 7: ложный вход: 1064, делим на 7: истинный ввод: 1065, делим на 7: ложный ввод: 1066, делим на 7: ложный ввод: 1067, делим на 7: ложный ввод: 1068, делим на 7: ложный ввод: 1069, делим 7: ложный ввод: 1070, деление на 7: ложный ввод: 1071, деление на 7: истинный ввод: 1072, деление на 7: ложный ввод: 1073, деление на 7: ложный ввод: 1074, деление на 7: ложный ввод : 1075, делим на 7: ложный ввод: 1076, делим на 7: ложный ввод: 1077, делим на 7: ложный ввод: 1078, делим на 7: действительный ввод: 1079, делим на 7: ложный ввод: 1080, делим на 7: ложный ввод: 1081, деление на 7: ложный ввод: 1082, деление на 7: ложный ввод: 1083, деление на 7: ложный ввод: 1084, деление на 7: ложный ввод: 1085, деление на 7: истинный ввод: 1086, разделите на 7:Ложный ввод: 1087, деление на 7: Ложный ввод: 1088, деление на 7: Ложный ввод: 1089, деление на 7: Ложный ввод: 1090, деление на 7: Ложный ввод: 1091, деление на 7: Ложный ввод: 1092, делить на 7: истинный ввод: 1093, делить на 7: ложный ввод: 1094, делить на 7: ложный ввод: 1095, делить на 7: ложный ввод: 1096, делить на 7: ложный ввод: 1097, делить на 7: ложный ввод: 1098, деление на 7: ложный ввод: 1099, деление на 7: истинный ввод: 1100, деление на 7: ложный ввод: 1101, деление на 7: ложный ввод: 1102, деление на 7: ложный ввод: 1103, деление 7: ложный ввод: 1104, деление на 7: ложный ввод: 1105, деление на 7: ложный ввод: 1106, деление на 7: истинный ввод: 1107, деление на 7: ложный ввод: 1108, деление на 7: ложный ввод : 1109, делим на 7: ложный ввод: 1110, делим на 7: ложный ввод: 1111, делим на 7: ложный ввод: 1112, делим на 7: ложный ввод: 1113, делим на 7: действительный ввод: 1114, делим на 7: ложный ввод: 1115,делить на 7: ложный ввод: 1116, делить на 7: ложный ввод: 1117, делить на 7: ложный ввод: 1118, делить на 7: ложный ввод: 1119, делить на 7: ложный ввод: 1120, делить на 7: правда вход: 1121, делить на 7: ложный ввод: 1122, делить на 7: ложный ввод: 1123, делить на 7: ложный ввод: 1124, делить на 7: ложный ввод: 1125, делить на 7: ложный ввод: 1126, делить 7: ложный ввод: 1127, деление на 7: истинный ввод: 1128, деление на 7: ложный ввод: 1129, деление на 7: ложный ввод: 1130, деление на 7: ложный ввод: 1131, деление на 7: ложный ввод : 1132, делим на 7: ложный ввод: 1133, делим на 7: ложный ввод: 1134, делим на 7: действительный ввод: 1135, делим на 7: ложный ввод: 1136, делим на 7: ложный ввод: 1137, делим на 7: ложный ввод: 1138, деление на 7: ложный ввод: 1139, деление на 7: ложный ввод: 1140, деление на 7: ложный ввод: 1141, деление на 7: истинный ввод: 1142, деление на 7: ложный ввод: 1143, делим на 7: ложный ввод:1144, делим на 7: ложный ввод: 1145, делим на 7: ложный ввод: 1146, делим на 7: ложный ввод: 1147, делим на 7: ложный ввод: 1148, делим на 7: действительный ввод: 1149, делим на 7 : Ложный ввод: 1150, деление на 7: ложный ввод: 1151, деление на 7: ложный ввод: 1152, деление на 7: ложный ввод: 1153, деление на 7: ложный ввод: 1154, деление на 7: ложный ввод: 1155 , делим на 7: истинный ввод: 1156, делим на 7: ложный ввод: 1157, делим на 7: ложный ввод: 1158, делим на 7: ложный ввод: 1159, делим на 7: ложный ввод: 1160, делим на 7: Ложный ввод: 1161, деление на 7: Ложный ввод: 1162, деление на 7: Истинный ввод: 1163, деление на 7: Ложный ввод: 1164, деление на 7: Ложный ввод: 1165, деление на 7: Ложный ввод: 1166, делить на 7: ложный ввод: 1167, делить на 7: ложный ввод: 1168, делить на 7: ложный ввод: 1169, делить на 7: истинный ввод: 1170, делить на 7: ложный ввод: 1171, делить на 7: ложный вход: 1172, разделить на 7:Ложный ввод: 1173, деление на 7: Ложный ввод: 1174, деление на 7: Ложный ввод: 1175, деление на 7: Ложный ввод: 1176, деление на 7: Истинный ввод: 1177, деление на 7: Ложный ввод: 1178, делить на 7: ложный ввод: 1179, делить на 7: ложный ввод: 1180, делить на 7: ложный ввод: 1181, делить на 7: ложный ввод: 1182, делить на 7: ложный ввод: 1183, делить на 7: правда вход: 1184, делить на 7: ложный ввод: 1185, делить на 7: ложный ввод: 1186, делить на 7: ложный ввод: 1187, делить на 7: ложный ввод: 1188, делить на 7: ложный ввод: 1189, делить 7: ложный ввод: 1190, деление на 7: истинный ввод: 1191, деление на 7: ложный ввод: 1192, деление на 7: ложный ввод: 1193, деление на 7: ложный ввод: 1194, деление на 7: ложный ввод : 1195, делим на 7: ложный ввод: 1196, делим на 7: ложный ввод: 1197, делим на 7: действительный ввод: 1198, делим на 7: ложный ввод: 1199, делим на 7: ложныйделить на 7: ложный ввод: 1175, делить на 7: ложный ввод: 1176, делить на 7: истинный ввод: 1177, делить на 7: ложный ввод: 1178, делить на 7: ложный ввод: 1179, делить на 7: ложный вход: 1180, делим на 7: ложный ввод: 1181, делим на 7: ложный ввод: 1182, делим на 7: ложный ввод: 1183, делим на 7: действительный ввод: 1184, делим на 7: ложный ввод: 1185, делим 7: ложный ввод: 1186, деление на 7: ложный ввод: 1187, деление на 7: ложный ввод: 1188, деление на 7: ложный ввод: 1189, деление на 7: ложный ввод: 1190, деление на 7: истинный ввод : 1191, делим на 7: ложный ввод: 1192, делим на 7: ложный ввод: 1193, делим на 7: ложный ввод: 1194, делим на 7: ложный ввод: 1195, делим на 7: ложный ввод: 1196, делим на 7: ложный ввод: 1197, деление на 7: истинный ввод: 1198, деление на 7: ложный ввод: 1199, деление на 7: ложныйделить на 7: ложный ввод: 1175, делить на 7: ложный ввод: 1176, делить на 7: истинный ввод: 1177, делить на 7: ложный ввод: 1178, делить на 7: ложный ввод: 1179, делить на 7: ложный вход: 1180, делим на 7: ложный ввод: 1181, делим на 7: ложный ввод: 1182, делим на 7: ложный ввод: 1183, делим на 7: действительный ввод: 1184, делим на 7: ложный ввод: 1185, делим 7: ложный ввод: 1186, деление на 7: ложный ввод: 1187, деление на 7: ложный ввод: 1188, деление на 7: ложный ввод: 1189, деление на 7: ложный ввод: 1190, деление на 7: истинный ввод : 1191, делим на 7: ложный ввод: 1192, делим на 7: ложный ввод: 1193, делим на 7: ложный ввод: 1194, делим на 7: ложный ввод: 1195, делим на 7: ложный ввод: 1196, делим на 7: ложный ввод: 1197, деление на 7: истинный ввод: 1198, деление на 7: ложный ввод: 1199, деление на 7: ложныйЛожный ввод: 1178, делим на 7: Ложный ввод: 1179, делим на 7: Ложный ввод: 1180, делим на 7: Ложный ввод: 1181, делим на 7: Ложный ввод: 1182, делим на 7: Ложный ввод: 1183, делим на 7: истинный ввод: 1184, делим на 7: ложный ввод: 1185, делим на 7: ложный ввод: 1186, делим на 7: ложный ввод: 1187, делим на 7: ложный ввод: 1188, делим на 7: ложный ввод: 1189, деление на 7: ложный ввод: 1190, деление на 7: истинный ввод: 1191, деление на 7: ложный ввод: 1192, деление на 7: ложный ввод: 1193, деление на 7: ложный ввод: 1194, деление 7: ложный ввод: 1195, деление на 7: ложный ввод: 1196, деление на 7: ложный ввод: 1197, деление на 7: истинный ввод: 1198, деление на 7: ложный ввод: 1199, деление на 7: ложныйЛожный ввод: 1178, делим на 7: Ложный ввод: 1179, делим на 7: Ложный ввод: 1180, делим на 7: Ложный ввод: 1181, делим на 7: Ложный ввод: 1182, делим на 7: Ложный ввод: 1183, делим на 7: истинный ввод: 1184, делим на 7: ложный ввод: 1185, делим на 7: ложный ввод: 1186, делим на 7: ложный ввод: 1187, делим на 7: ложный ввод: 1188, делим на 7: ложный ввод: 1189, деление на 7: ложный ввод: 1190, деление на 7: истинный ввод: 1191, деление на 7: ложный ввод: 1192, деление на 7: ложный ввод: 1193, деление на 7: ложный ввод: 1194, деление 7: ложный ввод: 1195, деление на 7: ложный ввод: 1196, деление на 7: ложный ввод: 1197, деление на 7: истинный ввод: 1198, деление на 7: ложный ввод: 1199, деление на 7: ложныйделить на 7: ложный ввод: 1185, делить на 7: ложный ввод: 1186, делить на 7: ложный ввод: 1187, делить на 7: ложный ввод: 1188, делить на 7: ложный ввод: 1189, делить на 7: ложный вход: 1190, делим на 7: истинный ввод: 1191, делим на 7: ложный ввод: 1192, делим на 7: ложный ввод: 1193, делим на 7: ложный ввод: 1194, делим на 7: ложный ввод: 1195, делим 7: ложный ввод: 1196, деление на 7: ложный ввод: 1197, деление на 7: верный ввод: 1198, деление на 7: ложный ввод: 1199, деление на 7: ложныйделить на 7: ложный ввод: 1185, делить на 7: ложный ввод: 1186, делить на 7: ложный ввод: 1187, делить на 7: ложный ввод: 1188, делить на 7: ложный ввод: 1189, делить на 7: ложный вход: 1190, делим на 7: истинный ввод: 1191, делим на 7: ложный ввод: 1192, делим на 7: ложный ввод: 1193, делим на 7: ложный ввод: 1194, делим на 7: ложный ввод: 1195, делим 7: ложный ввод: 1196, деление на 7: ложный ввод: 1197, деление на 7: верный ввод: 1198, деление на 7: ложный ввод: 1199, деление на 7: ложныйподелить на 7: истинное значение: 1198, поделить на 7: неверное значение: 1199, поделить на 7: неверное значениеподелить на 7: истинное значение: 1198, поделить на 7: неверное значение: 1199, поделить на 7: неверное значение
Объяснение:
Я получаю 2 разных решения. Они оба хороши:
1. грех как активация
2. пол (или int) как активация
Невозможно найти лучшие веса, используя градиентный спуск, и я использую генетический алгоритм (из scikit-opt )