PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übersicht Statistik/Machine Learning/künstliche Intelligenz


urpils
2022-05-01, 16:30:23
Hallo!

mir kommen ständig sehr konkrete und spezielle Artikel und Paper in die Hände, die ganz bestimmte Eckpfeiler der Dateninterpreation aufgreifen. Häufig Machine-Learning und Deep Learning.

Das sind ja aber auch nur bestimmte Untergruppen von Untergruppen von Methoden, um Zusammenhänge zwischen Daten zu erkennen.

Gibt es irgendwo eine Übersicht, die das Ganze wirklich von oben herab strukturiert einordnet und die verschiedenen Stärken und Schwächen der unterschiedlichen Methoden gegenüberstellt und ggf. sogar quantifiziert?

Ich kann ja Zusammenhänge statistisch durch Regressionsanalysen klassisch algorithmisch löschen. Eine Alternative zu klassischen Algorithmischen Analysen ist ja die "künstliche Intelligenz" in all ihren Ausprägungen.

Ich weiß, dass es verschiedene Subkategorien gibt: überwachtes Lernen, unbewachtes Lernen, teilüberwachtes Lernen, usw...

und ich weiß, dass Dinge wie Deep Learning eine bestimmte Art von maschinellem Lernen im teilüberwachten Lernen darstellt... aber so wirklich den Überblick habe ich dennoch nicht.

Gibt es da etwas "schönes" für jemanden, der sich einfach nur als Hobby dafür interessiert? weder studiere ich Mathematik noch bin ich in der Datenanalyse als "Nutzer" unterwegs. Ich möchte einfach nur die Zusammenhänge und das große Bild in allen seinen Ausprägungen erfassen können :)

Monger
2022-05-01, 20:34:31
Falls jemand ne ähnliche Übersicht für die klassische Softwareentwicklung findet, wüsste ich das auch gerne. Danach suche ich nämlich seit 20 Jahren ;D

Leonidas
2022-05-09, 05:47:25
Push!

urpils
2022-05-14, 08:37:01
niemand? - sehr schade.. ich würde dann mal mein Verständnis bisher zusammenfassen und würde mich um Korrekturen, Erklärungen und Ergänzungen sehr freuen:

letztlich handelt es sich ja immer um einen Versuch, Zusammenhänge zu erkennen und beschreiben. Also die quantifizierende Präsentation von "Wissen". Das könnte in Form von Logik passieren, aber was mich interessiert ist der erweiterte Bereich der Statistik: also den Analyse-Methoden, die uns zur Verfügung stehen, um Zusammenhänge zu erkennen, beschreiben und quantifizieren.

Ich würde das erstmal einteilen:
1. klassisch algorithmische Ansätze der klassischen Mathematik: Analysis, Stochastik und lineare Algebra? (bin kein Mathematiker - falls ich hier völlig bescheuerte Zusammenhänge erdenke: bitte korrigiert mich!)
2. "moderne" Verfahren, die zwar prinzipiell auch algorithmisch sind, jedoch aufgrund ihres Umfanges/Komplexität nur durch Computer sinnvoll zu nutzen sind ("machine Learning", "KI",...)

Zu Teilgebiet 1) würd ich zählen:
- Wahrscheinlichkeitstheorien
- Verteilungen
- klassische Statistik (nach Wikipedia handelt es sich hier um: Schätztheorie, Hypothesentests, Regressions- und Varianzanalyse, Bayes' Statistik)

zu Teilgebiet 2) suche ich eine hierarchische Struktur, sofern es diese überhaupt geben kann:
sind alle Machine-Learning-Verfahren / KI-Verfahren basierend auf neuronalen Netzen? oder geht das auch anders?

Neurone Netzte können WIE unterteilt werden?

Eine Form von neuronalen Netzen sind "Machine Learning"?

hier kenne ich die Subunterteilung in:
a) überwachtes Lernen (was fällt hierunter?)
b) unüberwachtes Lernen (was fällt hierunter?)
c) teilüberwachtes Lernen (was fällt hierunter? das müsste doch der große Teil des Deep-Learning sein? also auch diese Buzzwords wie "convolunional neutral networks"?)

welche Eigenschaften haben die verschiedenen Arten von neuronalen Netzen, Machine-Learning, Deep-Learning,...?

wie werden diese im großen Bereich der Mathematik eingeordnet? was hat es mit Verstärkung zu tun? welche Formen der Wahrscheinlichkeitsrechnung werden wo eingesetzt? klassisch frequentistische Statistik? Bayes-Statistik? Wo/wie passen die diversen Klassifikationsverfahren dort rein?

Wie / wo ist hier Regressionsanalyse einzuordnen und wieso?

ich würde das Ganze wirklich gerne besser für mich einordnen und verstehen können, finde aber alles was ich so bisher gefunden habe zu speziell, als dass ich dieses übergeordnete Verständnis finden würde...

Tobalt
2022-05-14, 09:20:39
Wenn du 3 punkte hast und möchtest eine gerade dranfitten hast du zwei parameter (Geradengleichung: ax+b) und 3 punkte. also ist keine exakte Lösung möglich sondern nur eine Schätzung aka Fit.

ein schritt komplexer du hast eine studie mit 100 Objekten und jedes hat 6 Eigenschaften. Der Datenraum ist also 6 dimensional und du suchst nach der funktion wie eigenschaft Nr. 3 von den anderen abhängt. Die Funktion kann man evtl. mit 30 freien Parametern beschreiben. Dies kann man immernoch gut numerisch fitten. D.h. ein globales Minimum suchen.

In der Natur ist der Datenraum aber enorm komplex, hat 1000e oder Millionen Dimensionen und verzwickte Abhängigkeiten. Dort hat sich nun gezeigt dass man mit weniger Rechenaufwand gute Lösungen findet, wenn man nicht alle Parameter in eine Fitfunktion steckt, sondern wenn man einen Teil dazu nutzt aus den Daten erstmal ein immernoch hochdimensionales Zwischenergebnis zu bestimmen, und dann andere Parameter um daraus eine Ergebnisschätzung. Wenn es viele solche Zwischenlevel gibt sagt man zu dem Fitalgorithmus NN.

Das Fitten ansich (also finden der Schätz-Parametet) heißt Machine Learning..Die Datenpunkte dafür heißen Trainingsdaten. Die Minimierungsaufgabe wird idr. durch den Mensch gestellt, also welche Aspekte der Daten besonders eng gefittet werden sollen und welche weniger wichtiger sind. Dieser Prozess ist sehr langwierig, wie beim Fitten auch kommen iterative verfahren zum einsatz, aber auch hochparallel. Und es gibt viele Kniffe wie man lokale minima vermeidet, wie man es vom gewöhnlichen Fitten kennt.

Wenn dann die Parameter alle bestimmt sind, können wir unsere "Fitfunktion" auf daten anwenden.. Wir nehmen also unseren Datenpunkt, der zB. 1 Million Dimensionen hat (1000x1000 px greyscale bild). Und am Ende kommt es Ergebnis raus was im Ausgaberaum unserer Funktion liegt, also zB ein wort, ein Vektor (lenkungssteuerung), oä. Dieser Prozess heißt Inference, ist nicht iterativ sondern explizit und funktioniert extrem schnell, besonders auf angepasster Hardware die genau die passenden ALUs aufweist, bspw. FP16 Einheiten zur Matrixmulitiplikation.

Monger
2022-05-14, 10:45:00
Das hier ist glaub die beste Übersicht die ich bisher gesehen habe. Man muss halt die ersten 25 Seiten überspringen die sehr python-spezifisch sind, aber die Art der Kategorisierung danach macht glaub viel Sinn. Ist halt sehr praxisorientiert.

https://www.tutorialspoint.com/machine_learning_with_python/machine_learning_with_python_tutorial.pdf#:~:text=Python%20%20implements%20%20po pular%20%20machine%20,large%20volumes%20of%20data%20effectively%20in%20lesser%20 time.

Es gibt ja noch viel mehr Machine Learning Ansätze, die aber gerade nicht populär sind. Genetische Algorithmen, zum Beispiel. Ich hab das mal in C# ausprobiert: quasi in memory nach Zufallskriterien Code generieren, und dann schauen welcher davon das beste Ergebnis liefert. Scheitert in der Praxis halt daran, dass es um Faktor tausend langsamer als deep learning ist, deshalb machts keiner.

Monger
2022-05-14, 11:11:48
Hier mal der Blick noch von etwas weiter oben: wie sieht die Gesamtarchitektur einer bestimmten KI aus?
https://www.bmc.com/blogs/machine-learning-architecture/

urpils
2022-05-15, 08:11:29
vielen Dankfür eure Antworten und Erläuterungen! ich habe mir alles angesehen und versucht zuzuordnen. Mein jetziges Verständnis ist Folgendes:

künstliche Intelligenz ist erstmal "alles" und ein kaum definierter Begriff. Das kann auch ein simpler Chatbot sein, der rein algorithmischen arbeitet.

Eine besondere Form der künstlichen Intelligenz ist: Machine Learning. Hier werden statistische Modelle (verschiedene) im Computer automatisiert gelöst. Jedoch auch hier → rein algorithmischen und versteh- und nachvollziehbar. Man kann hier z.B. Regressionsmodelle durchtesten und die möglichst besten Gewichtungen der Parameter ausrechnen lassen.

Eine besondere Form von Machine-Learning sind künstliche neuroyale Netze. Deren Haupteigenschaft ist, dass sie nicht mehr "rein algorithmisch" arbeiten, sondern einen "Hidden Layer" haben, dessen Repräsentation wir nicht mehr verstehen (zumindest mit unseren aktuellen Mitteln), weil es einfach abstrakte Gewichtungen, in denen Eingaben gesichtet werden, indem nach verschiedenen Algorithmen versucht wird möglichst gute Ergebnisse für die Ausgabe zu finden.

Deep Learning/neural Networks sind nun eine Sonderform der künstlichen neuronalen Netze, in denen mehrere "hidden layer" - also Gewichtungen - hintereinandergeschaltet werden, und sich durch eine Form der Emergenz neue Eigenschaften ergeben.

das Machine-Learning kann nun auf verschiedenen Ebenen eingeteilt werden in
1. überwachtes Lernen: hier müssen Daten gut klassifiziert und gelabert sein. Letztlich findet hier nur durch verschiedene Algorithmen eine gute Regressionsanalyse statt? Also das gewählte Modell des Machine-Learning so zu parametrisieren, dass Assoziationen möglichst gut abgebildet werden (?)

2) unbewachtes Lernen: letztlich automatisierte Mustererkennung, Assoziationsfindung und Reduktion von Problemdimensionen;

3) teilüberwachtes Lernen: startet mit relativ kleinem - aber gut strukturiert (gelabelten) Daten. Ab dann eher "generativer" Ansatz, der immer wieder gegengeprüft wird?

sooo...

Jetzt gibt es diverse Modelle, bei denen ich noch nicht genau weiß, wo genau ich sie in die obige Klassifikation einordne - bzw. ob sie sich überhaupt einer Überschrift zuordnen lassen:

a) CNN (convolutional neural network): eine Art von Deep Learning? gehört zum überwachten Lernen?
Eigenschaften hiervon sind Reduktion von Freiheitsgraden/Dimensionen → also Zusammenfassung von Daten zu bestimmten Klassifikationen? (also Erkennung von definierten Mustern, die aber unterschiedlich in ihrer Ausprägung sein können)

b) RNN (recursive neural networks): teilüberwachtes Lernen? Hier ist eher eine Art Voraussage gefragt: also auf welche Eingabe eigentlich eine Ausgabe folgen "müsste"?

c) K-Means, C-Means, Expectation maximization meta algorithm, Adaptive Resonance Theory, Support Vector-Machine: Mustererkennung + Erkennen von seltenen Anomalien? eher dem unüberwachten Lernen zuzuordnen?


ich robbe mich langsam an das Themenfeld an ;)

Tobalt
2022-05-15, 08:26:37
Ob überwacht oder nicht hängt mit dem NN Typ eher nicht zusammen. Das betrifft einerseits wer und wie genau die Score Funktion definiert. Andererseits wie die Parameter angepasst werden. Typisch wird die Score Funktion zu großen Teilen durch den Menschen gegeben und parameter nach einem typischen Minimierungs-Verfahren dann automatisiert verändert. Dann stellt Mensch fest, "ach mist, hier hab ich was in der Score Funktion vergessen" ändert dies, und trainiert erneut.

Aber diese Score Funktion kann auch sehr abstrakt sein "überlebe" und die einzelnen Unterziele zu definieren kann teil des Trainings sein (also teil der Parameter im DNN letztendlich). -> Teilüberwacht, siehe Mongers bsp. Die Grenzen zum "unbewachten" Lernen ist IMO fließend. irgendein Ziel muss das Lernen ja haben. prinzipiell gilt, je abstrakter die Score Funktion, desto länger das Training aber desto "fundierter" das Ergebnis. Allerdings kann das Training bei komplexen Sachverhalt einfach Millionen von Jahren dauern, sodass die fundiertere Lösung nie erreicht wird und man Supervision braucht, oder stärkere Hardware oder (am wahrscheinlichsten) neue Methoden wie analoges Rechnen.


Die andere Einteilung, die du ansprichst sind die Trainingsdaten. Am einfachsten hat man reale Trainingsdaten (also echte Datenpunkte). Aber man kann auch Daten wieder durch NN erzeugen lassen und damit dann weitertrainieren. dies ist nicht ohne, weil die synthetischen Daten halt prinzipbedingt nur das Erfassen was der Synthesizer schon beherrscht. aber hat den Vorteil dass man den aufwendigen Prozess der Datenaufbereitung minimiert. Und hierbei entstehen auch Lösungen mit weniger "traditionell-menschlichem" bias. Echte Daten sind auch nicht ohne Probleme, weil deren Aufbereitung halt nicht nur menschlichen Bias einfügt sondern auch einfach Fehler.

pest
2022-05-23, 10:00:49
@urpils

wenn du konkrete Frage hast, stell' sie mir

speziell CNN/RNN/LSTM/Transformer kann ich Einiges erzählen


Eine besondere Form von Machine-Learning sind künstliche neuroyale Netze. Deren Haupteigenschaft ist, dass sie nicht mehr "rein algorithmisch" arbeiten, sondern einen "Hidden Layer" haben, dessen Repräsentation wir nicht mehr verstehen (zumindest mit unseren aktuellen Mitteln), weil es einfach abstrakte Gewichtungen, in denen Eingaben gesichtet werden, indem nach verschiedenen Algorithmen versucht wird möglichst gute Ergebnisse für die Ausgabe zu finden.


schön :D
ein einfaches neuronales Netz ist erst einmal eine linear Abbildung y=id(Ax) mit der Aktivierungsfunktion "id=Identität", da gibt es nicht "nichts" zu verstehen
wenn wir diese Abbildungen hintereinander schalten zb y=id(B id(Ax)) haben wir mehrere Schichten eines neuronalen Netzwerks

urpils
2022-06-03, 19:47:03
@urpils

wenn du konkrete Frage hast, stell' sie mir

speziell CNN/RNN/LSTM/Transformer kann ich Einiges erzählen



schön :D
ein einfaches neuronales Netz ist erst einmal eine linear Abbildung y=id(Ax) mit der Aktivierungsfunktion "id=Identität", da gibt es nicht "nichts" zu verstehen
wenn wir diese Abbildungen hintereinander schalten zb y=id(B id(Ax)) haben wir mehrere Schichten eines neuronalen Netzwerks

ich danke Dir sehr für das Angebot! ich werde auch gerne darauf zurückkommen, wenn ich mich etwas mehr in die Mathematik eingefuchst habe. Die mathematischen Notationen sind mir als Nicht-Mathematiker noch fremd im Umgang.

Aber insgesamt habe ich mittlerweile doch eine sehr gute Anfangs-Übersicht gefunden. Die Particle Data Group hat hierzu in ihrem Jahrbuch eine gute Übersicht zusammengestellt... diese ist zwar SEHR auf die Teilchenphysikforschung zugeschnitten, aber die Übersicht und Konzepte sind besser dargestellt, als ich sie bisher sonst gefunden habe!

Falls also jemand aus Interesse daran hat:

https://pdg.lbl.gov/2021/reviews/rpp2021-rev-machine-learning.pdf