Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
p:ki:fische1 [2022/03/16 21:50] – [3. Fische für den Fischsortierapparat] Ralf Kretzschmarp:ki:fische1 [2024/05/04 10:19] (aktuell) Ralf Kretzschmar
Zeile 1: Zeile 1:
 +Navigation: [[:p:ki:fische1|🐟 Teil 1]] - [[:p:ki:fische2|🐟 Teil 2]] - [[:p:ki:fische3|🐟 Teil 3]] - [[:p:ki:fische4|🐟 Teil 4]] - [[:p:ki:fische_ki|🐟 Zusatzkapitel]] {{gem/mgr}}{{ gem/pageinfo}}
  
 +====== 🐟 Künstliche Intelligenz für echte Fische 1 ======
 +
 +🎯 In dieser Reihe erfährst du, wie eine künstliche Intelligenz automatisiert Daten auswertet und beurteilt. Dazu begibst du dich auf raue See.((Diese Reihe folgt teilweise dem "fish classification example" im "Introduction"-Kapitel des englischsprachigen Lehrbuchs: Richard O. Duda, Peter E. Hart und David G. Stork, "Pattern Classification", Wiley-Interscience, 2. Edition (21. November 2000). Vollständig online zu lesen: [[https://docs.google.com/file/d/0B78A_rsP6RDSVjBTa1ZUSXBGYzA/edit?resourcekey=0-ieDlJmoTUv2WllxQDQcY2Q|hier über diesen Link]] [aufgerufen am 14.12.2023].))
 +
 +\\ 
 +~~INTOC~~
 +
 +\\ 
 +[{{ :p:pasted:fish0191.jpg?320|Fischsortieren [NOAA Photo Library, CC BY 2.0](([[https://www.flickr.com/photos/noaaphotolib/5102531763/|fish0191]] by 
 +[[https://www.flickr.com/photos/noaaphotolib/|NOAA Photo Library]] on flickr, CC BY 2.0)) }}]
 +===== - Ein Fischsortierapparat muss her! =====
 +
 +👩‍🦰 Die junge isländische Hochseefischerin Sigrún ist es leid, im strömenden Regen Fische von Hand zu sortieren (siehe Abbildung). Sigrún hat mitbekommen, dass du dich mit künstlicher Intelligenz befasst. Sie fragt dich, ob du ihr dabei hilfst, einen Fischsortierapparat zu entwickeln. Selbstverständlich lässt du sie nicht im Stich! 
 +
 +[{{ :p:pasted:clupea_harengus1.jpg?320|Hering [Citron, Public Domain](([[https://commons.wikimedia.org/wiki/File:Clupea_harengus1.jpg|Clupea harengus]] by 
 +[[https://commons.wikimedia.org/wiki/User:Citron|Citron]] on wikimedia, Public Domain))}}]
 +[{{ :p:pasted:mallotus_villosus.gif?320|Lodde [Fb78, Public Domain](([[https://commons.wikimedia.org/wiki/File:Mallotus_villosus.gif|Mallotus villosus]] by 
 +[[https://commons.wikimedia.org/wiki/User:Fb78|Fb78]] on wikimedia, Public Domain))}}]
 +
 +🐟 Glücklicherweise fängt Sigrúns Schiff praktisch nur die beiden um Island heimischen Fischsorten **Hering** und **Lodde**. Dein Fischsortierapparat muss daher nur diese zwei Sorten unterscheiden können!
 +
 +\\ 
 +===== - In welchen Korb gehört welcher Fisch? ======
 +
 +  ; Klassifikation
 +  : Wenn Sigrún Fische sortiert, legt sie jeden Fisch entweder in den Hering- oder den Lodde-Korb. So unterteilt sie ihre Fische in zwei Klassen. Das Einteilen in Klassen wird als **Klassifikation** bezeichnet.
 +
 +\\ 
 +===== - Fische für den Fischsortierapparat ======
 +
 +💡 Egal wie unser Fischsortierapparat am Ende aussehen mag, er sollte mithilfe von echten Fischen konstruiert und mit echten Fischen getestet werden.
 +
 +🐟 Sigrún hat dir aus diesem Grunde 50 als Hering angeschriebene Heringe und 50 als Lodde angeschriebene Lodde zukommen lassen. Damit die Fische später nicht im Abfall landen, hat Sigrún ihre Lieblingsrezepte für Hering und Lodde beigelegt.
 +
 +\\ 
 +===== - Zu schön um wahr zu sein! ======
 +
 +  ; Threshold
 +  : Ein Fischsortierapparat kann zwei Fischsorten nur dann voneinander unterscheiden, wenn dieser mindestens eine Eigenschaft der Fische messen kann. Nehmen wir an, der Apparat kann die Länge der Fische messen. Dann muss für die Klassifikation festgelegt werden, bis zu welcher Länge ein Fisch noch als Lodde und ab welcher Länge ein Fisch als Hering angesehen wird (Heringe sind in der Regel grösser als Lodde). Diese Grenzlänge wird auch als **Threshold** bezeichnet. Ist ein Fisch länger als der Threshold, so befördert der Apparat den Fisch in den Hering-Korb. Ist ein Fisch kürzer als der Threshold, so landet dieser im Lodde-Korb.
 +
 +<WRAP center round box >
 +== ✍ Auftrag ==
 +Für das Unterscheiden von Hering und Lodde hast du bereits die Längen (in cm) aller 100 Fische gemessen und damit das untenstehende Histogramm erstellt.
 +  - Wenn du mit der Maus über das Histogramm fährst, so wird der Threshold als rote Linie eingeblendet. Alles links vom Threshold wird vom Apparat als Lodde klassifiziert, alles rechts vom Thresold als Hering. Die rote Zahl über dem Threshold gibt an, wie viele Fische falsch klassifiziert werden (wie viele Fische in einem falschen Korb landen). Welches ist der kleinste Fehler, den du erreichen kannst? Trage das Resultat ins Textfeld ein. {{gem/match?0=N4IgTgpg5hAeAOIBcIB6BtABAXQFQAYs8ASEAGhADMAbAQygGdkQBLckAFzg+ZAF8gA#0a73bc9400492abf}}
 +  - Natürlich ist das zu schön um wahr zu sein. Schaue das Histogramm noch einmal genau an. Da stimmt doch etwas nicht! Halte deine Vermutung im Textfeld fest. {{gem/plain?0=N4XyA#41416c56366ce4e9}}
 +
 +{{exorciser/jspg?javascript=%2F%2F%20%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%0A%2F%2F%20CONSTANTS%20AND%20GLOBAL%20VARIABLES%0A%2F%2F%20%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%0A%0A%0Aconst%20INTERVAL%20%3D%20%5B0%2C%205%2C%2010%2C%2015%2C%2020%2C%2025%2C%2030%2C%2035%2C%2040%5D%3B%0Aconst%20HERING%20%3D%20%5B0%2C%200%2C%200%2C%200%2C%200%2C%2024%2C%2019%2C%206%2C%201%5D%3B%0Aconst%20LODDE%20%3D%20%5B3%2C%209%2C%2017%2C%2015%2C%206%2C%200%2C%200%2C%200%2C%200%5D%3B%0Aconst%20NUMBER%20%3D%20%5B0%2C%2010%2C%2020%2C%2030%2C%2040%5D%3B%0Aconst%20X_SHIFT%20%3D%2070%3B%0Aconst%20Y_SHIFT%20%3D%2040%3B%0Aconst%20GRAPH_WIDTH%20%3D%20270%3B%0Aconst%20GRAPH_HEIGHT%20%3D%2080%3B%0Aconst%20FONT_SIZE%20%3D%2015%3B%0Aconst%20COLUMN_WIDTH%20%3D%20%28GRAPH_WIDTH%20%2F%20INTERVAL.length%20-%206%29%20%2F%202%3B%0A%0A%0A%0A%2F%2F%20%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%0A%2F%2F%20FUNCTIONS%0A%2F%2F%20%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%0A%0A%0A%2F%2F%0A%2F%2F%20draw%20histogram%0A%2F%2F%0Afunction%20drawGraph%28%29%20%7B%0A%09textAlign%28CENTER%29%3B%0A%09for%20%28i%20%3D%200%3B%20i%20%3C%20INTERVAL.length%3B%20i%20%3D%20i%20%2B%201%29%20%7B%0A%09%09noStroke%28%29%3B%0A%09%09fill%28%27green%27%29%3B%0A%09%09rect%28X_SHIFT%20%2B%20i%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%20%2B%202%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20-%20LODDE%5Bi%5D%20%2a%20GRAPH_HEIGHT%20%2F%20NUMBER%5BNUMBER.length%20-%201%5D%2C%20COLUMN_WIDTH%2C%20LODDE%5Bi%5D%20%2a%20GRAPH_HEIGHT%20%2F%20NUMBER%5BNUMBER.length%20-%201%5D%29%3B%0A%09%09fill%28%27blue%27%29%3B%0A%09%09rect%28X_SHIFT%20%2B%20i%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%20%2B%20COLUMN_WIDTH%20%2B%204%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20-%20HERING%5Bi%5D%20%2a%20GRAPH_HEIGHT%20%2F%20NUMBER%5BNUMBER.length%20-%201%5D%2C%20COLUMN_WIDTH%2C%20HERING%5Bi%5D%20%2a%20GRAPH_HEIGHT%20%2F%20NUMBER%5BNUMBER.length%20-%201%5D%29%3B%0A%09%09strokeWeight%281%29%3B%0A%09%09stroke%28%22black%22%29%3B%0A%09%09line%28X_SHIFT%2C%20Y_SHIFT%2C%20X_SHIFT%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%29%3B%0A%09%09line%28X_SHIFT%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%2C%20X_SHIFT%20%2B%20GRAPH_WIDTH%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%29%3B%0A%09%09line%28X_SHIFT%20%2B%20i%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%2C%20X_SHIFT%20%2B%20i%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20%2B%20FONT_SIZE%20%2F%203%29%3B%0A%09%09noStroke%28%29%3B%0A%09%09fill%28%27black%27%29%3B%0A%09%09text%28INTERVAL%5Bi%5D%2C%20X_SHIFT%20%2B%20%28i%20%2B%200.5%29%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20%2B%20FONT_SIZE%29%3B%0A%09%7D%0A%09strokeWeight%281%29%3B%0A%09stroke%28%22black%22%29%3B%0A%09line%28X_SHIFT%20%2B%20GRAPH_WIDTH%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%2C%20X_SHIFT%20%2B%20GRAPH_WIDTH%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20%2B%20FONT_SIZE%20%2F%203%29%3B%0A%09textAlign%28RIGHT%29%3B%0A%09for%20%28j%20%3D%200%3B%20j%20%3C%20NUMBER.length%3B%20j%20%3D%20j%20%2B%201%29%20%7B%0A%09%09strokeWeight%281%29%3B%0A%09%09stroke%28%22black%22%29%3B%0A%09%09line%28X_SHIFT%20-%20FONT_SIZE%20%2F%203%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20-%20j%20%2a%20GRAPH_HEIGHT%20%2F%20%28NUMBER.length%20-%201%29%2C%20X_SHIFT%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20-%20j%20%2a%20GRAPH_HEIGHT%20%2F%20%28NUMBER.length%20-%201%29%29%3B%0A%09%09noStroke%28%29%3B%0A%09%09fill%28%27black%27%29%3B%0A%09%09text%28NUMBER%5Bj%5D%2C%20X_SHIFT%20-%202%20%2a%20FONT_SIZE%20%2F%203%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20%2B%20FONT_SIZE%20%2F%203%20-%20j%20%2a%20GRAPH_HEIGHT%20%2F%20%28NUMBER.length%20-%201%29%29%3B%0A%09%7D%0A%7D%0A%0A%0A%2F%2F%0A%2F%2F%20add%20labels%20to%20histogram%0A%2F%2F%0Afunction%20addTextLabels%28%29%20%7B%0A%09textAlign%28CENTER%29%3B%0A%09fill%28%22green%22%29%3B%0A%09text%28%22Lodde%22%2C%20X_SHIFT%20%2B%20GRAPH_WIDTH%20%2F%204%2C%20Y_SHIFT%20-%20FONT_SIZE%29%3B%0A%09fill%28%22blue%22%29%3B%0A%09text%28%22Hering%22%2C%20X_SHIFT%20%2B%203%20%2a%20GRAPH_WIDTH%20%2F%204%2C%20Y_SHIFT%20-%20FONT_SIZE%29%3B%0A%09fill%28%22black%22%29%3B%0A%09text%28%22Messgr%C3%B6ssenintervalle%22%2C%20X_SHIFT%20%2B%20GRAPH_WIDTH%20%2F%202%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%20%2B%203%20%2a%20FONT_SIZE%29%3B%0A%09rotate%28-HALF_PI%29%3B%0A%09text%28%22Anzahl%20Fische%22%2C%20-%28Y_SHIFT%20%2B%20GRAPH_HEIGHT%20%2F%202%29%2C%20X_SHIFT%20-%203%20%2a%20FONT_SIZE%29%3B%0A%09rotate%28HALF_PI%29%3B%0A%7D%0A%0A%0A%2F%2F%0A%2F%2F%20control%20mouse%20interaction%0A%2F%2F%0A%0Afunction%20addMouseInteraction%28%29%20%7B%0A%09let%20wrong%20%3D%200%3B%0A%09if%20%28mouseX%20%3E%20X_SHIFT%20%26%26%20mouseX%20%3C%20X_SHIFT%20%2B%20GRAPH_WIDTH%29%20%7B%0A%09%09mousePosition%20%3D%20Math.round%28%28mouseX%20-%20X_SHIFT%29%20%2F%20%28GRAPH_WIDTH%20%2F%20INTERVAL.length%29%29%3B%0A%09%09strokeWeight%283%29%3B%0A%09%09stroke%28%22red%22%29%3B%0A%09%09line%28X_SHIFT%20%2B%20mousePosition%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%2C%20Y_SHIFT%20%2B%20GRAPH_HEIGHT%2C%20X_SHIFT%20%2B%20mousePosition%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%2C%20Y_SHIFT%20%2B%202%20%2a%20FONT_SIZE%20%2F%203%29%3B%0A%0A%09%09for%20%28h%20%3D%200%3B%20h%20%3C%20mousePosition%3B%20h%2B%2B%29%20%7B%0A%09%09%09wrong%20%3D%20wrong%20%2B%20HERING%5Bh%5D%3B%0A%09%09%7D%0A%09%09for%20%28l%20%3D%20LODDE.length%20-%201%3B%20l%20%3E%3D%20mousePosition%3B%20l--%29%20%7B%0A%09%09%09wrong%20%3D%20wrong%20%2B%20LODDE%5Bl%5D%3B%0A%09%09%7D%0A%09%09noStroke%28%29%3B%0A%09%09fill%28%22red%22%29%3B%0A%09%09textAlign%28CENTER%29%3B%0A%09%09text%28wrong%2C%20X_SHIFT%20%2B%20mousePosition%20%2a%20GRAPH_WIDTH%20%2F%20INTERVAL.length%2C%20Y_SHIFT%20%2B%20FONT_SIZE%20%2F%203%29%3B%0A%09%7D%0A%7D%0A%0A%0A%0A%2F%2F%20%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%0A%2F%2F%20MAIN%20PROGRAM%0A%2F%2F%20%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%0A%0A%0A%2F%2F%0A%2F%2F%20p5.js%20setup%28%29%0A%2F%2F%0Afunction%20setup%28%29%20%7B%0A%09createCanvas%28360%2C%20180%29%3B%0A%09textSize%28FONT_SIZE%29%3B%0A%7D%0A%0A%0A%2F%2F%0A%2F%2F%20p5.js%20draw%28%29%0A%2F%2F%0Afunction%20draw%28%29%20%7B%0A%09background%28%22white%22%29%3B%0A%09addTextLabels%28%29%3B%0A%09drawGraph%28%29%3B%0A%09addMouseInteraction%28%29%3B%0A%7D&css=canvas%20%7B%0A%09border%3A%201px%20solid%20silver%3B%0A%7D&html=%3Cscript%20src%3D%27https%3A%2F%2Fapp.exorciser.ch%2Flib%2Fp5.js%27%3E%3C%2Fscript%3E&height=360px#Histogram1}}
 +</WRAP>
 +
 +\\ 
 +===== - Fortsetzung folgt... ======
 +
 +👩‍🦰 Wie es mit Sigrún und dem Fischsortierapparat weitergeht, erfährst du im [[:p:ki:fische2|🐟 Teil 2]].
 +
 +\\ 
 +=== Eigene Notizen ===
 +{{gem/quill#058db833c5e3807f}}