schoenberg - think MINI:




neuronales Netz: einfaches Beispiel mit JavaScript

erstellt am: 17.05.2018 | von: admin | Kategorie(n): Allgemein, JavaScript


Lieber XING-Kontakt, vielen Dank für Ihren Besuch!

Maschinelles lernen „Machine Learning“ ist ein Teilbereich von künstlicher Intelligenz bzw. Artificial Intelligence (englisch). „Machine Learning“ bedeutet, dass Systeme selbständig Wissen aus Erfahrungen generieren können. Die Vorteile von Machine Learning liegen darin, dass solche Systeme nicht nur exakt übereinstimmende Daten erkennen, sondern mittels Muster und Gesetzmäßigkeiten auch unbekannte Daten, sowie auch größere Datenmengen verarbeiten und beurteilen können.

Bei der Umsetzung unterscheidet man zwischen symbolischen Systemen (induzierte Regeln) und subsymbolischen Systemen (implizites Wissen) wie neuronale Netze, die auch in der Praxis sehr häufig eingesetzt werden.

Dabei erfolgt das Erlernen aus Erfahrungen durch ein sogenanntes überwachtes Lernen bzw. supervised learning (englisch). Dabei erhält der Algorithmus unterschiedliche Eingabewerte (Input-Layer) und aufgrund der anfangs zufällig festgelegten Gewichte im Netz werden Ausgabewerte (Output-Layer) ermittelt (Forwardpropagation). Entspricht diese Ausgabe nicht dem korrekten Ergebnis, so wird entweder automatisch aufgrund Trainingsdaten bzw. von einem „Lehrer“ das errechnete Ergebnis korrigiert.

Der Algorithmus errechnet dann den Fehler und passt die Gewichtungen im neuronalen Netz an (Backpropagation). Ziel ist es die Gewichte im neuronalen Netz so einzustellen, dass der Output nach der Trainingsphase (unüberwachtes Lernen) möglichst immer ein korrektes Ergebnis ausgibt.

Darunter habe ich ein sehr vereinfachtes Beispiel mit JavaScript programmiert. Dabei wird (links) eine zufällig ausgewählte Farbe eingeblendet und mittels neuronalen Netz ermittelt das Script die Farbe als Wort z.B. Orange, … Aufgrund der anfangs zufällig festgesetzten Gewichtungen, sind diese errechneten Ausgabewerte oftmals falsch. Sie können dann zum Ausprobieren (rechts) auf das korrekte Wort klicken. Anschliessend passt das Skript dann die Gewichte im neuronalen Netz an. Nach mehreren solchen Wiederholungen sollte der errechnet Ausgabewerte immer öfter korrekt sein.

Da bei diesem sehr vereinfachten Beispielskript allerdings das Problem auftritt, dass es die Farben „Orange“ und „Blau“ aufgrund errechneter Ausgabewerte beinahe nicht unterscheiden kann, lassen sich daran auch wichtige Voraussetzungen erkennen. Und zwar muss zuerst eine geeignete Abbildungsvorschrift gefunden werden, sowie auch eine optimale Anzahl der sogenannten Hidden Neurons. Da ich in diesem vereinfachten Beispiel im Hidden-Layer 2 nur 4 Bereiche eingefügt habe (zur übersichtlicheren Darstellung), führt dies auch zu soeben erwähntem Problem (Blau <-> Orange).

Hinweis: als Schwellenwert für die Aktivierung der Sigmoidfunktion (Hidden-Layer 1, Farbe Blau) habe ich einen Farbanteil (Blau) von 80 eingestellt.

Unter dem folgenden Link habe ich ein 2-seitiges Ebook zu diesem Thema erstellt. Dieses können Sie hier downloaden .. Ebook „künstliche Intelligenz“.

und hier wie immer ein Glitze-Kleines-Bisschen Werbung 🙁

schoenberg - think MINI


Virenfrei und Zertifizierung: Alle Tools auf dieser Webseite sind virengeprüft (unter https://www.virustotal.com/ mit 47 Virenscanner) und ausserdem habe ich als Urheber und verifizierter Herausgeber der Softwaretools ein Zertifikat (dieses können Sie abrufen, wenn Sie das jeweilige Softwaretool mit der rechten Maustaste als Administrator starten und dann mit 'Details anzeigen' das Sicherheitszertifikat abrufen).

Möchten Sie vielleicht ebenfalls ein solches oder ähnliches Software-Tool, kontaktieren Sie mich einfach unter meinen XING-Account https://www.xing.com/profile/Christian_Schoenberg5 oder unter meiner Email c.schoenberg@schoenberg.co.at.

Hätten Sie vielleicht auch einen Programmierauftrag für mich ? Oder könnten Sie sich für einen evtl. späteren Bedarf meine Email office@3lancer.biz aufbewahren. Ich wäre Ihnen dafür sehr dankbar.

vielen Dank und Ihnen schöne Grüße,

Christian Schönberg

XING.com - Netzwerk für Beruf und Leben     Facebook     Twitter



andere Besucher, die diesen Artikel gelesen haben, fanden auch diese Blogbeiträge interessant:

Youtube-Videos ohne Validierungsfehler einbinden

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Wenn man auf seiner Webseite ein Youtube-Vide ......
den ganzen Artikel lesen ...


Flash Animation in Form eines Beispiels

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Animationen lassen sich zwar auch mit HTML5 e ......
den ganzen Artikel lesen ...


selbstprogrammiertes PAINT-ähnliches Softwaretool

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Sie kennen sicherlich die Windowsanwendung PA ......
den ganzen Artikel lesen ...


Softwaretool: Dateien unwiderruflich löschen

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Des Öfteren kann es notwendig sein, dass man ......
den ganzen Artikel lesen ...


Ihre Email Adresse schützen

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Vielleicht kennen Sie die Situation, dass Sie ......
den ganzen Artikel lesen ...


Foto so ändern, dass es wie gemalt aussieht

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Mit PHP und HTML lassen sich auch Bilder bear ......
den ganzen Artikel lesen ...


Java-Tool zur Audio Aufnahme für Windows, Linux und MAC

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Wenn man z.B. ein Info Video für Youtube ers ......
den ganzen Artikel lesen ...


kleines Ebook zum Thema „Sales Funnel“

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Auf den Begriff --Sales Funnel-- stolpert man ......
den ganzen Artikel lesen ...


iPhone App mit Objective-C (xCode) programmiert

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Apps für iPhones habe ich schon einige progr ......
den ganzen Artikel lesen ...


digitale Notizzetteln am Desktop einfügen

Lieber XING-Kontakt, vielen Dank für Ihren Besuch! Sie kennen sicherlich die kleinen Notizzettel ......
den ganzen Artikel lesen ...