fork download
  1. import numpy as np
  2. from itertools import product # To generate all binary combinations
  3.  
  4. # Initialisierung der Schwellenwerte
  5. lower_threshold = 0.8
  6. upper_threshold = 1.2
  7.  
  8. # Lernrate
  9. learning_rate = 0.1
  10.  
  11. # Trainingsdaten (Inputs für das XOR-Problem und andere)
  12. inputs = [[0, 0], [0, 1], [1, 0], [1, 1]]
  13.  
  14. # Alle möglichen Zieltabellen (16 Kombinationen)
  15. all_possible_targets = list(product([0, 1], repeat=4))
  16.  
  17. # Trainingsloop für jede mögliche Zieltabelle
  18. for table_index, targets in enumerate(all_possible_targets, start=1):
  19. print(f"\n=== Wahrheitstabelle {table_index}: Targets = {targets} ===")
  20.  
  21. # Initialisieren der Startwerte
  22. max_iterations = 200 # Maximal 200 Iterationen für jedes Bias
  23. epoch = 0
  24. network_trained = False
  25. start_weights = None
  26. final_weights = None
  27. bias = 0.0 # Initial Bias ist 0.0
  28. bias_increment = 0.1 # Bias-Inkrement
  29. max_bias = 1.3 # Maximaler Bias
  30. min_bias = -1.3 # Minimaler Bias
  31. reset_count = 0 # Counter to track the number of weight resets
  32.  
  33. # Erste Trainingsrunde ohne Bias-Erhöhung
  34. while epoch < max_iterations and reset_count < 5:
  35. epoch += 1
  36. all_correct = True # Flag, um zu überprüfen, ob alle Ausgaben korrekt sind
  37. current_weights = np.random.uniform(-4, 4, 2) # Zufällige Startgewichte im Bereich [-4, 4]
  38.  
  39. if epoch == 1: # Die erste Iteration nach Initialisierung
  40. start_weights = current_weights # Speichere die Startgewichte
  41.  
  42. for input_vector, target in zip(inputs, targets):
  43. # Berechnung der gewichteten Summe inkl. Bias
  44. weighted_sum = np.dot(input_vector, current_weights) + bias
  45.  
  46. # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten)
  47. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  48.  
  49. # Fehlerberechnung
  50. error = target - output
  51.  
  52. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  53. if error != 0:
  54. all_correct = False
  55. current_weights += learning_rate * error * np.array(input_vector)
  56.  
  57. # Überprüfe, ob alle Ausgaben korrekt sind
  58. if all_correct:
  59. network_trained = True
  60. final_weights = current_weights # Speichere die finalen Gewichte
  61. break # Stoppe, wenn alle Ausgaben korrekt sind
  62.  
  63. if not network_trained:
  64. print(f"Epoch {epoch} konnte die Tabelle nicht korrekt lernen.")
  65. print(f"Versuche, die Gewichte nach {epoch} Iterationen zurückzusetzen.")
  66. reset_count += 1 # Zähle die Versuche
  67. print(f"Anzahl der Versuche: {reset_count}")
  68.  
  69. if reset_count < 5:
  70. continue # Versuche erneut mit neuen zufälligen Gewichten
  71.  
  72. if network_trained:
  73. print(f"Das Netzwerk hat Wahrheitstabelle {table_index} erfolgreich nach {epoch} Iterationen gelernt.")
  74. print(f"Startgewichte: {start_weights}")
  75. print(f"Endgewichte: {final_weights}")
  76. print(f"Endgültiger Bias: {bias}")
  77. continue # Zum nächsten Wahrheitstabelle
  78.  
  79. # Wenn das Netzwerk nach 200 Iterationen nicht gelernt hat, füge den Bias hinzu
  80. print(f"Das Netzwerk hat Wahrheitstabelle {table_index} nach {epoch} Iterationen nicht korrekt gelernt.")
  81. print("Erhöhe den Bias und versuche es erneut.")
  82.  
  83. # Bias erhöhen in Schritten bis max_bias und dann bis min_bias
  84. bias = 0.0
  85. for bias in np.arange(0.1, max_bias + bias_increment, bias_increment): # Bias von 0.1 bis 1.3
  86. print(f"Versuch mit Bias {bias}:")
  87. epoch = 0
  88. start_weights = np.random.uniform(-4, 4, 2) # Zufällige Startgewichte für die erneute Trainingsrunde
  89. network_trained = False # Netzwerk muss erneut trainiert werden
  90.  
  91. while epoch < max_iterations:
  92. epoch += 1
  93. all_correct = True
  94. current_weights = np.random.uniform(-4, 4, 2) # Zufällige Startgewichte im Bereich [-4, 4]
  95.  
  96. for input_vector, target in zip(inputs, targets):
  97. # Berechnung der gewichteten Summe inkl. Bias
  98. weighted_sum = np.dot(input_vector, current_weights) + bias
  99.  
  100. # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten)
  101. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  102.  
  103. # Fehlerberechnung
  104. error = target - output
  105.  
  106. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  107. if error != 0:
  108. all_correct = False
  109. current_weights += learning_rate * error * np.array(input_vector)
  110.  
  111. # Überprüfe, ob alle Ausgaben korrekt sind
  112. if all_correct:
  113. network_trained = True
  114. final_weights = current_weights # Speichere die finalen Gewichte
  115. break # Stoppe, wenn alle Ausgaben korrekt sind
  116.  
  117. if network_trained:
  118. break # Das Netzwerk hat jetzt gelernt
  119.  
  120. # Bias verringern und erneut testen, wenn das Netzwerk nicht erfolgreich war
  121. if not network_trained:
  122. print("Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.")
  123. for bias in np.arange(max_bias, min_bias - bias_increment, -bias_increment): # Bias von 1.3 bis -1.3
  124. print(f"Versuch mit Bias {bias}:")
  125. epoch = 0
  126. start_weights = np.random.uniform(-4, 4, 2) # Zufällige Startgewichte für die erneute Trainingsrunde
  127. network_trained = False # Netzwerk muss erneut trainiert werden
  128.  
  129. while epoch < max_iterations:
  130. epoch += 1
  131. all_correct = True
  132. current_weights = np.random.uniform(-4, 4, 2) # Zufällige Startgewichte im Bereich [-4, 4]
  133.  
  134. for input_vector, target in zip(inputs, targets):
  135. # Berechnung der gewichteten Summe inkl. Bias
  136. weighted_sum = np.dot(input_vector, current_weights) + bias
  137.  
  138. # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten)
  139. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  140.  
  141. # Fehlerberechnung
  142. error = target - output
  143.  
  144. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  145. if error != 0:
  146. all_correct = False
  147. current_weights += learning_rate * error * np.array(input_vector)
  148.  
  149. # Überprüfe, ob alle Ausgaben korrekt sind
  150. if all_correct:
  151. network_trained = True
  152. final_weights = current_weights # Speichere die finalen Gewichte
  153. break # Stoppe, wenn alle Ausgaben korrekt sind
  154.  
  155. if network_trained:
  156. break # Das Netzwerk hat jetzt gelernt
  157.  
  158. # Ausgabe der Ergebnisse nach der Anpassung des Bias
  159. print(f"Total Iterationen: {epoch}")
  160. print(f"Startgewichte: {start_weights}")
  161. print(f"Endgewichte: {final_weights}")
  162. print(f"Endgültiger Bias: {bias}")
  163.  
  164. # Prüfen, ob das Netzwerk die Tabelle erfolgreich gelernt hat
  165. if network_trained:
  166. print(f"\nDas Netzwerk hat Wahrheitstabelle {table_index} erfolgreich gelernt!")
  167. print(f"Startgewichte: {start_weights}")
  168. print(f"Endgewichte: {final_weights}")
  169. print(f"Endgültiger Bias: {bias}")
  170.  
Success #stdin #stdout 1.97s 28904KB
stdin
Standard input is empty
stdout
=== Wahrheitstabelle 1: Targets = (0, 0, 0, 0) ===
Das Netzwerk hat Wahrheitstabelle 1 erfolgreich nach 1 Iterationen gelernt.
Startgewichte: [3.68367985 0.63864971]
Endgewichte: [3.68367985 0.63864971]
Endgültiger Bias: 0.0

=== Wahrheitstabelle 2: Targets = (0, 0, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 2 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Total Iterationen: 34
Startgewichte: [3.92606544 0.36381429]
Endgewichte: [-2.36971107  3.30110796]
Endgültiger Bias: 0.1

Das Netzwerk hat Wahrheitstabelle 2 erfolgreich gelernt!
Startgewichte: [3.92606544 0.36381429]
Endgewichte: [-2.36971107  3.30110796]
Endgültiger Bias: 0.1

=== Wahrheitstabelle 3: Targets = (0, 0, 1, 0) ===
Das Netzwerk hat Wahrheitstabelle 3 erfolgreich nach 1 Iterationen gelernt.
Startgewichte: [0.80534631 3.09583821]
Endgewichte: [0.80534631 3.09583821]
Endgültiger Bias: 0.0

=== Wahrheitstabelle 4: Targets = (0, 0, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 4 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Total Iterationen: 8
Startgewichte: [1.68991371 1.71796509]
Endgewichte: [ 0.52317671 -0.12089582]
Endgültiger Bias: 0.5

Das Netzwerk hat Wahrheitstabelle 4 erfolgreich gelernt!
Startgewichte: [1.68991371 1.71796509]
Endgewichte: [ 0.52317671 -0.12089582]
Endgültiger Bias: 0.5

=== Wahrheitstabelle 5: Targets = (0, 1, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 5 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Total Iterationen: 14
Startgewichte: [-0.84744397  0.30714718]
Endgewichte: [-2.58869153  0.8267854 ]
Endgültiger Bias: 0.1

Das Netzwerk hat Wahrheitstabelle 5 erfolgreich gelernt!
Startgewichte: [-0.84744397  0.30714718]
Endgewichte: [-2.58869153  0.8267854 ]
Endgültiger Bias: 0.1

=== Wahrheitstabelle 6: Targets = (0, 1, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 6 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Total Iterationen: 135
Startgewichte: [-1.63205924 -0.65468108]
Endgewichte: [0.05978604 0.90648163]
Endgültiger Bias: 0.2

Das Netzwerk hat Wahrheitstabelle 6 erfolgreich gelernt!
Startgewichte: [-1.63205924 -0.65468108]
Endgewichte: [0.05978604 0.90648163]
Endgültiger Bias: 0.2

=== Wahrheitstabelle 7: Targets = (0, 1, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 7 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Total Iterationen: 67
Startgewichte: [-3.99286766  2.82405701]
Endgewichte: [0.47374551 0.29231352]
Endgültiger Bias: 0.7000000000000001

Das Netzwerk hat Wahrheitstabelle 7 erfolgreich gelernt!
Startgewichte: [-3.99286766  2.82405701]
Endgewichte: [0.47374551 0.29231352]
Endgültiger Bias: 0.7000000000000001

=== Wahrheitstabelle 8: Targets = (0, 1, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 8 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Total Iterationen: 81
Startgewichte: [ 2.8698787  -2.20016397]
Endgewichte: [0.24197642 0.20347886]
Endgültiger Bias: 0.7000000000000001

Das Netzwerk hat Wahrheitstabelle 8 erfolgreich gelernt!
Startgewichte: [ 2.8698787  -2.20016397]
Endgewichte: [0.24197642 0.20347886]
Endgültiger Bias: 0.7000000000000001

=== Wahrheitstabelle 9: Targets = (1, 0, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 9 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 1
Startgewichte: [-3.74575088 -1.5001932 ]
Endgewichte: [-1.06808588 -0.15927497]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 9 erfolgreich gelernt!
Startgewichte: [-3.74575088 -1.5001932 ]
Endgewichte: [-1.06808588 -0.15927497]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 10: Targets = (1, 0, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 10 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 3
Startgewichte: [ 3.66753972 -1.9019058 ]
Endgewichte: [-1.35809034  1.26856449]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 10 erfolgreich gelernt!
Startgewichte: [ 3.66753972 -1.9019058 ]
Endgewichte: [-1.35809034  1.26856449]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 11: Targets = (1, 0, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 11 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 12
Startgewichte: [-0.49599644 -0.74804379]
Endgewichte: [-0.02545166  0.41361151]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 11 erfolgreich gelernt!
Startgewichte: [-0.49599644 -0.74804379]
Endgewichte: [-0.02545166  0.41361151]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 12: Targets = (1, 0, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 12 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Versuch mit Bias 1.0:
Versuch mit Bias 1.1:
Versuch mit Bias 1.2000000000000002:
Versuch mit Bias 1.3000000000000003:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 1.3:
Versuch mit Bias 1.2:
Versuch mit Bias 1.0999999999999999:
Versuch mit Bias 0.9999999999999998:
Versuch mit Bias 0.8999999999999997:
Versuch mit Bias 0.7999999999999996:
Versuch mit Bias 0.6999999999999995:
Versuch mit Bias 0.5999999999999994:
Versuch mit Bias 0.49999999999999933:
Versuch mit Bias 0.39999999999999925:
Versuch mit Bias 0.29999999999999916:
Versuch mit Bias 0.19999999999999907:
Versuch mit Bias 0.09999999999999898:
Versuch mit Bias -1.1102230246251565e-15:
Versuch mit Bias -0.1000000000000012:
Versuch mit Bias -0.2000000000000013:
Versuch mit Bias -0.3000000000000014:
Versuch mit Bias -0.40000000000000147:
Versuch mit Bias -0.5000000000000016:
Versuch mit Bias -0.6000000000000016:
Versuch mit Bias -0.7000000000000017:
Versuch mit Bias -0.8000000000000018:
Versuch mit Bias -0.9000000000000019:
Versuch mit Bias -1.000000000000002:
Versuch mit Bias -1.100000000000002:
Versuch mit Bias -1.2000000000000022:
Versuch mit Bias -1.3000000000000023:
Total Iterationen: 200
Startgewichte: [-1.0516473   1.46473737]
Endgewichte: None
Endgültiger Bias: -1.3000000000000023

=== Wahrheitstabelle 13: Targets = (1, 1, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 13 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 11
Startgewichte: [3.96263324 1.45110369]
Endgewichte: [-1.90488091  0.14222041]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 13 erfolgreich gelernt!
Startgewichte: [3.96263324 1.45110369]
Endgewichte: [-1.90488091  0.14222041]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 14: Targets = (1, 1, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 14 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Versuch mit Bias 1.0:
Versuch mit Bias 1.1:
Versuch mit Bias 1.2000000000000002:
Versuch mit Bias 1.3000000000000003:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 1.3:
Versuch mit Bias 1.2:
Versuch mit Bias 1.0999999999999999:
Versuch mit Bias 0.9999999999999998:
Versuch mit Bias 0.8999999999999997:
Versuch mit Bias 0.7999999999999996:
Versuch mit Bias 0.6999999999999995:
Versuch mit Bias 0.5999999999999994:
Versuch mit Bias 0.49999999999999933:
Versuch mit Bias 0.39999999999999925:
Versuch mit Bias 0.29999999999999916:
Versuch mit Bias 0.19999999999999907:
Versuch mit Bias 0.09999999999999898:
Versuch mit Bias -1.1102230246251565e-15:
Versuch mit Bias -0.1000000000000012:
Versuch mit Bias -0.2000000000000013:
Versuch mit Bias -0.3000000000000014:
Versuch mit Bias -0.40000000000000147:
Versuch mit Bias -0.5000000000000016:
Versuch mit Bias -0.6000000000000016:
Versuch mit Bias -0.7000000000000017:
Versuch mit Bias -0.8000000000000018:
Versuch mit Bias -0.9000000000000019:
Versuch mit Bias -1.000000000000002:
Versuch mit Bias -1.100000000000002:
Versuch mit Bias -1.2000000000000022:
Versuch mit Bias -1.3000000000000023:
Total Iterationen: 200
Startgewichte: [-1.18489968  2.81439668]
Endgewichte: None
Endgültiger Bias: -1.3000000000000023

=== Wahrheitstabelle 15: Targets = (1, 1, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 15 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Versuch mit Bias 1.0:
Versuch mit Bias 1.1:
Versuch mit Bias 1.2000000000000002:
Versuch mit Bias 1.3000000000000003:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 1.3:
Versuch mit Bias 1.2:
Versuch mit Bias 1.0999999999999999:
Versuch mit Bias 0.9999999999999998:
Total Iterationen: 61
Startgewichte: [ 0.49713619 -2.56586751]
Endgewichte: [-0.10940698 -0.17321485]
Endgültiger Bias: 0.9999999999999998

Das Netzwerk hat Wahrheitstabelle 15 erfolgreich gelernt!
Startgewichte: [ 0.49713619 -2.56586751]
Endgewichte: [-0.10940698 -0.17321485]
Endgültiger Bias: 0.9999999999999998

=== Wahrheitstabelle 16: Targets = (1, 1, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 16 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Versuch mit Bias 1.0:
Versuch mit Bias 1.1:
Versuch mit Bias 1.2000000000000002:
Versuch mit Bias 1.3000000000000003:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 1.3:
Versuch mit Bias 1.2:
Versuch mit Bias 1.0999999999999999:
Versuch mit Bias 0.9999999999999998:
Total Iterationen: 187
Startgewichte: [-2.29098941 -1.1818007 ]
Endgewichte: [-0.07567081  0.07129935]
Endgültiger Bias: 0.9999999999999998

Das Netzwerk hat Wahrheitstabelle 16 erfolgreich gelernt!
Startgewichte: [-2.29098941 -1.1818007 ]
Endgewichte: [-0.07567081  0.07129935]
Endgültiger Bias: 0.9999999999999998