Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
talit:neuronale_netze_kurs [2025-07-01 05:39] – [1. Plan] hoftalit:neuronale_netze_kurs [2025-07-02 11:00] (aktuell) – [1. Plan] hof
Zeile 21: Zeile 21:
 |MI Morgen| Recap: Neuronale Netze Programmieren | |MI Morgen| Recap: Neuronale Netze Programmieren |
 |:::| weiter an Aufgaben | |:::| weiter an Aufgaben |
-|MI Nachmittag| weiter an Aufgaben +|MI Nachmittag| Neuronale Netzwerke mit Tensorflow 
-|DO Morgen| Neuronale Netzwerke mit Tensorflow |+|DO Morgen| weiter an Aufgaben |
 |DO Nachmittag| Buffer | |DO Nachmittag| Buffer |
  
Zeile 39: Zeile 39:
  
 ==== Repos ==== ==== Repos ====
-<nodisp 2>+<nodisp 1>
 ++++Hide| ++++Hide|
    * [[https://github.com/tkilla77/ksr_talenta_nn|github.com/tkilla77/ksr_talenta_nn]]    * [[https://github.com/tkilla77/ksr_talenta_nn|github.com/tkilla77/ksr_talenta_nn]]
Zeile 68: Zeile 68:
 **Tipps:** **Tipps:**
  
-   * CSV-File einlesen:+   * **CSV-File einlesen:**
  
 <code python> <code python>
Zeile 87: Zeile 87:
  
    * Achtung: Liest man File ein, werden Zahlen typischerweise als Text interpretiert. Daher muss man diese noch in ints umwandeln. Mit *List Comprehensions* geht dies sehr einfach.    * Achtung: Liest man File ein, werden Zahlen typischerweise als Text interpretiert. Daher muss man diese noch in ints umwandeln. Mit *List Comprehensions* geht dies sehr einfach.
 +
 +   * **Numpy-Arrays in File speichern und laden** (z.B. Liste mit Gewichtsmatrizen):
 +
 +<code python>
 +import numpy as np
 +
 +# SAVE LIST OF NP ARRAYS
 +array_list = [np.array([1, 2, 3]), np.array([[4, 5], [6, 7]]), np.array([8, 9, 10, 11])]
 +object_array = np.array(array_list, dtype=object)
 +np.save('array_list.npy', object_array)
 +
 +# LOAD INTO LIST OF NP ARRAYS
 +loaded_array_list = np.load('array_list.npy', allow_pickle=True)
 +loaded_array_list = list(loaded_array_list)
 +</code>
  
 ==== Aufgabe 2 ==== ==== Aufgabe 2 ====
Zeile 152: Zeile 167:
    * Besprich deine Lösung mit dem Lehrer.    * Besprich deine Lösung mit dem Lehrer.
  
 +<code python>
 +# Stuktur:
 +class Network:
 +    def __init__(self, input_neurons, hidden_neurons, output_neurons):
 +        # Variablen für Anz. Neuronen definieren
 +        # Gewichtsmatrizen erzeugen (zufällige Werte)
 + 
 +    def feedforward(self, x):
 +        # hidden Layer h aus Eingangswerten x und Gewichtsmatrix wA berechnen. 
 +        # output Layer y  aus Ausgangswerten y und Gewichtsmatrix wB berechnen.
 +        # beides (h und y) zurückgeben.
 + 
 +    def test(self, data_list):
 +        # data_list Zeile für Zeile durchgehen: 
 +        # Target-Wert auslesen und Target-Vektor erstellen,
 +        # Einangswerte auslesen und Eingangs-Vektor erstellen. --> read_data
 +        # Hidden- und Output-Werte aus Eingangswerten berechnen --> feedforward
 +        # Ausgangswert mit Eingangswert vergleichen, korrekte Resultate zählen
 +        # Erfolgsquote zurückgeben.
  
 +    def train(self, data_list):
 +    # data_list Zeile für Zeile durchgehen:
 +    # Target-Wert auslesen und Target-Vektor erstellen,
 +        # Einangswerte auslesen und Eingangs-Vektor erstellen. --> read_data
 +        # Hidden- und Output-Werte aus Eingangswerten berechnen --> feedforward
 +        # Fehler auf Output-Layer berechnenen (Target - Output)
 +        # Fehler auf Hidden-Layer berechnen  (Fehler auf Output dot wB)
 +        # Gewichtsmatrizen wA und WB aktualisieren (siehe Folie "Zusammenfassung")
 + 
 +# Erstelle ein Netzwerk für das Toy-Problem:
 +toy_net = Network(4, 3, 2)
 +# Datenliste aus CSV auslesen und:
 +# Testen (Erfolg für Toy-Problem ca. 50 %)
 +# Trainieren 
 +# Testen (Erfolg hoffentlich ca. 90 %)
 +</code>
 ==== Aufgabe 4 ==== ==== Aufgabe 4 ====
  
  • talit/neuronale_netze_kurs.1751348373.txt.gz
  • Zuletzt geändert: 2025-07-01 05:39
  • von hof