Maschinelles Lernen mit Python 2

zurück zu HeliHuBot Planung und Umsetzung


Training ML-Lernalgorithmen für die Klassifizierung

Mit Schwerpunkten auf:

  • kurze Vorstellung eines Perceptrons und adaptive linearer Neuronen
  • erster Einblick in ML-Algorithmen
  • Benutzung von pandas, NumPy und matplotlib zum Einlesen, Verarbeitung und Visialisierung
  • Implementierung linear classification Algos in Python

Vom Neuron zum Perzeptron

Ein biologisches Neuron (Nervenzelle) ist schematisch im folgenden grob umrissen:

Wer sich für Details interessiert, findet welche im Kapitel I, meiner Physiologie für Biologen und Mediziner. Besonders 1) Das Ruhemembranpotential, 2) Entstehung und Fortleitung eines Aktionspotentials und 5) Synapsen kann ich als Einstieg empfehlen.

Hier werden wir nicht auf neurophysiologische Details oder auf die Vernetzung (Konnektom) eingehen, sondern wir brauchen an dieser Stelle eigentlich nur zu wissen, dass an den Dendriten Synapsen von anderen Axonenden zu finden sind (stellt den Input dar), die hemmen oder erregen können und somit das Ruhemembranpotential (RM) der Membran (Umgibt den Körper der Nervenzelle) beeinflusst. Das RM summiert sich auf und nur wenn eine bestimmte Schwelle erreicht wird (Alles oder Nichts Prinzip), entsteht ein Aktionspotential am Axonhügel (dort wo das Axon vom Körper abgeht) und breitet sich über das Axon zu den Enden aus, wo sich wieder Synapsen befinden, welche auf die nächsten Dentriten hemmend oder erregend wirken können (unser Output).

Natürlich kann ich an dieser Stelle nicht umhin, W.S. McCulloch und W. Pitts, sowie Frank Rosenblatt zu erwähnen, die Pionierarbeit auf dem Gebiet der KI leisteten, sodass 1958 das Perzeptron, das erste, sehr vereinfachte neuronales Netz, basierend auf dem McCulloch-Pitts neuron, vorgestellt werden konnte. Mit den Perzepron-Regeln konnte Rosenblatt eine Algo entwickeln, der automatisch die optimalen Gewichungskoeffizienten lernte, die dann mit den Input-Features verknüpft entschieden, ob ein Neuron feuerte (die Schwelle erreicht wurde), oder nicht. Im Kontext von supervised learning und der Klassifikation bedeutet das, dass der Algo benutzt werden konnte, um eine Zuordnung zu einer Klasse zu erreichen.
Formal können wir dieses Problem als binäre Klassifikationsaufgabe darstellen, wobei wir zur Vereinfachung unsere beiden Klassen als 1 und -1 bezeichnen. Dann können wir eine Aktivierungsfunktion definieren \theta(z), welche eine lineare Kombination bestimmter Eingabewerte \vec{x} und eines entsprechenden Gewichtsvektors \vec{w} erfordert, wobei z der sogenannte net input ist z = (w1x1 + …. + wmxm):

\vec{w} =  \begin{bmatrix} w\textsubscript{1}	\\ \vdots	 \\ w\textsubscript{m}	 \end{bmatrix} , \vec{x} =  \begin{bmatrix} x\textsubscript{1}	\\ \vdots	 \\ x\textsubscript{m}	 \end{bmatrix}
Wenn die Aktivierung eines bestimmten Beispiels x(i), also die Ausgabe von \theta(z), größer ist als ein definierter Schwellenwert \phi, sagen wir Klasse 1 oder andernfalls Klasse -1 voraus.

\phi(z) = \biggl\{  \frac{1 if z \geq \theta}{-1 sonst}

Weblinks:
https://www.cs.cmu.edu/~zkolter/course/linalg/linalg_notes.pdf von Linear Algebra Review
Weitere Quellen
Künstliche Intelligenz von Stuart Russell und Peter Norvig; ISBN 978-3-86894-098-5
Python Machine Learning von Sebastian Raschka; ISBN 978-1-78355-513-0
Neuronale Netze von Günter Daniel Rey und Karl F. Wender; ISBN 978-3-456-54881-5

(44)

Schöne Formeln mit LaTeX bzw. QuickLaTeX in WP

Aktualisierung:
Da das Modul „Schöne Mathematik“ im Jetpack-Plugin sehr schnell an seine Grenzen stieß, habe ich es unter http://yourjetpack.blog/wp-admin/admin.php?page=jetpack_modules deaktiviert und statt dessen QuickLaTeX installiert.
Test:

ergibt:

Rendered by QuickLaTeX.com


Da ich Mathe-Formeln in meine nächsten Artikel einbauen möchte, suchte ich nach einem WP-Plugin, dass mich LaTeX verwenden lässt. Zu meinem Erstaunen stellte ich fest, dass ich bereits Jetpack installiert hatte und dies die Verwendung von LaTeX ermöglicht und die Packages amsmath, amsfonts, und amssymb ebenfalls schon installiert sind. Siehe dazu Beautiful Math with LaTeX.
Mein Versuch mit dem Beispiel von Jetpack ergibt tatsächlich i\hbar\frac{\partial}{\partial t}\left|\Psi(t)\right>=H\left|\Psi(t)\right>

Also sorgt Jetpack schon dafür, dass ich schöne Formeln in meinen Artikeln verwenden kann. Ach so, ein kleines Problem könnte noch auftreten, denn man muss natürlich LaTeX können. 😉
Aber das ist kein Problem, suchen Sie nach „LaTeX Tutorial“ und schon ist das Problem fast gelöst, denn jetzt brauchen Sie nur noch eines durchgehen.
Manchen mag ja schon das LaTeX Cheat Sheet genügen

andere hingegen werden ein ausführliches Tutorial bevorzugen, wie Getting to Grips with LaTeX oder Getting started with TeX, LaTeX, and friends
Für Perfektionist ist TeX Live eine Option als Einstieg, denn das ist de facto der Standard unter den LaTeX-Distributionen und wird für alle gängigen Betriebssysteme angeboten. Es beinhaltet alle TeX bezogenen Programme, Makropakete, Schriften und auch Sprachsupport für viele unterschiedliche Sprachen.
Auch auf LaTeX@TU Graz kann man sich schlau machen, oder wer nur schnell kurze Infos benötigt findet einige wichtige auf LaTeX Wiki.

Weitere Weblinks:

TeX Live
Kile – an Integrated LaTeX Editing Environment
Das Handbuch zu Kile
Xfig
User’s Guide for the amsmath Package
amsmath
Mathematischer Satz mit dem Paket amsmath
LaTeX

Darüber hinaus gibt es natürlich auch Tutorials auf YouTube.

(26)

Maschinelles Lernen mit Python 1

zurück zu HeliHuBot Planung und Umsetzung


Bevor wir uns den ausgewählten Python-Modulen zuwenden ein kurzer Überblick über die kommenden Inhalte, also die Lernmethoden. Ich werde kurz auf supervised, unsupervised und reinforcement learning und wichtige Grundbegriffe eingehen, bevor ich die Installation der Python packages beschreibe.

Supervised learning

Mittels supervised learning gelangt man zu predictions für neue Daten, indem man ein Model mit labeled training data trainiert.

Siehe dazu auch Supervised vs Unsupervised Learning
Beim supervised learning sind vor allem die Classification (um class labels vorauszusagen) und die Regression hervorzuheben.
Maschinelles Lernen mit Python 1 weiterlesen

(28)

Neue Speicherkarten: SDUC und SD Express

Da werden die Festplattenhersteller aber ganz schön ins Schwitzen kommen, wenn die neuen Speicherkarten am Markt erscheinen. SD Express für bis zu 1 GB pro Sekunde und Ultra Capacity für bis zu 128 TB soll es bald geben.
Sie dazu
SD Express SDUC memory cards will give you 985MB/s transfer speeds and 128TB of storage
SD-Karten-Standard schafft 1 GByte/s und 128 TByte
Neue Speicherkarten SDUC und SD Express: Schneller und leistungs­fähiger

Ein Lesegerät mit USB-Anschluss kostet ein paar Euro – bin schon gespannt auf den Preis einer 128 TB-Karte.

(4)

Sie wähnen sich anonym und werden dabei spezialüberwacht

Es gibt viele Dienste, die Anonymität anbieten. Lese dazu
Web-Proxy: ohne Installation anonym im Browser surfen
Web-Proxy: ohne Installation anonym im Browser surfen
Anonym surfen: Wirksamer Schutz gegen den Lauschangriff ….
Wenn Sie nach Listen anonymous proxy suchen, werden Sie genügend finden und man kann dann einfach die IP im Browser eintragen und manche wähnen sich dann schon anonym.
Dazu ein Artikel aus dem Jahre 2012, der mir gefällt, weil ich damals als Squid-Fan ähnliche Experimente durchführte, Hacker warnt vor mitlesenden Proxy-Diensten.
Es ist wirklich sehr einfach, genau diese Leute auszuspionieren, die glauben, dass sie anonym wären.

(27)

Notizen zu Open Source, Linux, Informatik, Physiologie, Dadaichmuss, Umfragen, Satire, außergewöhnlichen Begebenheiten, Weltgeschehen, Lifestyle, Tai Chi …