Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 31 bis 45 von 52

Thema: [RL] ML angewandt - Werde eins mit der KI!

  1. #31
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Nun das Wissen kurz umgesetzt und schon gehts los.
    Auf dem Trainingsset erreichen wir noch 3000 Iterationen die 80% Trefferquote, auf dem Validationset 77%. Das Validationsset ist langfristig das eigentlich spannendere da es zeigt welche Trefferquote unser Netz auf Daten erreicht die es nie gesehen hatte. Dass es auf dem Trainingsset einfacher ist richtig zu liegen läge in der Natur der Sache.

    Zwar hat Chat-gpt im Prinzip schon das meiste irgendwo erklärt, aber um noch einmal den Unterschied zwischen loss und acc herauszuarbeiten. Loss enthält auch eine Gewichtung der Wahrscheinlichkeiten.
    Bin ich mir beispielsweise zu 60% sicher dass ein Ereignis eintritt und dies wird bestätigt. Dann würde ich dennoch einen loss haben da dieser erst zufrieden wäre wenn ich dies auch mit 100% Sicherheit vorhergesagt hätte.
    Die Accuracy ist hingegen sehr einfach, entweder ich liege richtig oder nicht, in diesem Fall lag ich richtig also hätte ich 100% Accuracy.
    Da aber für den Wettbewerb keine Wahrscheinlichkeiten sondern konkret überlebt oder nicht-überlebt ausgegeben werden soll ist hier Accuracy das treffendere Maß für unser Endziel.


    Bild


    Ich habe aber noch alle Werte gespeichert und in ein einfaches Diagramm übertragen um einen besser Überblick zu haben.

    Kurz nach der Initialisierung sieht man direkt eine Verbesserung vom loss auf beiden Sets. Auch die Accuracy springt von 40 auf 60%. Danach tut sich eine zeit lang nichts bei der Accuracy und auch der loss verbessert sich eher langsam. Dann um die 2200ste Iteration herum verbessert sich der loss plötzlich wieder stärker und die Accuracy verbessert sich noch einmal deutlich in den oberen 70iger Bereich. Danach verbessert sich das System noch langsam.
    Der Trainingsloss sinkt im Prinzip permanent, aber der Validationsloss hat sein Minimum kurz vor der 10000sten Iteration erreicht. Danach steigt er wieder leicht was wohl an einem leichter überfitten der Daten liegt. Auch an der Accuracy sieht man dass die auf dem Validationsset bei 10000 noch ähnlich ist wie beim Trainingsset aber danach beginnen diese etwas auseinander zu laufen.


    Bild


    Mit anderen Worten 80% Treffergenauigkeit ist das was wir so erreichen können. Am besten war unser Netz ungefähr bei der 10000sten Iteration danach hat es staggniert.

    Im Prinzip könnten wir noch Chat-gpt testen ob es diese Effekte zu deuten verstünde. Oder aber wir könnten die Aufgabe erst mal als erfolgreich erledigt ansehen und nun die Prognosen auf dem Testset machen bzw. Prognosen für selbsterstellte Passagiere.
    Angehängte Grafiken Angehängte Grafiken

  2. #32
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Nun unser eigentlich Ziel war es eine Einreichung bei dem Wettbewerb zu machen. Dann fragen wir nach.

    Die Antwort ist richtig.
    Für dieses Datenset ist ein Titanicdataset und auch ein Trainloader mit Batchsize overkill da eh alle Daten auf einmal reinpassen aber vielleicht pädagogisch nicht falsch um auf später vorzubereiten.


    Bild


    Bild


    Bild


    Wie auch immer für unsere Zwecke reichen auch diese Zeilen aus seinem Code aus:
    test_probs = model(x_test)
    test_preds = (test_probs >= 0.5).long()
    test_preds = test_preds.flatten()

    passenger_ids = kopie_test_df['PassengerId'].tolist()
    submission_df = pd.DataFrame({'PassengerId': passenger_ids, 'Survived': test_preds})
    submission_df.to_csv('submission.csv', index=False)

    Und dann können wir es einreichen.
    Angehängte Grafiken Angehängte Grafiken

  3. #33
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Erfolg!
    Wir erreichen einen Score von 77,511%. Das bringt uns unter die ersten 8000.


    Bild


    Zwar könnte man das sicher noch etwas optimieren, aber nun wird es nun Zeit für die virtuellen Forums Passagiere. Wer traut sich sein Schicksaal auf der Titanic herauszufordern?

  4. #34
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Mutig stelle ich mich der Herausforderung. Zur Erinnerung was die Werte bedeuten.

    Ich hoffe auf ein spannendes Ergebnis, der Code dafür ist im Prinzip bekannt:
    Bild

    39,1% sieht in der Tat recht knapp aus.

    Da es an der Grenze ist, hat jede kleine Änderung der Parameter sofort einige Auswirkungen. Ich sehe wie erwartet dass selbst der Einstiegsort oder das ändern des Familienanhangs kann das Ergebnis noch auf 50% hoch schnellen lassen. Bei einem alten Mann aus der dritten Klasse wären solche Änderungen hingegen irrelevant der ist so oder so fast immer tot.

    Ein Ändern der Klasse für Talamar führt beispielsweise hingegen zu 87% bzw. 99% iger Rettung. Tja als Prinzesschen müsst man geboren sein.
    Natürlich sind das erst-mal nur Korrelationen was Kausalitäten sind darüber müssten wir uns schon selber Gedanken machen.
    Angehängte Grafiken Angehängte Grafiken

  5. #35
    Registrierter Benutzer
    Registriert seit
    24.01.17
    Beiträge
    4.200
    Super spannend, auch wenn ich nicht alles verstehe.

    Meine Familie möchte gerne in der zweiten Klasse mit minimal gefälschten Daten:
    Mann 35
    Frau 40
    Junge 2

    SibSP jeweils 2

    Parch: Immer ja

    Fare: Kannst du das ausfüllen mit dem gemittelten Wert für die zweite Klasse?

    Embarked: Frankreich

  6. #36
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Alles klar, die Tickets in den Klassen:
    Erste Klasse ab 30 aufwärts - meist 60
    Zweite Klasse ab 13 aufwärts - meist 15
    Dritte Klasse ab 7 aufwärts, meist 8

    Dann loggen wir mal 15 Pfund ein.

    Die Inputparameter wären dann so korrekt?
    hundepriester35 = [2, 0, 35, 1, 1, 15, 1]
    hundepriester40 = [2, 1, 35, 1, 1, 15, 1]
    hundepriester2 = [2, 0, 2, 0, 2, 15, 1]


    Bild


    Sieht aus als hätten wir zwei gute und eine schlechte Nachricht.
    Hoffentlich bleibt der kleine bei der Mama.
    Angehängte Grafiken Angehängte Grafiken

  7. #37
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Zum Einreichen wird uns gratuliert. Die Wahrscheinlichkeit bei Talamar hatten sich leicht geändert weil ich die Gewichte der Neuronen nicht abgespeichert hatte und noch einmal neutrainiert hatte. Aber auch dass ist natürlich nun gelöst. Auch hier hätte unser Freund und Helfer uns sofort helfen können.


    Bild


    Bild


    Insgesamt brauche ich aber so Kleinigkeiten eigentlich nicht mehr zu fragen. Die schafft er eh mit bravour.
    Wie schätzt ihr meinen Test ein? War er fair?

    Wäre die KI ein Student dann wäre es einer die wirklich alles gelesen und auswendig gelernt haben. Allerdings haben sie den Stoff (noch) nicht so verarbeit dass ihnen alle die Zusammenhänge klar sind und zusätzlich dass er manchmal das viele Wissen etwas durcheinander bringt und man nachhaken muss. Aber mit Nachfragen kommt er aber auf die richtigen Lösungen.
    Und natürlich hatte er aber null Syntax oder Rechtschreibfehler.
    Angehängte Grafiken Angehängte Grafiken

  8. #38
    Wolf im Krokodilpelz Avatar von Mongke Khan
    Registriert seit
    25.06.11
    Ort
    KA
    Beiträge
    19.039
    Das war jetzt ein bekanntest Datenset, sagtest du? Das heißt, die Codeschnipsel fliegen so oder ähnlich irgendwo durchs Netz? Ne kreative Aufgabe wäre spannend als Vergleich.

  9. #39
    Registrierter Benutzer
    Registriert seit
    24.01.17
    Beiträge
    4.200
    Zitat Zitat von Talamar Beitrag anzeigen
    Alles klar, die Tickets in den Klassen:
    Erste Klasse ab 30 aufwärts - meist 60
    Zweite Klasse ab 13 aufwärts - meist 15
    Dritte Klasse ab 7 aufwärts, meist 8

    Dann loggen wir mal 15 Pfund ein.

    Die Inputparameter wären dann so korrekt?
    hundepriester35 = [2, 0, 35, 1, 1, 15, 1]
    hundepriester40 = [2, 1, 35, 1, 1, 15, 1]
    hundepriester2 = [2, 0, 2, 0, 2, 15, 1]


    Bild


    Sieht aus als hätten wir zwei gute und eine schlechte Nachricht.
    Hoffentlich bleibt der kleine bei der Mama.
    Oha, mit 8% bin ich ja ziemlich sicher weg vom Fenster Naja, der Familienname lebt immerhin weiter!

  10. #40
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Tja da lässt sich wohl wenig machen. Für ein nachträgliches Upgrade vom Ticket ist es wohl zu spät.


    Zitat Zitat von Mongke Khan Beitrag anzeigen
    Das war jetzt ein bekanntest Datenset, sagtest du? Das heißt, die Codeschnipsel fliegen so oder ähnlich irgendwo durchs Netz? Ne kreative Aufgabe wäre spannend als Vergleich.

    Oh meine Frage bezog sich erst mehr auf meine Gesprächsführung. Sie sollte im westlichen eine klare, eher akademische Sprache sein wie sie mit Studenten vorkommen könnte. Sowie auf Unklarheiten oder Fehler reagiert und eine Chance mit Nachfragen gibt.

    Also das Datenset der Titanic ist gar nicht so wichtig, die Transferleistung wäre sicher kein großes Problem gewesen, ich habe es aus menschlichen Gründen als Aufhänger genommen da ich es als interessaner Empfinde als Beispielsweise die Entwicklung der Bananenpreise im Abhängigkeit von Temperatur und Niederschlag.
    Nehmen wir dieses fiktive Beispiel von einem Civforum was er sicher nicht aus dem Netz kennen kann:


    Bild


    Zur Qualität der Antwort und um einen Vergleich zum Menschen zu erzielen muss man wissen dass die KI gezwungen wird zu antworten selbst wenn sie sich nicht sonderlich sicher ist, sie soll auch wenn möglich keine Rückfragen stellen. Ein normaler Menschen dürfte ja Fragen was ist genau ein Civforum oder Goethe? Es wird auch nicht gesagt wer überhaupt befördert wird.

    1. Durch "Civforum" erschließt sie sich dass es wahrscheinlich User/Benutzer sind. Dass die Namen keine nennenswerte Bedeutung haben wie in den meisten Sets auch wenn sie nicht ausschließen kann dass „GoEtHe_IsT-dOoF“ als Name sich negativ auf die Chance auswirken könnte. Ein Mensch würde vielleicht bitten erstmal das Datenset zu sehen.
    2. An „Anzahl“ bei Beiträgen und bei Verwarnungen erschließt sie sich dass wahrscheinlich dass es ein numerischer Wert ist und keiner weiteren Umwandlung bedarf, maximal eine Normalisierung z.B. zwischen 0 und 1.
    3. Bei Beziehung zu Goethe vermutet sie hingegen dann, dass es noch Wörter wie „befreundet“, „feindselig“, „neutral“ sein könnten, aber letztlich kann sie nicht wissen ob der Verhältnis nicht schon auf einer Skala von 1 bis 5 bewertet wurde. Dürfte sie nachfragen müsste sie nicht vermuten.

    Dürfte sie ihre Unsicherheit direkt ausdrücken würde es ein sehr langer Text werde der jede Implikation, Vorurteil und Unsicherheit derer sich die Menschen sich meist kaum bewusst sind behandeln müsste. Das würde niemand lesen wollen.
    Maschinelle Präzision vs menschliche Effizienz mit alle ihren Vorurteilen und Implikationen sind nur begrenzt auflösbar. Hier sollte man sich tendenziell einen Menschen unter Druck in einer "Wer wird Millionär" oder "Prüfungssituation" vorstellen. Wobei man da ja in begrenzter weise noch Rückfragen halten darf und man nur begrenzt gezwungen ist längere Antworten zu geben aber es kann als Vergleich sicher helfen.


    Machen wir noch eine Codestichprobe:


    Bild


    Was auffällt dieses Mal hat sie vermutlich auf unsere vorherigen Gespräche reagiert.
    1. Sie stellt von vornerein klar dass wir 1-Output Neuron in der letzten Ebene und Sigmoid statt 2 und Softmax verwenden sollten. Offenbar ist ihr noch bewusst dass es da Unklarheit gab. Auch wenn die von unserer Seite eher gespielt war.
    2. Es gab auch Inkonsistenzen bei der Anzahl der relevanten Inputfeatures/Spalten. Ihr erinnert euch dass bei bei der Titanic es in der Regel 6 oder 7 waren jenachdem ob man noch den Zustiegsort mitnimmt und es daher Verwirrung gab. In diesem fiktivem Beispiel hat sie die frühere Kritik/Unsicherheit dadurch gelöst das es jetzt einfach eine Variable ist: "input_size"
    3. Dropout - Um die Gefahr des Überfitten zu reduzieren hat sie potentiell die noch Regularisierung durch Dropout hinzugefügt. Hier kann man ein wenig spekulieren. Bei der Titanic war es eher so gerade nicht nötig da Validation und Training nur leicht und bei extrem vielen Iterationen auseinander liefen. Bei diesem unbekannten Forumsdatensatz müsste sie wissen ob es eher 1000+ User sind was es eher noch unnötig machen würde oder nur eine Tabelle mit 50 Usern. Generell müsste sie auch abwägen ob ich eher ein Anfänger bin der nur einfachen Code sehen möchte zum Verstehen oder ein Fortgeschrittener wäre dem man auch schon die Feinheiten liefern sollte. Ich würde vermuten je länger das Gespräch desto höher ist die Wahrscheinlichkeit dass sie davon ausgeht auch Feinheiten in den Code einbauen zu sollen. Beispielweise sind die Anzahl der Neuronen weiterhin mit 64 und 32 gehardcoded. Das ist eigentlich eher unüblich und würde man nur bei Anfängern machen.
    Angehängte Grafiken Angehängte Grafiken

  11. #41
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Bild


    Hier muss man natürlich fairerweise sagen dass bei der zweiten Frage schon ein wenig an die Grenze gegangen bin und schon etwas sugeriert hatte mit der Nachfrage. War jetzt eher ein Test ob er dann darauf richtig anspringt.
    Angehängte Grafiken Angehängte Grafiken

  12. #42
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Insgesamt sicher ein nettes Werkzeug aber natürlich kein Ersatz für Wikipeadia" beispielsweise. Zumindest nicht zum jetzigem Zeitpunkt. Und dafür ist es natürlich auch nicht wirklich gedacht. In den meisten Tests die ich so gesehen hatte habe ich den Eindruck dass man versucht, wie effizient ein Schraubenzieher zum Nägel einschlagen ist. Interessant keine Frage, aber Versuche es angemessen im Sinne seiner Konstruktion einzusetzen haben hoffentlich auch was.

  13. #43
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Das könnte noch zum Verständnis beitragen. Immerhin sind da auch einige hartkodierte Regeln preisgegeben.

    https://the-decoder.com/student-hack...ch-aka-sydney/


    Oder im Orginal:
    Achtung Spoiler:

    Bild

    Bild

    Bild

    Bild
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg 1.jpg (123,7 KB, 46x aufgerufen)
    • Dateityp: jpg 2.jpg (123,1 KB, 46x aufgerufen)
    • Dateityp: jpg 3.jpg (147,6 KB, 47x aufgerufen)
    • Dateityp: jpg 4.jpg (138,6 KB, 47x aufgerufen)

  14. #44
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Wie gut war eigentlich unsere Lösung mit 77,5%? Ich war noch auf diese Übersicht gestoßen. Man muss wissen das unser Netz am ehesten einer etwas erweiterten logistischen Regression entspricht. Natürlich haben wir uns nicht zu viel Mühe in weitere Verbesserungen gesteckt, allein schon mehrere Einreichungen können den Score verbessern. Man kann sich schließlich nicht verschlechtern mit weiteren Versuchen. Insgesamt sehen wir dass wir im Rahmen des erwarteten liegen und daher wohl alles richtig gemacht hatten... noch Zweifel da waren.

    Bei diesem Datenset hätte man mit Support Vektor Maschinen noch besser abschneiden können. Das ist vereinfacht gesagt eine Maschine Learning Methode die besonders gut darin ist zwei Datenmengen von einander zu trennen.
    Neuronale Netze brillieren eigentlich erst bei deutlich komplexeren Aufgaben.


    Bild
    Angehängte Grafiken Angehängte Grafiken

  15. #45
    Registrierter Benutzer Avatar von Talamar
    Registriert seit
    18.10.09
    Ort
    Köln
    Beiträge
    9.262
    Ansonsten habe ich noch weitere Gespräche mit unseren Freund geführt wo es mehr ums Verständnis ging.
    Beispielsweise warum er nicht Dense/Dichte Ebenen für dieses Problem genutzt hatte. Wann man Convolutions- oder Residual-Ebenen einsetzen würde. Welche Formen der Regularisierung es gibt und was dessen Vor- und Nachteile sind
    Ich denke ist es nicht zielführend das alles hier zu zeigen.

    Solange ich keinen Unsinn redet redete er auch keinen Unsinn. Offenbar hat er aber manchmal ein Problem damit zu widersprechen. (Das ist weniger ein Problem der Technologie sondern des Trainings oder gar dieser "externen Erziehung")
    An dieser Stelle war ich mit ihm über die Vor- und Nachteile von L2 und Dropout Regularisierung vertieft. Ich hakte nach der ersten Frage nach. Danach kam mir die Idee die gleiche Frage noch einmal zu stellen nur dieses Mal falsch in dem ich einfach Dropout durch L2 ersetzte.


    Bild


    Bei der ersten richtigen bestätigt er uns sofort. Bei der zweiten falschen wo ich nur Dropout durch L2 ersetzte traut er sich nicht uns zu widersprechen aber will natürlich auch nicht bestätigen.


    Bild
    Angehängte Grafiken Angehängte Grafiken

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •