# data[].attributes.body
Enaktives Material zum Thema KI
Format: Druckvorlagen und Begleitheft
Jahrgang: Primar, Sek I, (Sek II)

# data[].attributes.attachment_link.readable_text
Aktivitäten und Unterrichtsmaterial zu Künstlicher Intelligenz ohne Strom
entwickelt von Annabel Lindner und Stefan Seegerer
Auf dieser Seite finden Sie alle Informationen rund um AI Unplugged. Werfen Sie einen Blick in die Begleitbroschüre und laden Sie sich hier das passende Material herunter.

Aktivität 1: Klassifikation mit Entscheidungsbäumen - Das Gute-Äffchen-Böse-Äffchen-Spiel

Die Schülerinnen und Schüler untersuchen, wie die Zugehörigkeit von Beispielelementen zu einer Kategorie zustande gekommen ist. Dazu entwickeln Sie in Paaren Kriterien, mit denen neue Elemente klassifiziert werden können. Im Anschluss werden die entstandenen Modelle mit neuen Beispielen getestet und die Genauigkeit der Vorhersage bestimmt.

Aktivität 2: #deeplearning - Erkennen von Bildern mit neuronalen Netzen

Die Schülerinnen und Schüler stellen den Bilderkennungsprozess eines (vereinfachten) neuronalen Netzes nach. Dabei nehmen sie die Rollen der unterschiedlichen Schichten innerhalb eines solchen Netzes ein. Sie extrahieren Merkmale aus einem Foto und klassifizieren das Bild. Dabei erkennen sie die Grenzen des Systems und überlegen, welche Modifikationen am Netz notwendig sind, um bessere Ergebnisse mit ihrem Netz zu erzielen.

Aktivität 3: Reinforcement Learning - Schlag das Krokodil!

Je zwei Schülerinnen bzw. Schüler spielen eine Partie "Mini-Schach" gegeneinander. Dabei übernimmt eine Schülerin bzw. ein Schüler die Rolle eines "Papier"-Computers. Der Computer wählt seine Züge zunächst zufällig, lernt aber nach und nach mit einem Süßigkeiten-Token-System, welche Züge ihm zum Sieg verhelfen und welche in einer Niederlage enden. Mit Hilfe der Strategie, die sich auf diese Weise entwickelt, wird der Computer mit der Zeit immer besser.

Aktivität 4: Back to the Roots - Krokodil-Schach und klassische KI

Wie in Aktivität 3 spielen je zwei Schülerinnen bzw. Schüler eine Partie "Mini-Schach" gegeneinander. Dabei übernimmt eine Schülerin bzw. ein Schüler die Rolle eines "Papier"-Computers. Wird die Aktivität direkt mit der vorangehenden Reinforcement Learning-Version kombiniert, bietet es sich an, dass ein Rollentausch stattfindet. Anstatt seine Züge zufällig zu wählen, arbeitet der Computer nun jedoch nach vorgegebenen Regeln, die als Kopie zur Verfügung gestellt werden.

Aktivität 5: "Ach wie gut, dass niemand weiß, dass ich ein Computer bin!" - Der Turing-Test

Die Schülerinnen und Schüler spielen in dieser Aktivität ein Frage-Antwort-Spiel, bei dem sie allein durch das Stellen von Fragen und die Analyse der zugehörigen Antworten versuchen müssen, einen Computer von einem Menschen zu unterscheiden. Dazu nehmen zwei SchülerInnen die Rolle eines Computers und eine menschliche Rolle ein, sie werden von ihren MitschülerInnen befragt und anhand der Antworten muss die Klasse bestimmen, wer welche Rolle repräsentiert.

Weitere Anregungen

Eine weitere Aktivität zu neuronalen Netzen findet sich hier: Brain in a bag

Wie Gesichtserkennung unplugged vermittelt werden kann, erläutert das australische Teacher's magazine.

In Kürze finden Sie hier weitere Anregungen und Linktipps, bis dahin verweisen wir Sie an unsere Broschüre 🙂

Workshops

Folien zum Workshop am 14.3.2019 in Erlangen

# data[].attributes.attachment_link.description
entwickelt von Annabel Lindner und Stefan Seegerer Auf dieser Seite finden Sie alle Informationen rund um AI Unplugged. Werfen Sie einen Blick in die Begleitbroschüre und laden Sie sich hier das passende Material herunter. Die Schülerinnen und Schüler untersuchen, wie die Zugehörigkeit von Beispielelementen zu einer Kategorie zustande gekommen ist.

# data[].attributes.body
Diese Spalte ist noch in der Entstehung und soll APPs und Programme im Lern-Lehr-Bereich aufzeigen, die schon heute KI beinhalten.
Hintergrund ist die Frage:
Wie verändert KI den Lehrerberuf und das Lernen?
Ich behauptet: In 5 bis 10 Jahren muss Lehrerinnen und Lehrer (LuL) keine Klausuren mehr korrigieren. Das macht dann eine KI. Dafür müssen  LuL die Korrektur-KI korrigieren und überprüfen.

# data[].attributes.body
Vortrag zum Thema:
Ist KI unvoreingenommen bei der Bewertung von Personen z.B. bei der Auswahl von Bewerber*innen?
Nein! Das hängt von den Trainingsdaten ab.
Format: Video

# data[].attributes.attachment_link.title
The era of blind faith in big data must end

# data[].attributes.attachment_link.description
Algorithms decide who gets a loan, who gets a job interview, who gets insurance and much more -- but they don’t automatically make things fair. Mathematician and data scientist Cathy O’Neil coined a term for algorithms that are secret, important and harmful: “weapons of math destruction.” Learn more about the hidden agendas behind the formulas.

# data[].attributes.headline
Ist KI nur ein Buzzword oder tatsächlich Relevant?

# data[].attributes.subject
Ist KI nur ein Buzzword oder tatsächlich Relevant?

# data[].attributes.body
KI als Fundamentale Idee nach Hartmann, Näf und Reichert (2007) [1]

Hartmann, Näf und Richert bieten zur Auswahl von Inhalten für den Informatikunterricht folgenden Kriterien an, mit denen sich überprüfen lässt, ob es sich bei einem Thema in der Informatik nur um einen kurzlebigen Trend (bzw. Buzzword) oder eine grundlegenden Inhalt der Informatik handelt. Diese Kriterien beruhen auf der Fundamentalen Idee nach Bruner (1960) [2], die von Schwill (1993) auf die Informatik übertragen wurden und von Harmann, Näf und Richter (2007) erweitert wurden.

# data[].attributes.body
Hartmann, Werner, Michael Näf, and Raimond Reichert. Informatikunterricht planen und durchführen. Springer-Verlag, 2007

# data[].attributes.body
Was Intelligenz im Allgemeinen und was Künstliche Intelligenz ist lässt sich nicht eindeutig definieren, da es verschiedene Formen von Intelligenz als auch künstlicher Intelligenz gibt.
Daher hängt die Definition stark von der Perspektive (dem Fachgebiet) des Betrachters ab.
Hier folget eine Auswahl an Definitionen.

# data[].attributes.body
Künstliche Intelligenz (KI) ist schon heute (2019) allgegenwärtig und wird die Arbeitswelt der Zukunft maßgeblich verändern.
Dieses Padlet bietet Einstiegspunkte in das Thema KI und zeigt Möglichkeiten KI in der Schule (von Primarstufe bis Sek II) zu thematisieren und zu unterrichten.
Es ist ein Sammlung von Links und Gedanken, die sich wie folgt aufbauen.

# data[].attributes.body
Der große Umbruch. Dieser Beitrag zeigt Einsatzmöglichkeiten von KI und weißt auf gesellschaftliche Aspekte hin.
Format: Video
Jahrgang: Sek I, Sek II

# data[].attributes.attachment_link.readable_text
08.04.19 | 43:56 Min.

Ranga Yogeshwar reist zu den Hotspots der Forschung auf dem Gebiet der Künstlichen Intelligenz in Europa, den USA und China. Was kommt auf uns zu? Wie wird Künstliche Intelligenz unsere Arbeitswelt und unseren Alltag verändern?

# data[].attributes.attachment_link.title
Der große Umbruch | Dokumentation & Reportage

# data[].attributes.attachment_link.description
Ranga Yogeshwar reist zu den Hotspots der Forschung auf dem Gebiet der Künstlichen Intelligenz in Europa, den USA und China. Was kommt auf uns zu? Wie wird Künstliche Intelligenz unsere Arbeitswelt und unseren Alltag verändern?

# data[].attributes.body
Das Unterrichtsmaterial von App Camps leitet SuS dazu an KI-System selber zu gestallten/trainieren mit Scratch, AppInventor und/oder Python.
Format: Videos und Lernkarten
Jahrgang: Primar, Sek I, (Sek II)

# data[].attributes.attachment_link.readable_text
Du möchtest deinen Schülerinnen und Schülern einen Einblick in das Thema Künstliche Intelligenz geben? Du möchtest Zukunftsthemen im Unterricht behandeln? Du suchst kostenloses Unterrichtsmaterial zum Thema Künstliche Intelligenz? Dann bist du hier genau richtig.

Mithilfe unserer Unterrichtsmaterialien erhalten Schülerinnen und Schüler eine praktische Einführung in Künstliche Intelligenz und Machine Learning. In den Unterrichtseinheiten werden neben den kreativen, praktischen Übungen auch wichtige theoretische Grundlagen besprochen. Schülerinnen und Schüler verstehen, wo Künstliche Intelligenz zum Einsatz kommt. Sie programmieren und trainieren selbst eine einfache Künstliche Intelligenz. Anschließend erarbeiten die Schülerinnen und Schüler Faktoren für gute und schlechte Machine Learning Modelle.

Unsere Unterlagen im Überblick:

1. Künstliche Intelligenz mit Alexa

2. Künstliche Intelligenz mit Scratch

3. Künstliche Intelligenz mit dem App Inventor

4. Künstliche Intelligenz mit Python

Als Lehrkraft kennst du dich selbst noch nicht mit dem Thema Künstliche Intelligenz aus? Kein Problem! Von uns erhältst du Materialien zur Vorbereitung und zur Unterrichtsgestaltung. Damit lernst du und deine Schülerinnen und Schüler das wichtige Themengebiet Künstliche Intelligenz kennen und verstehst anschließend Chancen und Risiken dieser neuen Technologie besser. Andere tolle Unterrichtsmaterialien zu KI stellen wir dir in diesem Blogartikel vor.

Warum Künstliche Intelligenz?

Künstliche Intelligenz verändert in vielen Bereichen unser Leben. Deshalb sollten alle Menschen die Grundlagen verstehen, um Chancen und Risiken beurteilen zu können.

Künstliche Intelligenz und Machine Learning kann praktisch vermittelt und erlebt werden. So können Schülerinnen und Schüler ohne Vorkenntnisse das Thema verstehen.

Es gibt tolle Tools zur Entwicklung von Künstlicher Intelligenz Anwendungen. Wir nutzen die Tools Machinlearningforkids, Scratch, App Inventor und die einsteigerfreundliche Programmiersprache Python.

Mit vielen praktischen Übungen tauchen wir in die spannende Welt der Künstlichen Intelligenz ein.

Die kostenlosen Unterlagen zu Künstlicher Intelligenz findest du in unserer App Camps Kollektion im Partnerbereich von fobizz.
Empfohlen ab Klassenstufe 7.

# data[].attributes.attachment_link.description
Kostenloses Unterrichtsmaterial zum Thema Künstliche Intelligenz und Machine Learning. Kann direkt im Unterricht eingesetzt werden.

# data[].attributes.body
Übersetzter KI-System (Deep Learning) liefert aktuell (04.2019) wesentlich bessere Ergebnisse als der Google-Übersetzer.
Format: Webseite/Online-Werkzeug

# data[].attributes.attachment_link.readable_text
Tech giants Google, Microsoft and Facebook are all applying the lessons of machine learning to translation, but a small company called DeepL has outdone them all and raised the bar for the field.
Its translation tool is just as quick as the outsized competition, but more accurate and nuanced than any we've tried.

# data[].attributes.attachment_link.title
DeepL Translate: The world's most accurate translator

# data[].attributes.attachment_link.description
Translate texts & full document files instantly. Accurate translations for individuals and Teams. Millions translate with DeepL every day.

# data[].attributes.headline
What happens when the robots take our jobs?

# data[].attributes.subject
What happens when the robots take our jobs?

# data[].attributes.body
Format: Video-Sammlung

# data[].attributes.attachment_link.title
What happens when the robots take our jobs? | TED Talks

# data[].attributes.attachment_link.description
To lose our jobs to our future supreme AI overlords ... or to not? That's the question (and we have some surprising answers).

# data[].attributes.body
"Eine Fundamentale Idee ist ein Sachverhalt, der in verschiedenen Bereichen vielfältig anwendbar oder erkennbar ist." [1, S. 32]

Das Horizontalkriterium ist erfüllt. KI lässt sich z.B. in folgenden Bereichen anwenden: Signalverarbeitung (Audio- und Videosignale), Recommender-Systems (Empfehlungsysteme), Robotik, Natural Language Processing

# data[].attributes.body
Bruner, J. S. The Process of Education. Harvard University Press, 1960

# data[].attributes.body
"Bei Künstlicher Intelligenz geht es darum, die Fähigkeiten, die das menschliche Gehirn hat

(Sehen, Hören, Pläne-Machen, Entscheidungen Treffen),

auf Computern nachzubauen."

Prof. Dr. Christian Bauckhage

# data[].attributes.body
Begriffsklärungen (Was ist KI?)

Unterrichtsmaterial

Videos für den Unterricht

KI unterrichten? Ja oder Nein

Vertiefendes Material (auf Englisch)

Literaturangaben

KI im Lern-Lehr-Bereich

# data[].attributes.body
Der große Umbruch.
Zeigt auch Stefania die ML4Kids entwickelt hat.

# data[].attributes.attachment_link.title
Der große Umbruch: Wie Künstliche Intelligenz unsere Gesellschaft verändert

# data[].attributes.attachment_link.description
Bahnbrechende Entwicklungen auf dem Gebiet der Künstlichen Intelligenz (KI) eröffnen völlig neue Möglichkeiten, bergen aber auch Gefahren: Mit KI lässt sich perfekt fälschen und Fake News effektiv verbreiten. Intelligente Software steuert führerlose Fahrzeuge und autonome Waffen. An welchem Punkt gilt es für die Gesellschaft, Grenzen zu formulieren?

# data[].attributes.body
Eignet sich um etische Fragen in Verbindung mit KI mit SuS zu diskutieren.
Format: Webseite
Jahrgang: Sek I, Sek II

# data[].attributes.attachment_link.description
A platform for public participation in and discussion of the human perspective on machine-made moral decisions

# data[].attributes.headline
Ethische Richtlinien für den Einsatz von KI bei der Lernanalyse

# data[].attributes.subject
Ethische Richtlinien für den Einsatz von KI bei der Lernanalyse

# data[].attributes.body
Format: Wissenschaftlicher Artikel

# data[].attributes.body
"Eine Fundamentale Idee ist Sachverhalt, der auf jedem intellektuellen Niveau aufgezeigt und vermittelt werden kann." [1, S. 32]

Das Vertikalkriterium ist erfüllt, wie die Materrialen von AI Unplugged und AppCamps (MLforKids) zeigen.

# data[].attributes.body
Schwill, A. Fundamentale Ideen der Informatik. Zentralblatt für Didaktik

der Mathematik, 25(1):20–31, 1993

# data[].attributes.body
"[Intelligenz] ist eine sehr allgemeine geistige Fähigkeit, die unter anderem die Fähigkeit beinhaltet, zu denken, zu planen, Probleme zu lösen, abstrakt zu denken, komplexe Ideen zu verstehen, schnell zu lernen und aus Erfahrung zu lernen. Es geht nicht nur um das Erlernen von Büchern, eine enge akademische Kompetenz oder Intelligenz bei Tests. Vielmehr spiegelt es eine breitere und tiefere Fähigkeit wider, unsere Umgebung zu verstehen - das "Einfangen", das "Sinnvollmachen" von Dingen oder das "Herausfinden", was zu tun ist."
[4] Gottfredson (1997) in Mainstream science on intelligence

# data[].attributes.body
Dieses Padlet ist im Rahmen meiner Vorbereitung auf die Edunautika.de 2019 entstanden.
Mehr von mir auf Twitter
https://twitter.com/MarcSiemering

# data[].attributes.body
Format: Video
Jahrgang: Primar, Sek I, Sek II

# data[].attributes.attachment_link.readable_text
Die Jugendlichen erlangen ein grundlegendes Verständnis über Machine Learning Algorithmen und Anwendungen, sodass sie dazu befähigt werden, eine eigene Haltung zu dem Thema aufzubauen. Sie analysieren dabei nicht nur ihr eigenes Nutzungsverhalten, sondern positionieren sich zu verschiedenen ethischen Fragestellungen, die in diesem Zusammenhang entstehen.

# data[].attributes.attachment_link.description
Die Jugendlichen erlangen ein grundlegendes Verständnis über Machine Learning Algorithmen und Anwendungen, sodass sie dazu befähigt werden, eine eigene Haltung zu dem Thema aufzubauen. Sie analysieren dabei nicht nur ihr eigenes Nutzungsverhalten, sondern positionieren sich zu verschiedenen ethischen Fragestellungen, die in diesem Zusammenhang entstehen.

# data[].attributes.attachment_link.readable_text
Getting started. Two of the most de-motivational words in the English language. The first step is often the hardest to take, and when given too much choice in terms of direction it can often be debilitating.

Where to begin?

This post aims to take a newcomer from minimal knowledge of machine learning in Python all the way to knowledgeable practitioner in 7 steps, all while using freely available materials and resources along the way. The prime objective of this outline is to help you wade through the numerous free options that are available; there are many, to be sure, but which are the best? Which complement one another? What is the best order in which to use selected resources?

Moving forward, I make the assumption that you are not an expert in:

Machine learning

Python

Any of Python's machine learning, scientific computing, or data analysis libraries

It would probably be helpful to have some basic understanding of one or both of the first 2 topics, but even that won't be necessary; some extra time spent on the earlier steps should help compensate.

Step 1: Basic Python Skills

If we intend to leverage Python in order to perform machine learning, having some base understanding of Python is crucial. Fortunately, due to its widespread popularity as a general purpose programming language, as well as its adoption in both scientific computing and machine learning, coming across beginner's tutorials is not very difficult. Your level of experience in both Python and programming in general are crucial to choosing a starting point.

First, you need Python installed. Since we will be using scientific computing and machine learning packages at some point, I suggest that you install Anaconda. It is an industrial-strength Python implementation for Linux, OSX, and Windows, complete with the required packages for machine learning, including numpy, scikit-learn, and matplotlib. It also includes iPython Notebook, an interactive environment for many of our tutorials. I would suggest Python 2.7, for no other reason than it is still the dominant installed version.

If you have no knowledge of programming, my suggestion is to start with the following free online book, then move on to the subsequent materials:

If you have experience in programming but not with Python in particular, or if your Python is elementary, I would suggest one or both of the following:

And for those looking for a 30 minute crash course in Python, here you go:

Of course, if you are an experienced Python programmer you will be able to skip this step. Even if so, I suggest keeping the very readable Python documentation handy.

Step 2: Foundational Machine Learning Skills

KDnuggets' own Zachary Lipton has pointed out that there is a lot of variation in what people consider a "data scientist." This actually is a reflection of the field of machine learning, since much of what data scientists do involves using machine learning algorithms to varying degrees. Is it necessary to intimately understand kernel methods in order to efficiently create and gain insight from a support vector machine model? Of course not. Like almost anything in life, required depth of theoretical understanding is relative to practical application. Gaining an intimate understanding of machine learning algorithms is beyond the scope of this article, and generally requires substantial amounts of time investment in a more academic setting, or via intense self-study at the very least.

The good news is that you don't need to possess a PhD-level understanding of the theoretical aspects of machine learning in order to practice, in the same manner that not all programmers require a theoretical computer science education in order to be effective coders.

Andrew Ng's Coursera course often gets rave reviews for its content; my suggestion, however, is to browse the course notes compiled by a former student of the online course's previous incarnation. Skip over the Octave-specific notes (a Matlab-like language unrelated to our Python pursuits). Be warned that these are not "official" notes, but do seem to capture the relevant content from Andrew's course material. Of course, if you have the time and interest, now would be the time to take Andrew Ng's Machine Learning course on Coursera.

There all sorts of video lectures out there if you prefer, alongside Ng's course mentioned above. I'm a fan of Tom Mitchell, so here's a link to his recent lecture videos (along with Maria-Florina Balcan), which I find particularly approachable:

You don't need all of the notes and videos at this point. A valid strategy involves moving forward to particular exercises below, and referencing applicable sections of the above notes and videos when appropriate. For example, when you come across an exercise implementing a regression model below, read the appropriate regression section of Ng's notes and/or view Mitchell's regression videos at that time.

Step 3: Scientific Python Packages Overview

Alright. We have a handle on Python programming and understand a bit about machine learning. Beyond Python there are a number of open source libraries generally used to facilitate practical machine learning. In general, these are the main so-called scientific Python libraries we put to use when performing elementary machine learning tasks (there is clearly subjectivity in this):

numpy - mainly useful for its N-dimensional array objects

pandas - Python data analysis library, including structures such as dataframes

matplotlib - 2D plotting library producing publication quality figures

scikit-learn - the machine learning algorithms used for data analysis and data mining tasks

A good approach to learning these is to cover this material:

This pandas tutorial is good, and to the point:

You will see some other packages in the tutorials below, including, for example, Seaborn, which is a data visualization library based on matplotlib. The aforementioned packages are (again, subjectively) the core of a wide array of machine learning tasks in Python; however, understanding them should let you adapt to additional and related packages without confusion when they are referenced in the following tutorials.

Now, on to the good stuff...

# data[].attributes.attachment_link.title
7 Steps to Mastering Machine Learning With Python

# data[].attributes.attachment_link.description
Getting started. Two of the most de-motivational words in the English language. The first step is often the hardest to take, and when given too much choice in terms of direction it can often be debilitating. Where to begin?

# data[].attributes.body
"Eine Fundamentale Idee ist Sachverhalt, der in der historischen Entwicklung deutlich wahrnehmbar ist und längerfristig relevant bleibt." [1, S. 32]

Das Zeitkriterium ist erfüllt. Die folgende Grafik zeigt die Historische Entwicklung von Artificial Intelligence (AI) und ihrer Unterkategorien Machine Learning (ML) und Deep Learning (DL)

# data[].attributes.body
Gottfredson, Linda S. "Mainstream science on intelligence: An editorial with 52 signatories, history, and bibliography." (1997): 13-23.
(nach https://en.wikipedia.org/wiki/Intelligence übersetzt mit www.DeepL.com/Translator)

# data[].attributes.body
Vortrag von Prof. Dr. Christian Bauckhage

# data[].attributes.attachment_link.authors[].name
Zentrum für LehrerInnenbildung (ZfL) Uni Köln

# data[].attributes.attachment_link.title
Prof. Dr. Christian Bauckhage – Künstliche Intelligenz

# data[].attributes.body
Gerne kannst auch du Links und Ideen in diesem Padlet hinzufügen. KI ist ein riesen Thema. Daher kann dieses Padlet nur eine kleinen Ausschnitt davon erfassen.

# data[].attributes.body
Vortrag von Prof. Dr. Christian Bauckhage
Format: Video
Jahrgang: Sek II, Sek I

# data[].attributes.attachment_link.authors[].name
Zentrum für LehrerInnenbildung (ZfL) Uni Köln

# data[].attributes.attachment_link.title
Prof. Dr. Christian Bauckhage – Künstliche Intelligenz

# data[].attributes.body
Samlung von Interaktiven Spielen und Experimente zum selber Ausprobieren.
Format: Sammlung von Links auf Twitter
Jahrgang: Primar, Sek I, Sek II

# data[].attributes.wish_content.attachment_props.text
Wer das Thema Künstliche Intelligenz #KI und #MachineLearnning im Unterricht behandeln möchte, findet in diesem Thread ein paar Beispiele, interaktive Spiele und Experimente 🤓🤖👇
#digitaleBildung #schule #twitterlehrerzimmer #unterricht

# data[].attributes.wish_content.attachment_props.original_text
Wer das Thema Künstliche Intelligenz #KI und #MachineLearnning im Unterricht behandeln möchte, findet in diesem Thread ein paar Beispiele, interaktive Spiele und Experimente 🤓🤖👇
#digitaleBildung #schule #twitterlehrerzimmer #unterricht

# data[].attributes.attachment_link.embed_code
Wer das Thema Künstliche Intelligenz #KI und #MachineLearnning im Unterricht behandeln möchte, findet in diesem Thread ein paar Beispiele, interaktive Spiele und Experimente 🤓🤖👇#digitaleBildung #schule #twitterlehrerzimmer #unterricht
— fobizz (@fobizz) July 7, 2018

# data[].attributes.attachment_link.metadata.attachment_props_source.data.text
Wer das Thema Künstliche Intelligenz #KI und #MachineLearnning im Unterricht behandeln möchte, findet in diesem Thread ein paar Beispiele, interaktive Spiele und Experimente 🤓🤖👇
#digitaleBildung #schule #twitterlehrerzimmer #unterricht

# data[].attributes.attachment_link.metadata.attachment_props.original_text
Wer das Thema Künstliche Intelligenz #KI und #MachineLearnning im Unterricht behandeln möchte, findet in diesem Thread ein paar Beispiele, interaktive Spiele und Experimente 🤓🤖👇
#digitaleBildung #schule #twitterlehrerzimmer #unterricht

# data[].attributes.attachment_link.metadata.attachment_props.text
Wer das Thema Künstliche Intelligenz #KI und #MachineLearnning im Unterricht behandeln möchte, findet in diesem Thread ein paar Beispiele, interaktive Spiele und Experimente 🤓🤖👇
#digitaleBildung #schule #twitterlehrerzimmer #unterricht

# data[].attributes.body
"Eine Fundamentale Idee ist ein Sachverhalt, der einen Bezug zur Sprache und zum Denken des Alltags und der Lebenswelt besitzt." [1, S. 32]

Das Sinnkriterium ist erfüllt, da KI schon heute allgegenwärtig ist (z.B. in Sprachassistenten wie Alexa, Siri und OK-Google, bei Internet-Suchanfragen über Google oder DuckDuckGo, in Empfehlungssystemen auf online Markt-,Video- und Musikplattformen)

# data[].attributes.body
https://youtu.be/v1nZnuokryw

# data[].attributes.body
Format: Blog mit Tutorial
Jahrgang: 10-12

# data[].attributes.attachment_link.readable_text
Maschinelles Lernen ( Machine Learning) ist eine Gebiet der Künstlichen Intelligenz (KI, bzw. AI von Artificial Intelligence) und der größte Innovations- und Technologietreiber dieser Jahre. In allen Trendthemen - wie etwa Industrie 4.0 oder das vernetzte und selbstfahrende Auto - spielt die KI eine übergeordnete Rolle. Beispielsweise werden in Unternehmen viele Prozesse automatisiert und auch Entscheidungen auf operativer Ebene von einer KI getroffen, zum Beispiel in der Disposition (automatisierte Warenbestellungen) oder beim Festsetzen von Verkaufspreisen.

Aufsehen erregte Google mit seiner KI namens AlphaGo, einem Algortihmus, der den Weltmeister im Go-Spiel in vier von fünf Spielen besiegt hatte. Das Spiel Go entstand vor mehr als 2.500 Jahren in China und ist auch heute noch in China und anderen asiatischen Ländern ein alltägliches Gesellschaftsspiel. Es wird teilweise mit dem westlichen Schach verglichen, ist jedoch einfacher und komplexer zugleich (warum? das wird im Google Blog erläutert). Machine Learning kann mit einer Vielzahl von Methoden umgesetzt werden, werden diese Methoden sinnvoll miteinander kombiniert, können durchaus äußerst komplexe KIs erreicht werden. Der aktuell noch gängigste Anwendungsfall für Machine Learning ist im eCommerce zu finden und den meisten Menschen als die Produktvorschläge von Amazon.com bekannt: Empfehlungsdienste (Recommender System).

Klassifikation via K-Nearest Neighbour Algorithmus

Ein häufiger Zweck des maschinellen Lernens ist, technisch gesehen, die Klassifikation von Daten in Abhängigkeit von anderen Daten. Es gibt mehrere ML-Algorithmen, die eine Klassifikation ermöglichen, die wohl bekannteste Methode ist der k-Nearest-Neighbor-Algorithmus (Deutsch:„k-nächste-Nachbarn"), häufig mit "kNN" abgekürzt. Das von mir interviewte FinTech StartUp Number26 nutzt diese Methodik beispielsweise zur Klassifizierung von Finanztransaktionen.

Um den Algorithmus Schritt für Schritt aufbauen zu können, müssen wir uns

Natürlich gibt es in Python, R und anderen Programmiersprachen bereits fertige Bibliotheken, die kNN bereits anbieten, denen quasi nur Matrizen übergeben werden müssen. Am bekanntesten ist wohl die scikit-learn Bibliothek für Python, die mehrere Nächste-Nachbarn-Modelle umfasst. Mit diesem Minimalbeispiel wollen wir den grundlegenden Algorithmus von Grund auf erlernen. Wir wollen also nicht nur machen, sondern auch verstehen.

Vorab: Verwendete Bibliotheken

Um den nachstehenden Python-Code (Python 3.x, sollte allerdings auch mit Python 2.7 problemlos funktionieren) ausführen zu können, müssen folgende Bibliotheken eingebunden werden:

Übrigens: Eine Auflistung der wohl wichtigsten Pyhton-Bibliotheken für Datenanalyse und Datenvisualisierung schrieb ich bereits hier.

Schritt 1 - Daten betrachten und Merkmale erkennen

Der erste Schritt ist tatsächlich der aller wichtigste, denn erst wenn der Data Scientist verstanden hat, mit welchen Daten er es zu tun hat, kann er die richtigen Entscheidungen treffen, wie ein Algorithmus richtig abgestimmt werden kann und ob er für diese Daten überhaupt der richtige ist.

In der Realität haben wir es oft mit vielen verteilten Daten zu tun, in diesem Minimalbeispiel haben wir es deutlich einfacher: Der Beispiel-Datensatz enthält Informationen über Immobilien über vier Spalten.

Quadratmeter: Größe der nutzbaren Fläche der Immobilie in der Einheit m²

Wandhoehe: Höhe zwischen Fußboden und Decke innerhalb der Immobilie in der Einheit m

IA_Ratio: Verhältnis zwischen Innen- und Außenflächen (z. B. Balkon, Garten)

Kategorie: Enthält eine Klassifizierung der Immobilie als "Haus", "Wohnung" und "Büro"

[box]Hinweis für Python-Einsteiger: Die Numpy-Matrix ist speziell für Matrizen-Kalkulationen entwickelt. Kopfzeilen oder das Speichern von String-Werten sind für diese Datenstruktur nicht vorgesehen![/box]

Aufgerufen wird diese Funktion dann so:

Die Matrix mit den drei Spalten (Quadratmeter, Wandhohe, IA_Ratio) landen in der Variable "dataSet".

Schritt 2 - Merkmale im Verhältnis zueinander perspektivisch betrachten

Für diesen Anwendungsfall soll eine Klassifizierung (und gewissermaßen die Vorhersage) erfolgen, zu welcher Immobilien-Kategorie ein einzelner Datensatz gehört. Im Beispieldatensatz befinden sich vier Merkmale: drei Metriken und eine Kategorie (Wohnung, Büro oder Haus). Es stellt sich zunächst die Frage, wie diese Merkmale zueinander stehen. Gute Ideen der Datenvisualisierung helfen hier fast immer weiter. Die gängigsten 2D-Visualisierungen in Python wurden von mir bereits hier zusammengefasst.

[box]Hinweis: In der Praxis sind es selten nur drei Dimensionen, mit denen Machine Learning betrieben wird. Das Feature-Engineering, also die Suche nach den richtigen Features in verteilten Datenquellen, macht einen wesentlichen Teil der Arbeit eines Data Scientists aus - wie auch beispielsweise Chief Data Scientist Klaas Bollhoefer (siehe Interview) bestätigt.[/box]

ax = fig . add_subplot ( 111 )

ax = fig . add_subplot ( 111 )

Die beiden Scatter-Plots zeigen, das Häuser (blau) in allen Dimensionen die größte Varianz haben. Büros (gelb) können größer und höher ausfallen, als Wohnungen (rot), haben dafür jedoch tendenziell ein kleineres IA_Ratio. Könnten die Kategorien (blau, gelb, rot) durch das Verhältnis innerhalb von einem der beiden Dimensionspaaren in dem zwei dimensionalen Raum exakt voneinander abgegrenzt werden, könnten wir hier stoppen und bräuchten auch keinen kNN-Algorithmus mehr. Da wir jedoch einen großen Überschneidungsbereich in beiden Dimensionspaaren haben (und auch Wandfläche zu IA_Ratio sieht nicht besser aus),

Eine 3D-Visualisierung eignet sich besonders gut, einen Überblick über die Verhältnisse zwischen den drei Metriken zu erhalten: (die Werte wurden hier bereits normalisiert, liegen also zwischen 0,00 und 1,00)

Es zeigt sich gerade in der 3D-Ansicht recht deutlich, dass sich Büros und Wohnungen zum nicht unwesentlichen Teil überschneiden und hier jeder Algorithmus mit der Klassifikation in Probleme geraten wird, wenn uns wirklich nur diese drei Dimensionen zur Verfügung stehen.

Schritt 3 - Kalkulation der Distanzen zwischen den einzelnen Punkten

Bei der Berechnung der Distanz in einem Raum hilft uns der Satz des Pythagoras weiter. Die zu überbrückende Distanz, um von A nach B zu gelangen, lässt sich einfach berechnen, wenn man entlang der Raumdimensionen Katheten aufspannt.

Die Hypotenuse im Raum stellt die Distanz dar und berechnet sich aus der Wurzel aus der Summe der beiden Katheten im Quadrat. Die beiden Katheten bilden sich aus der Differenz der Punktwerte (q, p) in ihrer jeweiligen Dimension.Bei mehreren Dimensionen gilt der Satz entsprechend:

Um mit den unterschiedlichen Werte besser in ihrer Relation zu sehen, sollten sie einer Normalisierung unterzogen werden. Dabei werden alle Werte einer Dimension einem Bereich zwischen 0.00 und 1.00 zugeordnet, wobei 0.00 stets das Minimum und 1.00 das Maximum darstellt.

Die Funktion kann folgendermaßen aufgerufen werden:

Schritt 4 & 5 - Klassifikation durch Eingrenzung auf k-nächste Nachbarn

Die Klassifikation erfolgt durch die Kalkulation entsprechend der zuvor beschriebenen Formel für die Distanzen in einem mehrdimensionalen Raum, durch Eingrenzung über die Anzahl an k Nachbarn und Sortierung über die berechneten Distanzen.

Über folgenden Code rufen wir die Klassifikations-Funktion auf und legen die k-Eingrenzung fest, nebenbei werden Fehler gezählt und ausgewertet. Hier werden der Reihe nach die ersten 30 Zeilen verarbeitet:

Nur 30 Testdatensätze auszuwählen ist eigentlich viel zu knapp bemessen und hier nur der Übersichtlichkeit geschuldet. Besser ist für dieses Beispiel die Auswahl von 100 bis 300 Datensätzen. Die Ergebnisse sind aber bereits recht ordentlich, allerdings fällt dem Algorithmus - wie erwartet - noch die Unterscheidung zwischen Wohnungen und Büros recht schwer.

0 - klassifiziert wurde: Buero, richtige Antwort: Buero
1 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
2 - klassifiziert wurde: Buero, richtige Antwort: Buero
3 - klassifiziert wurde: Buero, richtige Antwort: Buero
4 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
5 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
6 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
7 - klassifiziert wurde: Wohnung, richtige Antwort: Buero
8 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
9 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
10 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
11 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
12 - klassifiziert wurde: Buero, richtige Antwort: Buero
13 - klassifiziert wurde: Wohnung, richtige Antwort: Buero
14 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
15 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
16 - klassifiziert wurde: Buero, richtige Antwort: Buero
17 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
18 - klassifiziert wurde: Haus, richtige Antwort: Haus
19 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
20 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
21 - klassifiziert wurde: Buero, richtige Antwort: Buero
22 - klassifiziert wurde: Buero, richtige Antwort: Buero
23 - klassifiziert wurde: Buero, richtige Antwort: Buero
24 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
25 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
26 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
27 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
28 - klassifiziert wurde: Wohnung, richtige Antwort: Wohnung
29 - klassifiziert wurde: Buero, richtige Antwort: Buero
Error Count: 2

Über weitere Tests wird deutlich, dass k nicht zu niedrig und auch nicht zu hoch gesetzt werden darf.

Ein nächster Schritt wäre die Entwicklung eines Trainingprogramms, dass die optimale Konfiguration (k-Eingrenzung, Gewichtung usw.) ermittelt.

Fehlerraten herabsenken

Die Fehlerquote ist im Grunde niemals ganz auf Null herabsenkbar, sonst haben wir kein maschinelles Lernen mehr, sondern könnten auch feste Regeln ausmachen, die wir nur noch einprogrammieren (hard-coding) müssten. Wer lernt, macht auch Fehler! Dennoch ist eine Fehlerquote von 10% einfach zu viel für die meisten Anwendungsfälle. Was kann man hier tun?

1. Den Algorithmus verbessern (z. B. optimale k-Konfiguration und Gewichtung finden)

2. mehr Merkmale finden (= mehr Dimensionen)

3. mehr Daten hinzuziehen (gut möglich, dass alleine dadurch z. B. Wohnungen und Büros besser unterscheidbar werden)

4. einen anderen Algorithmus probieren (kNN ist längst nicht für alle Anwendungen ideal!)

Das Problem mit den Dimensionen

Theoretisch kann kNN mit undenklich vielen Dimensionen arbeiten, allerdings steigt der Rechenaufwand damit auch ins unermessliche. Der k-nächste-Nachbar-Algorithmus ist auf viele Daten und Dimensionen angewendet recht rechenintensiv.

In der Praxis hat nicht jedes Merkmal die gleiche Tragweite in ihrer Bedeutung für die Klassifikation und mit jeder weiteren Dimension steigt auch die Fehleranfälligkeit, insbesondere durch Datenfehler (Rauschen). Dies kann man sich bei wenigen Dimensionen noch leicht bildlich vorstellen, denn beispielsweise könnten zwei Punkte in zwei Dimensionen nahe beieinander liegen, in der dritten Dimension jedoch weit auseinander, was im Ergebnis dann eine lange Distanz verursacht. Wenn wir beispielsweise 101 Dimensionen berücksichtigen, könnten auch hier zwei Punkte in 100 Dimensionen eng beieinander liegen, läge jedoch in der 101. Dimension (vielleicht auch auf Grund eines Datenfehlers) eine lange Distanz vor, wäre die Gesamtdistanz groß. Mit Gewichtungen könnten jedoch als wichtiger einzustufenden Dimensionen bevorzugt werden und als unsicher geltende Dimensionen entsprechend entschärft werden.

Je mehr Dimensionen berücksichtigt werden sollen, desto mehr Raum steht zur Verfügung, so dass um wenige Datenpunkte viel Leerraum existiert, der dem Algorithmus nicht weiterhilft. Je mehr Dimensionen berücksichtigt werden, desto mehr Daten müssen zu Verfügung gestellt werden, im exponentiellen Anstieg - Wo wir wieder beim Thema Rechenleistung sind, die ebenfalls exponentiell ansteigen muss.

Weiterführende Literatur

Machine Learning in Action

Introduction to Machine Learning with Python
Einführung in Data Science: Grundprinzipien der Datenanalyse mit Python
Benjamin Aunkofer ist Lead Data Scientist bei DATANOMIQ und Hochschul-Dozent mit Fokus auf Business Analytics. Neben Data Science engagiert er sich auch sehr für die aktuellen Trends rund um die Industrie 4.0 im Connected Industry e.V..

# data[].attributes.attachment_link.title
Machine Learning mit Python - Minimalbeispiel

# data[].attributes.attachment_link.description
Maschinelles Lernen ( Machine Learning) ist eine Gebiet der Künstlichen Intelligenz (KI, bzw. AI von Artificial Intelligence) und der größte Innovations- und Technologietreiber dieser Jahre. In allen Trendthemen - wie etwa Industrie 4.0 oder das vernetzte und selbstfahrende Auto - spielt die KI eine übergeordnete Rolle.

# data[].attributes.body
"Eine Fundamentale Idee ist ein Sachverhalt, der sich auf verschiedenen kognitiven Repräsentationsstufen (enaktiv, ikonisch, symbolisch) darstellen lässt." [1, S. 32]

Das Repräsentationskriterium ist erfüllte, wie das Material von AI Unpluged zeigt.