Maschinelles Lernen Grundverständniss

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Fohlen
User
Beiträge: 4
Registriert: Freitag 25. Mai 2018, 14:08

Hey Leute,

von meiner Firma hab ich ein Projekt über maschinelles Lernen erhalten. Nun habe ich mich ein/zwei Wochen mit der Theorie beschäftigt und Kurse (z.B. Google Crash Course) mit Tensorflow durchgeführt.

Ich verstehe nun wie man ein Modell aufbaut allerdings werden nirgends Informationen bereitgestellt die ich erstemal benötige. Daher hoffe ich auf ein paar Erklärungen/Erfahrungen eurerseits.

Die Aufgabe ist erstmal simpel, es soll mit verschiedenen Sensoren eine Präsenzerkennung gemacht werden. (Aktualisierung ca. alle 5min.)

1. Das Zielsystem ist ein 528 MHz Controller 50MB freier Speicher. Sind die Ressourcen ausreichend oder gleich auf einem Android-Smartphone implementieren?
2. Was ich noch nicht verstanden habe: Ich implementiere mein Modell und trainiere es mit mit Beispieltrainingsdaten, ist das Modell danach ein anderes oder läuft das Training jedes mal aufs neue bei der Berechnung durch?

Mir fehlt das Verständnis was nachher auf meinem System läuft und was benötigt wird.

Hoffe jemand kann mir das ein bisschen erklären. :)

MfG Fohlen
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die ueblichen Verfahren im ML lernen *nicht* kontinuierlich, sondern nur in der Trainingsphase. Ausnahmen sind Dinge wie Eigen-Face-basierte Gesichtserkennung, die waere sonst ja ziemlich wertlos.

Ob deine Anwendung auf diesem Rechner laufen kann, kann ich dir nicht sagen. Das Tensorflow weniger Resouren zum laufen als zum trainieren braucht ist klar, aber wieviel weniger genau haengt nun auch davon ab, was das Netzwerk tut etc. Da behaupte ich mal geht probieren ueber studieren.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Wenn du dein Modell mit Beispieldaten trainierst, unterstelle ich mal ein Supervised ML Modell, d.h. du hast deine Sensorendaten und dazu jeweils die Zieldaten.
Nach dem Training sollte man das Modell mit Testdaten prüfen, d.h. eventuell den vorhandenen Beispieldatenpool aufteilen, so ca. 20% der Daten als Testdaten nehmen.
Wenn die Fehlerrate akzeptabel ist, kann das Modell dann auf das Zielsystem übertragen werden, dort läuft dann das Modell live mit Produktionsdaten.
Wenn du zu den Produktionsdaten keine Zieldaten hast, kann kein Training mehr stattfinden, ausser du speicherst die Produktionsdaten und ergänzt sie manuell mit Zieldaten und trainierst damit dein
ursprüngliches Modell, so dass es immer besser wird.
Wenn letzteres automatisiert passieren soll, dann muss das Ganze als Reinforced ML Modell gebaut werden.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Fohlen
User
Beiträge: 4
Registriert: Freitag 25. Mai 2018, 14:08

Okay das hilft mir schon mal ein bisschen.
Da die Sensordaten (Labels) für jeden Haushalt unterschiedlich sind muss das ganze demnach als Reinforced ML Modell implementiert werden. Auf dem Zielsystem befinden sich die Verlaufsdaten mit jeweils Päsenz/keine Präsenz (bisher vom Nutzer gesteuert).

Nun nehme ich die Verlaufsdaten und trainiere damit das jeweilige Modell, dazu kommt die Berechnung des aktuellen Präsenzwertes. Ist die Aussage falsch kann der Nutzer diese korrigieren und die Verlaufsdaten anpassen. So sollte das System immer besser werden, ist das so richtig?

Klingt alles sehr kompliziert und aufwändig :D
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Ich vermute mal es geht um Smart Home Beleuchtungssteuerung?
Was soll den dein Modell lernen?
Die Erkennnung ob jemand im Raum ist oder wann oder welche Wege benutzt werden, etc?
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Fohlen
User
Beiträge: 4
Registriert: Freitag 25. Mai 2018, 14:08

Richtig im Smart-Home-Bereich.

Wie oben genannt wollen wir eine intelligente Möglichkeit, um die Präsenz-/Anwesenheit einer Person im Raum herauszufinden. Aufgrund verschiedener Sensoren (Bewegungsmelder, Präsenzmelder, CO2-Sensor, Temperatursensor ect.) lässt sich darauf schließen ob eine Person nun da ist oder nicht. Dies soll das Modell lernen und einen boolschen Wert (alle 5 min oder wenn neue Daten verfügbar sind) ausgeben.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Da hat ja schon jeder Sensor eine entsprechende Zuverlässigkeit der Präsenzerkennung,
in der Kombination könnte man ja an Überwachung von High-Security Räumlichkeiten denken....
wobei da die Angabe alle 5 min dagegen spricht

Sämtliche Sensorenwerte sind die Inputdaten des NN, (True/False) ob jemand im Raum ist der Zielwert
Welche Werte liefern denn die Sensoren so, nur 0/1 oder lineare Werte von bis ?
Interessantes Projekt.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Fohlen
User
Beiträge: 4
Registriert: Freitag 25. Mai 2018, 14:08

Das Problem an Bewegungsmeldern ist, dass man nicht sieht ob jemand am Kommen oder Gehen ist. Durch zusätzliche Werte und deren Änderung wie Kohlendioxid (0 - 4000 ppm), Temperaturwerte (-20°C - 40′C) oder evtl. gar Zeiten (Alltagsroutinen) lässt sich die Anwesenheit deutlich besser definieren. Also spielt sowohl die Anzahl als auch die Art der Sensoren eine Rolle, wie genau das System schlussendlich ist.

Hast du dazu eine Idee/Erfahrungswerte welche Ressourcen oder Implementierungsart sich dazu empfiehlt?
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Wenn du Ressourcen oder Implementierungsart auf Neuronale Netze und ML beziehst so bin ich da selber noch in der Lernphase,
habe erst Anfang des Jahres mit Python Programmierung begonnen und bin von der Materie NN und ML fasziniert.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten