Dichterisches Coden: Unterschied zwischen den Versionen
Aus exmediawiki
C.heck (Diskussion | Beiträge) |
C.heck (Diskussion | Beiträge) |
||
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | '''24.10.2019''' | + | [[AI@exLabIII|Seminar]], '''24.10.2019''' |
− | - | + | |
+ | Präsentationsfolie:<br> | ||
+ | [[Datei:Firstpage.png|400px|link=https://exmediawiki.khm.de/exmediawiki/images/2/29/Dichterisches_coden-slides.pdf]] | ||
---- | ---- | ||
''"Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt."'' (Wittgenstein) | ''"Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt."'' (Wittgenstein) | ||
Zeile 56: | Zeile 58: | ||
=Das Perzeptron= | =Das Perzeptron= | ||
[[File:02_01.png|800px]] | [[File:02_01.png|800px]] | ||
− | [[File:Knn3.png|400px]][[File: | + | [[File:Knn3.png|400px]][[File:perc2.png|400px]] |
==Der lineare Klassifikator== | ==Der lineare Klassifikator== | ||
Zeile 66: | Zeile 68: | ||
Der britische Mathematiker hat die Gesetze der Logik formuliert, nach denen Computer, Smartphones, Datenbanken und eben auch Internet-Suchmaschinen funktionieren. Die Boole'sche Algebra gilt als das Fundament der modernen Informationstechnologie. | Der britische Mathematiker hat die Gesetze der Logik formuliert, nach denen Computer, Smartphones, Datenbanken und eben auch Internet-Suchmaschinen funktionieren. Die Boole'sche Algebra gilt als das Fundament der modernen Informationstechnologie. | ||
− | das bool'sche Entscheidungsverfahren | + | '''das bool'sche Entscheidungsverfahren:''' |
* Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht. | * Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht. | ||
[[File:Knn1.png|200px]][[File:Boolsche-logikfunktion.png|300px]][[File:LogicGatesWorking.png|300px]] << Claude Shannon | [[File:Knn1.png|200px]][[File:Boolsche-logikfunktion.png|300px]][[File:LogicGatesWorking.png|300px]] << Claude Shannon | ||
− | Logik | + | '''Logik''' << Schlußfolgerungslehre, Denklehre: |
* In der Logik wird die Struktur von Argumenten im Hinblick auf ihre Gültigkeit untersucht, unabhängig vom Inhalt der Aussagen. | * In der Logik wird die Struktur von Argumenten im Hinblick auf ihre Gültigkeit untersucht, unabhängig vom Inhalt der Aussagen. | ||
− | + | '''formalisierte Logik''': | |
* „Formale Logik“ bezeichnet eine Notation von Schlüssen mittels einer formalen Sprache, die oftmals spezielle Symbole einführt. Dabei wird üblicherweise genau angegeben, wie wohlgeformte Ausdrücke dieser Sprache gebildet werden (Syntax). | * „Formale Logik“ bezeichnet eine Notation von Schlüssen mittels einer formalen Sprache, die oftmals spezielle Symbole einführt. Dabei wird üblicherweise genau angegeben, wie wohlgeformte Ausdrücke dieser Sprache gebildet werden (Syntax). | ||
Zeile 86: | Zeile 88: | ||
Wir werden in diesem Semester Christian Lindner aktiv unterstützen und erstmal einen Klassifikator trainieren, der uns sagen wird, ob vor mir ein "EKI" in des Bäckers Schlange steht? | Wir werden in diesem Semester Christian Lindner aktiv unterstützen und erstmal einen Klassifikator trainieren, der uns sagen wird, ob vor mir ein "EKI" in des Bäckers Schlange steht? | ||
− | Dazu fragen | + | Dazu haben wir eine Merkmalsliste erstellt und fragen uns daraufhin, beispielsweise ob Die Person vor uns 1. '''männlich''' ist und zweitens '''eine Geldscheinklammer aus der Hosentasche zieht zum bezahlen eines 80 cent Betrages'''? |
Wir nennen hierbei die beiden Spalten "X" und "Y" unsere Merkmale (engl. features), die wir als Eingabe verwenden, und "EKI" ist unser gesuchter Wert oder die gewünschte Ausgabe. | Wir nennen hierbei die beiden Spalten "X" und "Y" unsere Merkmale (engl. features), die wir als Eingabe verwenden, und "EKI" ist unser gesuchter Wert oder die gewünschte Ausgabe. | ||
Zeile 92: | Zeile 94: | ||
So gehen wir also einfach mal davon aus, dass wir eigentlich nicht so genau wissen, wie man einen EKI präzise definieren kann: wir haben uns nur diese 2 Merkmale (X und Y) zurechtgelegt um zum richtigen ergebnis zu kommen. | So gehen wir also einfach mal davon aus, dass wir eigentlich nicht so genau wissen, wie man einen EKI präzise definieren kann: wir haben uns nur diese 2 Merkmale (X und Y) zurechtgelegt um zum richtigen ergebnis zu kommen. | ||
− | Später dann im | + | Später dann im Training werden wir auch wissen, was das erwartete bzw. richtige Ergebnis ist. |
Danach wollen wir dann aber nur noch mit den Eingabe-Merkmalen zum Ziel kommen, ohne dass wir die Antwort schon im Voraus kennen. << Maschinelles Lernen | Danach wollen wir dann aber nur noch mit den Eingabe-Merkmalen zum Ziel kommen, ohne dass wir die Antwort schon im Voraus kennen. << Maschinelles Lernen | ||
Zeile 105: | Zeile 107: | ||
{| class="wikitable" | {| class="wikitable" | ||
|-class="hintergrundfarbe5" | |-class="hintergrundfarbe5" | ||
− | !colspan="6"|'''Steht da ein Entwickler Künstlicher Intelligenz vor mir in des Bäckers Schlange?''' | + | !colspan="6"|'''Steht da ein Entwickler Künstlicher Intelligenz (EKI) vor mir in des Bäckers Schlange?''' |
|- | |- | ||
! width="16%" | '''männlich''' || width="16%" | '''Geldscheinklammer''' || width="16%" | NOT || width="16%" | '''AND''' || width="16%" | OR || width="20%" | XOR | ! width="16%" | '''männlich''' || width="16%" | '''Geldscheinklammer''' || width="16%" | NOT || width="16%" | '''AND''' || width="16%" | OR || width="20%" | XOR | ||
Zeile 190: | Zeile 192: | ||
==lineare Klassificodichte== | ==lineare Klassificodichte== | ||
Bitte Euer eigenes Klassificodicht hier eintragen: https://pad.freifunk.net/p/lineare-klassificodichte | Bitte Euer eigenes Klassificodicht hier eintragen: https://pad.freifunk.net/p/lineare-klassificodichte | ||
+ | |||
+ | [[Category:Seminar]] | ||
+ | [[Category:KI]] | ||
+ | [[Category: Natural Language Processing]] | ||
+ | [[Category:Programmierung]] | ||
+ | [[Category:Python]] | ||
+ | [[Category:Logik]] | ||
+ | [[Category:Perzeptron]] | ||
+ | [[Category:Boolean]] | ||
+ | [[Category:WS2019-20]] |
Aktuelle Version vom 31. Mai 2020, 14:02 Uhr
Seminar, 24.10.2019
"Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt." (Wittgenstein)
Inhaltsverzeichnis
Anaconda installed?
if installation == ready: print("Bravo! Lass uns unser Workaround einrichten") else: print("Bitte nach folgender Anleitung jetzt tun: KI_Workaround_installieren")
KHM-Wolke
was bietet euch diese Cloud?:
- Filesharing zwischen eigenen und den Lab-Rechnern
- Eigene Cloud
- Eigener Kalender, Passwortcontainer, Mindmaps etc.
- Frontend für euren E-Mail Account
Link zu unserem Seminars-Filesharing-Ordner: Seminars-Cloud
Experimentelle Informatik - Kalender: https://wolke.khm.de/index.php/apps/calendar/p/n6a59z9AnKKnFgTz/exLabIII
- ...zum Download im *.ics Format: https://wolke.khm.de/remote.php/dav/public-calendars/n6a59z9AnKKnFgTz?export
Todo
bitte vollständiger Name + KHM-Mailadresse eintragen unter: https://pad.dyne.org/pad/#/2/pad/edit/dYjwTAf3tigv-6nOTw6vcsX2/
Anmeldeprozedere machen wir dann nächste Woche...
exMediawiki
jeder Studierende bekommt einen Useraccount, mit dem er editieren, dokumentieren, etc. kann + persönlicher Page. Eine kleine Einführung wie, dann nächste Woche...
Beispielseiten von Studierenden:
- Studierendenseiten:
- Projektseiten:
- Workshops:
- Researches:
Das Perzeptron
Der lineare Klassifikator
boolean
Boole veröffentlichte 1854 "An investigation into the Laws of Thought" (Eine Untersuchung der Gesetze des Denkens).
Der britische Mathematiker hat die Gesetze der Logik formuliert, nach denen Computer, Smartphones, Datenbanken und eben auch Internet-Suchmaschinen funktionieren. Die Boole'sche Algebra gilt als das Fundament der modernen Informationstechnologie.
das bool'sche Entscheidungsverfahren:
- Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht.
Logik << Schlußfolgerungslehre, Denklehre:
- In der Logik wird die Struktur von Argumenten im Hinblick auf ihre Gültigkeit untersucht, unabhängig vom Inhalt der Aussagen.
formalisierte Logik:
- „Formale Logik“ bezeichnet eine Notation von Schlüssen mittels einer formalen Sprache, die oftmals spezielle Symbole einführt. Dabei wird üblicherweise genau angegeben, wie wohlgeformte Ausdrücke dieser Sprache gebildet werden (Syntax).
Dieser Datentyp repräsentiert Wahrheitswerte aus der Menge True und False. Wahrheitswerte kann man mit Operatoren verknüpfen.
Wahrheitstabelle
Wir erlauben nur, dass die Eingabeneuronen binär aktiviert sein dürfen, sprich: es werden nur Aktivierungen von 1 oder 0 zugelassen.
Wir werden in diesem Semester Christian Lindner aktiv unterstützen und erstmal einen Klassifikator trainieren, der uns sagen wird, ob vor mir ein "EKI" in des Bäckers Schlange steht?
Dazu haben wir eine Merkmalsliste erstellt und fragen uns daraufhin, beispielsweise ob Die Person vor uns 1. männlich ist und zweitens eine Geldscheinklammer aus der Hosentasche zieht zum bezahlen eines 80 cent Betrages?
Wir nennen hierbei die beiden Spalten "X" und "Y" unsere Merkmale (engl. features), die wir als Eingabe verwenden, und "EKI" ist unser gesuchter Wert oder die gewünschte Ausgabe.
So gehen wir also einfach mal davon aus, dass wir eigentlich nicht so genau wissen, wie man einen EKI präzise definieren kann: wir haben uns nur diese 2 Merkmale (X und Y) zurechtgelegt um zum richtigen ergebnis zu kommen.
Später dann im Training werden wir auch wissen, was das erwartete bzw. richtige Ergebnis ist.
Danach wollen wir dann aber nur noch mit den Eingabe-Merkmalen zum Ziel kommen, ohne dass wir die Antwort schon im Voraus kennen. << Maschinelles Lernen
In der folgenden Tabelle sind logische Verknüpfungen zusammengefasst, wobei EKI und HGA in diesem Falle Bool'sche Variablen darstellen, die nur die Werte
- 0 bzw. False
oder
- 1 bzw. True
annehmen können:
Steht da ein Entwickler Künstlicher Intelligenz (EKI) vor mir in des Bäckers Schlange? | |||||
---|---|---|---|---|---|
männlich | Geldscheinklammer | NOT | AND | OR | XOR |
False | False | True | False | False | False |
False | True | True | False | True | True |
True | False | False | False | True | True |
True | True | False | True | True | False |
Jupyter Notebook mit Tensorflow environement einrichten
see: KI_Workaround_installieren
erste Schritte mit Python
Python Code Onlione ausführen (ohne lokales Installieren eines Pythoninterpreters):
- Online Python-Idle: https://trinket.io/python
Variablen setzen
EKI = "Entwickler Künstlicher Intelligenz aus Indien" HGA = "Höchstens geduldeter Ausländer"
EKI = 1 HGA = 0
Summe = EKI + HGA
Ausgaben mit print()
print(sum)
print("Hallo Welt")
Eingaben mit input()
Text:
input("is EKI in the house? type true for 1 or false for 0:")
Ganzzahl:
int(input("is EKI in the house? type 1 for true or 0 for false:"))
Fließkommazahl:
float(input("is EKI in the house? type 1.0 for true or 0.0 for false:"))
Kontrollstrukturen
if_Anweisung:
if EKI > 1: print("true") else: print("false")
siehe auch: Übersicht von Vergleichsoperatoren
Kommentare
Einzeiliges Kommentar
# mit dem Hashtag zu Beginn einer Zeile wird auskommentiert
mehrzeilige Kommentare:
"""In 3 Anführungszeichen können mehrzeilige Kommentare (__doc__strings) verfasst werden"""
Python Tutorials
Onlinetutorial:
Book:
Videotutorial:
Hands-on Tutroial:
Code Poetry
siehe: "...Sprache"
lineare Klassificodichte
Bitte Euer eigenes Klassificodicht hier eintragen: https://pad.freifunk.net/p/lineare-klassificodichte