내 솔루션
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 : 2로 나눔 입력 : 1002, 2 : 2로 나눔 참 입력 : 1003, 2 : 2로 나눔 거짓 입력 : 1004, 2 : 2로 나눔 참 입력 : 1005, 2 : 2로 나눔 거짓 입력 : 1006, 나눗셈 2 : True 입력 : 1007, 2 : False 입력 : 1008으로 나누기, 2 : True 입력 : 1009로 나누기 : 2 : False 입력 : 1010으로 나누기 : 2 : True 입력 : 1011으로 나누기 : 2 : False 입력으로 나누기 : 1012, 2 : 2로 입력 : 1013, 2 : 2로 입력 : False 입력 : 1014, 2 : 2로 입력 : True 입력 : 1015, 2 : 2로 입력 : False 입력 : 1016, 2 : 2로 입력 : True 입력 : 1017, 2 : False 입력 : 1018,2 : True 입력 : 1019,2 : False 입력 : 1020,2 : True 입력 : 1021,2 : False 입력 : 1022,2 : True 입력 : 1023,2로 나누기 : False 입력 : 1024,2로 나누기 : True 입력 : 1025,2 : False 입력 : 1026으로 나누기 : 2 : True 입력 : 1027,2로 나누기 : False 입력 : 1028,2로 나누기 : 참 입력 : 1029, 2로 나눔False input : 1030, 2 : 2로 나눔 True 입력 : 1031, 2 : 2로 나눔 False input : 1032, 2 : 2로 나눔 True 입력 : 1033, 2 : 2로 나눔 False input : 1034, 2 : 2 나눔 입력 : 1035, 2 : 2로 나눔 : 거짓 입력 : 1036, 2 : 2로 나눔 : 참 입력 : 1037, 2 : 2로 나눔 : 거짓 입력 : 1038, 2 : 2 : 참 입력 : 1039, 2 : 2 : 거짓 입력 : 1040, 2 : 2로 나누기 입력 : 1041,2로 나눔 : False 입력 : 1042,2 : 나침 : True 입력 : 1043,2 : 나누기 입력 : 1044,2 :으로 나눔 True 입력 : 1045,2 : 나누기 입력 : 1046, 나누기 2 : True 입력 : 1047,2 : False 입력 : 1048,2 : True 입력 : 1049,2 : False 입력 : 1050,2 : True 입력 : 1051,2 : False 입력 : 1052, 2 : 2로 입력 : True 입력 : 1053, 2 : 2로 입력 : False 입력 : 1054, 2 : 2 : True 입력 : 1055, 2 : 2 : False 입력 : 1056, 2 : 2 : True 입력 : 1057 ,: 2 : 틀린 입력 : 1058, 2로 나눔트루 입력 : 1059,2로 나누기 : False 입력 : 1060,2로 나누기 : 참 입력 : 1061,2 : 세로 나누기 : False 입력 : 1062,2로 나누기 : True 입력 : 1063,2 나누기 : False 입력 : 1064, 2 : 참 입력 : 1065, 2 : 2로 입력 : False 입력 : 1066, 2 : 2로 입력 : True 입력 : 1067, 2 : 2로 입력 : False 입력 : 1068, 2 : 2로 입력 : True 입력 : 1069, 2 : False로 입력 : 1070,2로 나누기 : 참으로 입력 : 1071,2로 나누기 : 거짓 입력 : 1072,2 : 참으로 나누기 입력 : 1073,2 : 나누기 입력 : 1074,2 : 참 : 2 : 참 입력 : 1075, 나누기 2 : 2 : False 입력 : 1076,2 : True 입력 : 1077,2 : False 입력 : 1078,2 : True 입력 : 1079,2 : False 입력 : 1080,2 : True 입력 : 1081,2 : False 입력 : 1082,2 : True 입력 : 1083,2 : False 입력 : 1084,2 : True 입력 : 1085,2 : False 입력 : 1086,2 2 : 참 입력 : 1087, 2로 나눔거짓 입력 : 1088,2로 나누기 : 참 입력 : 1089,2로 나누기 : 거짓 입력 : 1090,2 : 참 나누기 입력 : 1091,2 : 나누기 입력 : 1092,2 : 참 : 2 : 참 입력 : 1093, 2 : 2로 나누기 : False 입력 : 1094, 2 : 2로 나누기 : True 입력 : 1095,2 : False 입력 : 1096으로 나누기 : 2 : True 입력 : 1097,2로 나누기 : False 입력 : 1098, 2 : True로 나누기 입력 : 1099, 2 : 2로 입력 : 거짓 입력 : 1100, 2 : 2로 입력 : 참 입력 : 1101, 2 : 2로 입력 : 거짓 입력 : 1102, 2 : 2로 입력 : 참 입력 : 1103, 2 : 2로 입력 : 거짓 입력 : 1104, 나누기 2 : True 입력 : 1105,2 : False 입력 : 1106,2 : True 입력 : 1107,2 : False 입력 : 1108,2 : True 입력 : 1109,2 : False 입력 : 1110,2 : 참 입력 : 1111,2 : 거짓 입력 : 1112,2 : 참 입력 : 1113,2 : 거짓 입력 : 1114,2 : 참 입력 : 1115,2 2 : 틀린 입력 : 1116, 2로 나눔실제 입력 : 1117, 2 : 2로 입력 : False 입력 : 1118, 2 : 2로 입력 : True 입력 : 1119, 2 : False 입력 : 1120으로, 2 : True 입력 : 1121, 2 : 2로 입력 : False 입력 : 1122, 2 : True 입력 : 1123으로 나누기, 2 : False 입력 : 1124로 나누기, 2 : True 입력 : 1125로 나누기, 2 : False 입력 : 1126으로 나누기 : 2 : True 입력 : 1127로 나누기, 2 : False로 나누기 입력 : 1128, 2 : 2로 입력 입력 : 1129, 2 : 2로 입력 : 거짓 입력 : 1130, 2 : 2, 입력 : 1131, 2 : 2로 입력 : 거짓 입력 : 1132, 2 : 2로 입력 : 진정한 입력 : 1133, 나누기 2 : 2 : False 입력 : 1134, 2 : 2 : True 입력 : 1135로 나누기 : 2 : False 입력 : 1136으로 나누기 : 2 : True 입력 : 1137 나누기 : 2 : False 입력 : 1138 나누기 : 2 : True 입력 : 나누기 : 1139,2 : False 입력 : 1140,2 : True 입력 : 1141,2 : False 입력 : 1142,2 : True 입력 : 1143,2 : False 입력 : 1144,2 2 : 참 입력 : 1145, 2로 나눔False input : 1146, 2 : 2로 나눔 True 입력 : 1147, 2 : 2로 나눔 False input : 1148, 2 : True input : 1149로 나눔 2 : False input : 1150, 2 : 2로 나눔 True 입력 : 1151, 2 : 2로 나누기 : 1152로 나누기 : 2 : 참으로 나누기 : 1153으로 나누기 : 2 : 거짓으로 나누기 : 1154로 나누기 : 2 : 참으로 나누기 : 1155로 나누기 : 2 : 거짓으로 나누기 : 1156 나누기 : 2 : 참으로 나누기 입력 : 1157, 2 : 2로 입력 : 1158, 2 : 2로 입력 : 입력 : 1159, 2 :: 입력 : 1160, 2 :: 입력 : 1116, 2 : 2 : 입력 : 1162, 나누기 2 : True 입력 : 1163,2 : False 입력 : 1164,2 : True 입력 : 1165,2 : False 입력 : 1166,2 : True 입력 : 1167,2 : False 입력 : 1168, 2 : 2로 입력 : 1169, 2 : 2로 입력 : 1170, 2 : 2 : 입력 : 1171, 2 : 2 : 입력 : 1172, 2 : 2 : 입력 : 1173, 2 : 거짓 입력 : 1174, 2로 나눔실제 입력 : 1175, 2 : 2로 입력 : False 입력 : 1176, 2 : 2로 입력 : True 입력 : 1177, 2 : False 입력 : 1178,2 : 세 : True 입력 : 1179, 2 : False 입력 : 1180, 2 : 참 입력 : 1181, 2 : 2로 입력 : False 입력 : 1182, 2 : 2로 입력 : True 입력 : 1183, 2 : False 입력 : 1184, 2 : 2로 입력 : True 입력 : 1185, 2 : False로 입력 : 1186, 2 : 2로 나누기 입력 : 1187, 2 : 2로 나누기 거짓 입력 : 1188, 2 : 참으로 나누기 입력 : 1189, 2 : 2로 나누기 거짓 입력 : 1190, 2 : 참 나누기 입력 : 1191, 나누기 2 : False 입력 : 1192,2 : True 입력 : 1193,2 : False 입력 : 1194,2 : True 입력 : 1195,2 : False 입력 : 1196, 2 : True 입력 : 2 : 1197, 2 : 2로 나눔 : 거짓 입력 : 1198, 2 : 2로 나눔 참 입력 : 1199, 2 : 2로 나눔실제 입력 : 1179, 2 : 2로 입력 : False 입력 : 1180,2 : 2로 입력 : True 입력 : 1181,2 : False 입력 : 1182,2 : 세로 입력 : True 입력 : 1183,2 : False 입력 : 1184, 2 : 2로 나누기 : 1185,2 : False 입력으로 나누기 : 1186,2 : True 입력 : 1187로 나누기 : 2 : False 입력 : 1188로 나누기 : 2 : True 입력 : 1189로 나누기 : 2 : False로 나누기 입력 : 1190, 2 : 2로 입력 입력 : 1191, 2 : 2로 입력 : 거짓 입력 : 1192, 2 : 2 : 입력 : 2:93, 2 : 2 : 입력 : 1194, 2 : 2 : 입력 : 1195, 나누기 2 : False 입력 : 1196, 2 : 2로 입력 : True 입력 : 1197, 2 : False 입력 : 1198으로, 2 : True 입력 : 1199, 2 : False :실제 입력 : 1179, 2 : 2로 입력 : False 입력 : 1180,2 : 2로 입력 : True 입력 : 1181,2 : False 입력 : 1182,2 : 세로 입력 : True 입력 : 1183,2 : False 입력 : 1184, 2 : 2로 나누기 : 1185,2 : False 입력으로 나누기 : 1186,2 : True 입력 : 1187로 나누기 : 2 : False 입력 : 1188로 나누기 : 2 : True 입력 : 1189로 나누기 : 2 : False로 나누기 입력 : 1190, 2 : 2로 입력 입력 : 1191, 2 : 2로 입력 : 거짓 입력 : 1192, 2 : 2 : 입력 : 2:93, 2 : 2 : 입력 : 1194, 2 : 2 : 입력 : 1195, 나누기 2 : False 입력 : 1196, 2 : 2로 입력 : True 입력 : 1197, 2 : False 입력 : 1198으로, 2 : True 입력 : 1199, 2 : False :실제 입력 : 1187, 2 : 2로 입력 : False 입력 : 1188, 2 : 2로 입력 : True 입력 : 1189, 2 : False 입력 : 1190,2 : 세로 입력 : True 입력 : 1191,2 : False 입력 : 1192, 2 : 2로 나누기 : 1193, 2 : 2로 나누기 : False 입력 : 1194,2 : True로 나누기 : 19 : 2 : False 입력 : 1196,2 나누기 : True 입력 : 1197,2 : False로 나누기 입력 : 1198, 2 : 2로 나눔 입력 : 1199, 2 : 2로 나눔실제 입력 : 1187, 2 : 2로 입력 : False 입력 : 1188, 2 : 2로 입력 : True 입력 : 1189, 2 : False 입력 : 1190으로, 2 : True 입력 : 1191, 2 : 2로 입력 : False 입력 : 1192, 2 : 2로 나누기 : 1193, 2 : 2로 나누기 : False 입력 : 1194,2 : True로 나누기 : 19 : 2 : False 입력 : 1196,2 나누기 : True 입력 : 1197,2 : False로 나누기 입력 : 1198, 2 : 2로 나눔 입력 : 1199, 2 : 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 : False 입력 : 1007,7 : False 입력 : 1008,7 : True 입력 : 1009,7 : False 입력 : 1010,7 : False 입력 : 1011,7 : False 입력 : 1010 : 1012,7로 나누기 : False 입력 : 1013,7으로 나누기 : False 입력 : 1014,7 : False 입력 : 1015,7 :으로 나누기 True 입력 : 1016,7 : False 입력 : 1017, 나누기 7 : False 입력 : 1018,7 : False 입력 : 1019,7 : False 입력 : 1020,7 : False 입력 : 1021,7 : False 입력 : 1022,7 : True 입력 : 1023,7 : False 입력 : 1024,7 : False 입력 : 1025,7 : False 입력 : 1026,7 : False 입력 : 1027,7 : False 입력 : 1028,7 : : 거짓 입력 : 1029,7로 나누기 :참 입력 : 1030, 7 : 나누기 틀린 입력 : 1031, 7 : 나누기 틀린 입력 : 1032, 틀린 입력 : 1033, 틀린 입력 : 1033, 틀린 입력 : 1034, 틀린 입력 : 1034, 7 : 틀린 입력 : 1035, 7로 나누기 : False 입력 : 1036,7으로 나누기 : True 입력 : 1037,7 : False 입력 : 1038,7 : False 입력 : 1039,7 : False 입력 : 1040,7 : False로 나누기 입력 : 1041, 7 : 나누기 입력 : 1042, 7 : 나누기 거짓 입력 : 1043, 7 : 나누기 입력 : 1044, 7 : 나누기 : 거짓 입력 : 1045, 7 : 나누기 : 거짓 입력 : 1046, 나누기 7 : False 입력 : 1047,7 : False 입력 : 1048,7 : False 입력 : 1049,7 : False 입력 : 1050,7 : True 입력 : 1051,7 : False 입력 : 1052,7 : False 입력 : 1053,7 : False 입력 : 1054,7 : False 입력 : 1055,7 : False 입력 : 1056, 7 : False 입력 : 1057,7 : 7 : 진짜 입력 : 1058,7로 나누기 : False 입력 : 1059,7으로 나누기 : False 입력 : 1060,7 : False 입력 : 1061,7으로 나누기 : False 입력 : 1062,7 : False 입력 : 1063, 7 : False로 나누기 입력 : 1064,7로 나누기 : 진정한 입력 : 1065,7으로 나누기 : 거짓 입력 : 1066,7 : 거짓 입력 : 1067,7으로 나누기 : 거짓 입력 : 1068,7 : 거짓 입력 : 1069, 나누기 으로 7 : False 입력 : 1070,7으로 나누기 : False 입력 : 1071,7으로 나누기 : True 입력 : 1072,7으로 나누기 : False 입력 : 1073,7 : False 입력 : 1074, 7 : False 입력으로 나누기 : 1075,7로 나누기 : False 입력 : 1076,7으로 나누기 : False 입력 : 1077,7 : False 입력 : 1078,7으로 나누기 : 진정한 입력 : 1079,7 : False 입력 : 1080,로 나누기 7 : False 입력 : 1081,7으로 나누기 : False 입력 : 1082,7으로 나누기 : False 입력 : 1083,7으로 나누기 : False 입력 : 1084,7 : False 입력 : 1085,7 : True 입력 : 1086, 7로 나눕니다.False input : 1087,7로 나누기 False input : 1088,7으로 나누기 False input : 1089,7으로 나누기 False input : 1090,7으로 나누기 False input : 1091,7으로 나누기 False input : 1092, 7로 나누기 : 진짜 입력 : 1093,7으로 나누기 : 거짓 입력 : 1094,7 : 거짓 입력 : 1095,7으로 나누기 거짓 입력 : 1096,7으로 나누기 : 거짓 입력 : 1097,7 : 거짓 나누기 입력 : 1098, 7 : 나누기 입력 : 1099, 7 : 나누기 입력 : 1100, 7 : 나누기 입력 : 1101, 7 : 나누기 : 1102, 7 : 나누기 : 1:10 나누기 : 1103, 나누기 7 : False 입력 : 1104,7 : False 입력 : 1105,7 : False 입력 : 1106,7 : True 입력 : 1107,7 : False 입력 : 1108,7 : False 입력 : 1 : 106 : 1109,7 : False 입력 : 1110,7 : False 입력 : 1111,7 : False 입력 : 1112,7 : False 입력 : 1113, 7 : True 입력 : 1114, 7 : 틀린 입력 : 1115,7 : False 입력 : 1116,7 : False 입력 : 1117,7 : False 입력 : 1118,7 : False 입력 : 1119,7 : False 입력 : 1120,7 : True 입력 : 1121,7로 나누기 : False 입력 : 1122,7으로 나누기 : False 입력 : 1123,7 : 거짓 입력 : 1124,7으로 나누기 : False 입력 : 1125,7 : 거짓 입력 : 1126, 나누기 7 : False 입력 : 1127,7 : 참 입력 : 1128,7 : False 입력 : 1129,7 : False 입력 : 1130,7 : False 입력 : 1131,7 : False 입력 : 1132,7 : False 입력 : 1133,7 : False 입력 : 1134,7 : True 입력 : 1135,7 : False 입력 : 1136,7 : False 입력 : 1137, 세분 7 : False 입력 : 1138,7 : False 입력 : 1139,7 : False 입력 : 1140,7 : False 입력 : 1141,7 : True 입력 : 1142,7 : False 입력 : 1143, 7로 나눔 : 거짓 입력 :1144,7 : False 입력 : 1145,7 : False 입력 : 1146,7 : False 입력 : 1147,7 : False 입력 : 1148,7 : True 입력 : 1149,7 : : False 입력 : 1150,7 : False 입력 : 1151,7 : False 입력 : 1152,7 : False 입력 : 1153,7 : False 입력 : 1154,7 : False 입력 : 1155 , 7로 나누기 : 참 입력 : 1156,7으로 나누기 : 거짓 입력 : 1157,7으로 나누기 : 거짓 입력 : 1158,7로 나누기 : 거짓 입력 : 1159,7 나누기 : 거짓 입력 : 1160,7 나누기 : False input : 1161, 7 : 나누기 False input : 1162, 7 : div로 입력 True 입력 : 1163, 7 : 7으로 입력 False input : 1164, 7 : False 입력 : 1165, 7 : False 입력 : 1166, 7 : False 입력 : 1167로 나누기, 7 : False 입력 : 1168로 나누기, 7 : False 입력 : 1169로 나누기, 7 : False 입력 : 1170, 7 : False 입력 : 1171로 나누기, 7 : False로 나누기 입력 : 1172, 7로 나눔False input : 1173,7로 나누기 False input : 1174,7으로 나누기 False input : 1175,7 : False input : 1176,7으로 나누기 True input : 1177,7 : False input : 1178, 7로 나누기 : False 입력 : 1179,7으로 나누기 : False 입력 : 1180으로 나누기, 7 : False 입력 : 1181로 나누기, 7 : False 입력 : 1182,7 : 나누기 False 입력 : 1183,7 : 나누기 True 입력 : 1184,7로 나누기 : False 입력 : 1185,7으로 나누기 : False 입력 : 1186,7 : False 입력 : 1187으로 나누기 : 7 : False 입력 : 1188,7 : 나누기 False 입력 : 1189, 나누기 7 : False 입력 : 1190,7 : True 입력 : 1191,7 : False 입력 : 1192,7 : False 입력 : 1193,7 : False 입력 : 1194,7 : False 입력 : 1195,7로 나누기 : False 입력 : 1196,7으로 나누기 : False 입력 : 1197,7 : 나누기 입력 : 1198,7 :으로 나누기 False 입력 : 1199,7 : False로 나누기7로 나누기 : 허위 입력 : 1175, 7 : 7으로 나누기 : 허위 입력 : 1176, 7 :로 나누기 참 입력 : 1177, 7 :로 나누기 : 거짓 입력 : 1178, 7 : 나누기 : 거짓 입력 : 1179, 7 : 7 : 거짓 입력 : 1180,7로 나누기 : False 입력 : 1181,7으로 나누기 : False 입력 : 1182,7 : False 입력 : 1183,7 : 나누기 입력 : 1184,7 : 나누기 False 입력 : 1185, 나누기 7 : False 입력 : 1186,7 : False 입력 : 1187,7 : False 입력 : 1188,7 : False 입력 : 1189,7 : False 입력 : 1190,7 : True 입력 : 1191,7 : False 입력 : 1192,7 : False 입력 : 1193,7 : False 입력 : 1194,7 : False 입력 : 1195,7 : False 입력 : 1196,7 : 7 : False 입력 : 1197,7으로 나누기 : True 입력 : 1198,7 : False 입력 : 1199,7 : False로 나누기7로 나누기 : 허위 입력 : 1175, 7 : 7으로 나누기 : 허위 입력 : 1176, 7 :로 나누기 참 입력 : 1177, 7 :로 나누기 : 거짓 입력 : 1178, 7 : 나누기 : 거짓 입력 : 1179, 7 : 7 : 거짓 입력 : 1180,7로 나누기 : False 입력 : 1181,7으로 나누기 : False 입력 : 1182,7 : False 입력 : 1183,7 : 나누기 입력 : 1184,7 : 나누기 False 입력 : 1185, 나누기 7 : False 입력 : 1186,7 : False 입력 : 1187,7 : False 입력 : 1188,7 : False 입력 : 1189,7 : False 입력 : 1190,7 : True 입력 : 1191,7 : False 입력 : 1192,7 : False 입력 : 1193,7 : False 입력 : 1194,7 : False 입력 : 1195,7 : False 입력 : 1196,7 : 7 : False 입력 : 1197,7으로 나누기 : True 입력 : 1198,7 : False 입력 : 1199,7 : False로 나누기False input : 1178,7 : False input : 1179,7 : False input : 1180,7 : False input : 1181,7 : False input : 1182,7 : False input : 1183, 7:16으로 입력 : 참 1 : 1184,7 : 제로 입력 : 1185,7 : 제로 입력 : 1186,7 : 제로 입력 : 1187,7 : 제로 입력 : 1188,7 : 제로 거짓 입력 : 1189,7로 나누기 : False 입력 : 1190,7으로 나누기 : 참 입력 : 1191,7 : 거짓 입력 : 1192,7으로 나누기 : False 입력 : 1193,7 : 거짓 입력 : 1194, 나누기 7 : False 입력 : 1195,7 : False 입력 : 1196으로 나누기, 7 : False 입력 : 1197,7으로 나누기 : 참 입력 : 1198,7 : False 입력 : 1199,7 : False로 나누기False input : 1178,7로 나누기 False input : 1179,7으로 나누기 False input : 1180,7 : False input : 1181,7 : False input : 1182,7 : False input : 1183, 7:16으로 입력 : 참 1 : 1184,7 : 제로 입력 : 1185,7 : 제로 입력 : 1186,7 : 제로 입력 : 1187,7 : 제로 입력 : 1188,7 : 제로 거짓 입력 : 1189,7로 나누기 : False 입력 : 1190,7으로 나누기 : 참 입력 : 1191,7 : 거짓 입력 : 1192,7으로 나누기 : False 입력 : 1193,7 : 거짓 입력 : 1194, 나누기 7 : False 입력 : 1195,7 : False 입력 : 1196으로 나누기, 7 : False 입력 : 1197,7으로 나누기 : 참 입력 : 1198,7 : False 입력 : 1199,7 : False로 나누기7로 나누기 : False 입력 : 1185,7으로 나누기 : False 입력 : 1186,7 : False 입력 : 1187로 나누기, 7 : False 입력 : 1188,7으로 나누기 : False 입력 : 1189,7 : False로 나누기 입력 : 1190,7로 나누기 : 참 입력 : 1191,7으로 나누기 : 거짓 입력 : 1192,7 : 거짓 입력 : 1193,7으로 나누기 : 거짓 입력 : 1194,7 : 거짓 입력 : 1195, 나누기 7 : False 입력 : 1196,7 : False 입력 : 1197,7 : True 입력 : 1198,7 : False 입력 : 1199,7 : False7로 나누기 : False 입력 : 1185,7으로 나누기 : False 입력 : 1186,7 : False 입력 : 1187로 나누기, 7 : False 입력 : 1188,7으로 나누기 : False 입력 : 1189,7 : False로 나누기 입력 : 1190,7로 나누기 : 참 입력 : 1191,7으로 나누기 : 거짓 입력 : 1192,7 : 거짓 입력 : 1193,7으로 나누기 : 거짓 입력 : 1194,7 : 거짓 입력 : 1195, 나누기 7 : False 입력 : 1196,7 : False 입력 : 1197,7 : True 입력 : 1198,7 : False 입력 : 1199,7 : False7 : 6으로 나누기 : 참 입력 : 1198,7으로 나누기 : 거짓 입력 : 1199,7 : 거짓 나누기7 : 6으로 나누기 : 참 입력 : 1198,7으로 나누기 : 거짓 입력 : 1199,7 : 거짓 나누기
설명:
나는 두 가지 다른 솔루션을 얻습니다. 그들은 둘 다 좋다 :
1. 활성화로서의 죄
2. 활성화로서의 층 (또는 정수)
그래디언트 디센트를 사용하여 최고의 가중치를 찾는 것은 불가능하며 유전 알고리즘을 사용합니다 ( scikit-opt )