Probeklausur 2 - Künstliche Intelligenz (EKI)
Dauer: 90 Minuten · Hilfsmittel: ein beidseitig handbeschriebenes DIN-A4-Blatt, keine elektronischen Geräte · Gesamt: 90 Punkte
Bearbeite jede Aufgabe zuerst selbst unter Zeitdruck und decke erst danach die Lösung auf. Rechenwege immer aufschreiben - es gibt Teilpunkte.
Diese zweite Probeklausur legt den Schwerpunkt auf Complex Event Processing, Computer Vision und Unsupervised Learning, deckt aber wie die echte Klausur den gesamten Stoff ab. Die Fragen und Zahlen sind neu und unterscheiden sich bewusst von der ersten Probeklausur.
| Aufgabe | Thema | Punkte | Empf. Zeit |
|---|---|---|---|
| 1 | Complex Event Processing | 15 | 15 min |
| 2 | Computer Vision | 20 | 22 min |
| 3 | Unsupervised Learning | 16 | 16 min |
| 4 | Natural Language Processing | 12 | 11 min |
| 5 | Maschinelles Lernen: Klassifikation | 12 | 11 min |
| 6 | Ethische Aspekte der KI | 15 | 13 min |
| Summe | 90 | 88 min |
Aufgabe 1 - Complex Event Processing (15 P)
Bezug: EKI05.
1.1 Begriffe (4 P)
Erklären Sie kurz die Unterschiede zwischen Ereignis, Ereignisobjekt und Ereignistyp. Geben Sie anschließend einen eigenen Ereignistyp Ladevorgang (Elektroauto) mit vier sinnvollen Attributen an.
1.2 Wahr oder falsch? (3 P) Kreuzen Sie an und begründen Sie in einem Halbsatz.
a) In einem DBMS ist die Query persistent, während die Daten als Strom vorbeifließen.
b) Beim Sliding Window bezeichnet n die Dauer (Fensterbreite) und m die Häufigkeit, mit der das Fenster weiterrückt.
c) Iteratives CEP leitet aus low-level Ereignissen schrittweise high-level Ereignisse ab.
1.3 7-Tage-Inzidenz berechnen (4 P) Die Beispielstadt hat 250.000 Einwohner. Die täglich neu bestätigten Fälle einer Woche lauten:
| Mo | Di | Mi | Do | Fr | Sa | So |
|---|---|---|---|---|---|---|
| 40 | 55 | 35 | 60 | 50 | 45 | 65 |
Berechnen Sie die 7-Tage-Inzidenz (Summe der Fälle, normiert auf 100.000 Einwohner) und bestimmen Sie die zugehörige Kritikalitätsstufe nach folgender Definition:
4 , falls 7inc > 400
3 , sonst falls 7inc > 200
crit(7inc) = 2 , sonst falls 7inc > 100
1 , sonst falls 7inc > 50
0 , sonst
1.4 Iteratives CEP: 7-Tage-Kritikalität (4 P) Aus der 7-Tage-Inzidenz wird als high-level Ereignis der 7-Tage-Kritikalitäts-Score abgeleitet:
Gegeben seien die 7-Tage-Inzidenzen der letzten sieben Tage:
| Tag | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 7inc | 210 | 180 | 130 | 95 | 120 | 160 | 205 |
Bestimmen Sie crit für jeden Tag und daraus den 7-Tage-Kritikalitäts-Score.
Lösung Aufgabe 1
1.1 (4 P) - je 1 P für die drei Begriffe, 1 P für das Beispiel.
- Ereignis (event): etwas Besonderes, das passiert ist (z. B. ein Auto wird an eine Ladesäule angeschlossen). Umgangssprachlicher Oberbegriff.
- Ereignisobjekt (event object): ein Datensatz, der ein Ereignis repräsentiert (die konkrete Instanz).
- Ereignistyp (event type/class): spezifiziert die Struktur von Ereignisobjekten, d. h. ihre Attribute und Datentypen (das Schema).
Analogie zur OOP: Ereignistyp = Klasse, Ereignisobjekt = Instanz, Ereignis = Oberbegriff.
Beispiel-Ereignistyp Ladevorgang mit vier Attributen (Beispiele, andere sinnvoll):
| Attribut | Datentyp |
|---|---|
| Zeitstempel | datetime |
| SäulenId | string |
| geladene_kWh | float |
| Preis | float |
1.2 (3 P) - je 1 P.
- a) Falsch. Genau umgekehrt: Beim CEP ist die Regel persistent und die Daten fließen als Ereignisstrom vorbei. Das persistente-Query-Modell ist das DBMS.
- b) Wahr.
n= Dauer/duration (Fensterbreite),m= windowing frequency (Versatz zwischen Fensterpositionen). - c) Wahr. Ausgabeereignisse dienen erneut als Eingabe (Rückkopplung), so entstehen aus low-level schrittweise high-level Ereignisse.
1.3 (4 P) - 1 P Summe, 2 P Inzidenz, 1 P Kritikalität.
Summe der Fälle: .
Einordnung: (aber nicht ), also crit = 2.
1.4 (4 P) - 3 P für die sieben crit-Werte (halbe Punkte je Fehler), 1 P Minimum.
| Tag | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 7inc | 210 | 180 | 130 | 95 | 120 | 160 | 205 |
| crit | 3 | 2 | 2 | 1 | 2 | 2 | 3 |
- 210 > 200 -> 3; 180 > 100 -> 2; 130 > 100 -> 2; 95 > 50 -> 1; 120 > 100 -> 2; 160 > 100 -> 2; 205 > 200 -> 3.
Falle: Der 7-Tage-Kritikalitäts-Score verwendet laut Folie das Minimum, nicht das Maximum. Ein einziger ruhiger Tag (hier Tag 4 mit crit 1) zieht den Score nach unten - die Bewertung ist bewusst "vorsichtig/glättend".
Aufgabe 2 - Computer Vision (20 P)
Bezug: EKI06. Verwenden Sie diese Sigmoid-Werte (kein Taschenrechner erlaubt):
2.1 Künstliches Neuron (4 P) Ein Neuron hat die Eingänge , mit Gewichten , sowie einen Bias (über ).
a) Berechnen Sie die gewichtete Summe . b) Berechnen Sie die Ausgabe . c) Berechnen Sie die Ableitung .
2.2 Kostenfunktion (3 P) Ein Ausgabelayer mit drei Neuronen liefert bei den Zielwerten . Berechnen Sie die Kostenfunktion .
2.3 Backpropagation (4 P) Für die Neuronen der letzten Schicht aus 2.2 gilt .
a) Berechnen Sie , , . b) Passen Sie ein Gewicht mit an: gegeben , , (Neuron der Vorschicht) und altes .
2.4 2D-Faltung (4 P) Falten Sie das 4x4-Bild mit dem 3x3-Filter (Schrittweite 1, kein Padding). Geben Sie die vollständige 2x2-Merkmalskarte an.
Bild (4x4) Filter (3x3)
1 0 1 0 1 0 1
0 1 1 1 0 1 0
1 1 0 1 1 0 1
0 1 0 0
2.5 Max-Pooling (2 P) Wenden Sie 2x2-Max-Pooling auf das folgende 4x4-Bild an (Ergebnis 2x2):
3 8 1 2
5 1 0 7
9 2 4 4
6 3 8 1
2.6 Keras/CNN interpretieren (3 P) Gegeben das Modell:
model = Sequential([
Conv2D(16, (3,3), activation='relu', input_shape=(28,28,1)),
MaxPooling2D(2,2),
Conv2D(32, (3,3), activation='relu'),
MaxPooling2D(2,2),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])
model.fit(X, Y, batch_size=50, epochs=5)
a) Wie viele Klassen kann dieses Netz unterscheiden, und woran erkennt man das?
b) Wozu dient die Flatten()-Schicht?
c) Was bedeuten batch_size=50 und epochs=5?
Lösung Aufgabe 2
2.1 (4 P) - je 1 P für a) und b), 2 P für c).
a) . b) . c) .
2.2 (3 P)
2.3 (4 P) - 3 P für die drei Deltas, 1 P für das Gewichtsupdate.
a)
b) .
2.4 (4 P) - je 1 P pro korrekt berechneter Zelle. Bei jeder Position wird der Filter über den 3x3-Ausschnitt gelegt, elementweise multipliziert und aufsummiert. Der Filter hat Einsen an den vier Ecken und in der Mitte.
- oben links (Zeilen 0-2, Spalten 0-2):
- oben rechts (Zeilen 0-2, Spalten 1-3):
- unten links (Zeilen 1-3, Spalten 0-2):
- unten rechts (Zeilen 1-3, Spalten 1-3):
2.5 (2 P) - Maximum je 2x2-Block.
- oben links ; oben rechts
- unten links ; unten rechts
2.6 (3 P) - je 1 P.
a) 10 Klassen - die letzte Schicht Dense(10, softmax) hat 10 Ausgabeneuronen (= Anzahl der Klassen); softmax liefert Wahrscheinlichkeiten.
b) Flatten() macht aus der zweidimensionalen Merkmalskarte einen einzigen Feature-Vektor, damit die nachfolgenden Fully-Connected-Schichten (Dense) ihn verarbeiten können.
c) batch_size=50 = Anzahl der Trainingsdaten pro Optimierungsiteration; epochs=5 = wie oft der gesamte Trainingsdatensatz durchlaufen wird (mehr Epochen = potenziell bessere Genauigkeit, aber längere Laufzeit).
Tipp: Ausgabegröße einer Faltung ohne Padding bei Schrittweite 1: . Hier , daher eine 2x2-Karte.
Aufgabe 3 - Unsupervised Learning (16 P)
Bezug: EKI09.
3.1 k-Means Schritt für Schritt (6 P) Gegeben sind sechs Punkte im und :
Die (bewusst ungünstig gewählten) Startzentren sind und .
a) Führen Sie die erste Zuordnung durch (jeder Punkt zum nächsten Zentrum). Der genaue Abstand muss nicht ausgerechnet werden; der Vergleich genügt. b) Berechnen Sie die neuen Zentren als Mittelwerte. c) Ändert sich in der zweiten Zuordnung die Zugehörigkeit von Punkt ? Geben Sie die endgültigen Cluster und Zentren an.
3.2 Min-Max-Normalisierung (4 P)
Ein Datensatz hat die Features Alter (Bereich 20 bis 60) und Einkommen (Bereich 30000 bis 80000).
a) Warum dominiert Einkommen ohne Normalisierung den euklidischen Abstand?
b) Normalisieren Sie mit den Punkt (Alter = 30, Einkommen = 55000).
3.3 PCA (3 P) a) Bringen Sie die PCA-Schritte in die richtige Reihenfolge: (I) Eigenvektoren nach Eigenwert sortieren, (II) Features zentrieren (Mittelwert null), (III) Hauptkomponenten als Linearkombination bilden, (IV) Kovarianzmatrix berechnen, (V) Eigenvektoren/Eigenwerte berechnen. b) Was bezeichnet die "erklärte Varianz" einer Hauptkomponente, und warum kann man Komponenten mit kleiner erklärter Varianz weglassen?
3.4 k-Means-Varianten und Distanz (3 P) Wahr oder falsch?
a) k-Means++ verbessert nur die Initialisierung der Startzentren; der restliche Ablauf ist wie bei k-Means. b) k-Means konvergiert, wenn sich die Clusterzentren nicht mehr ändern. c) k-medoids erlaubt beliebige Punkte im Raum als Clusterzentren, nicht nur Datenpunkte.
Lösung Aufgabe 3
3.1 (6 P) - 2 P Zuordnung, 2 P neue Zentren, 2 P zweite Zuordnung + Endergebnis.
a) Erste Zuordnung (Startzentren , ): liegen näher an ; liegt genau auf ; liegen näher an .
b) Neue Zentren:
c) Zweite Zuordnung: liegt jetzt viel näher an (Abstandsquadrat ) als an (Abstandsquadrat ). wechselt zu . bleiben bei .
Endergebnis (danach stabil):
3.2 (4 P) - 2 P Begründung, 2 P Rechnung.
a) Der euklidische Abstand summiert die quadrierten Differenzen aller Features. Da Einkommen in Tausenderschritten variiert und Alter nur in wenigen Einheiten, sind die Einkommensdifferenzen um Größenordnungen größer und dominieren die Distanz - Alter fällt praktisch nicht ins Gewicht.
b)
- Alter:
- Einkommen:
Normalisierter Punkt: . Nun sind beide Features vergleichbar auf skaliert.
3.3 (3 P) - 1 P Reihenfolge, 2 P erklärte Varianz.
a) Reihenfolge: II -> IV -> V -> I -> III (zentrieren, Kovarianzmatrix, Eigenvektoren/Eigenwerte, sortieren, Linearkombinationen bilden). b) Die erklärte Varianz ist der Anteil der Gesamtvarianz, den eine Hauptkomponente aufnimmt. Da die Komponenten nach absteigender Varianz geordnet sind, steckt die meiste Information in PC1, PC2, ...; Komponenten mit sehr kleiner erklärter Varianz tragen kaum Information und können weggelassen werden (Dimensionsreduktion, z. B. für einen 2D-Plot).
3.4 (3 P) - je 1 P.
a) Wahr. k-Means++ ändert nur die Auswahl der initialen Zentren (Wahrscheinlichkeit proportional zu ); Zuordnung und Update laufen wie bei k-Means. b) Wahr. Konvergenzkriterium ist die Stabilität der Zentroide. c) Falsch. k-medoids erlaubt als Zentren nur Punkte aus dem Datensatz. Beliebige Punkte im Raum sind beim normalen k-Means (Mittelwert) der Fall.
Tipp: Beim k-Means-Rechnen genügt der Vergleich der Abstandsquadrate - die Wurzel muss man nie ziehen, weil sie die Reihenfolge nicht ändert.
Aufgabe 4 - Natural Language Processing (12 P)
Bezug: EKI07.
4.1 Bag-of-Words (3 P) Erstellen Sie das Bag-of-Words (Wort : Häufigkeit) für:
"The cat sat on the mat. The dog sat too."
4.2 tf-idf (4 P) Ein Korpus hat Dokumente. Verwenden Sie und .
| Wort | df | tf im Dokument |
|---|---|---|
| der | 1000 | 12 |
| actionfilm | 100 | 4 |
| quantenphysik | 10 | 3 |
a) Berechnen Sie idf und tfidf für jedes Wort. b) Warum bekommt "der" trotz hoher tf das Gewicht 0?
4.3 Pipeline und spaCy (3 P) a) Nennen Sie die drei Stufen der scikit-learn-Textklassifikations-Pipeline in richtiger Reihenfolge. b) Nennen Sie drei Funktionen von spaCy.
4.4 NLP-Bereiche (2 P) Welche Aussage über Question Answering (QA) im Foliensatz ist korrekt? (Eine Antwort.)
a) QA übersetzt Texte zwischen zwei Sprachen. b) QA vergleicht eine neue Frage mit FAQ-Fragen und gibt bei hinreichender Ähnlichkeit die zugehörige Antwort zurück. c) QA baut aus Texten einen Wissensgraphen auf. d) QA reduziert die Dimension von Wortvektoren.
Lösung Aufgabe 4
4.1 (3 P) - alle Zählungen korrekt = 3 P.
Tokenfolge (kleingeschrieben, ohne Satzzeichen): the, cat, sat, on, the, mat, the, dog, sat, too.
4.2 (4 P) - 3 P Rechnungen, 1 P Begründung.
a)
- der: ;
- actionfilm: ;
- quantenphysik: ;
b) "der" kommt in allen Dokumenten vor (), also . Ein allgegenwärtiges Füllwort ist nicht unterscheidungsstark und wird auf Gewicht 0 abgewertet - unabhängig von der tf.
4.3 (3 P) - je nach Vollständigkeit.
a) CountVectorizer (Bag of Words) -> TfidfTransformer (tf-idf) -> MultinomialNB (Classifier).
b) Drei von: Tokenization, POS-Tagging, Dependency Parsing, Lemmatization, Sentence Boundary Detection, Named Entity Recognition, Entity Linking, Similarity, Text Classification, Rule-based Matching.
4.4 (2 P)
Richtig ist b). Einfaches QA sucht die ähnlichste bekannte FAQ-Frage und liefert deren Antwort; bei zu geringer Konfidenz wird None zurückgegeben. (a) ist maschinelle Übersetzung, (c) Information Extraction, (d) gehört nicht zu QA.
Falle: idf-Rechnung immer mit der im Foliensatz genutzten Basis 10 - , , .
Aufgabe 5 - Maschinelles Lernen: Klassifikation (12 P)
Bezug: EKI02, EKI03. Verwenden Sie: , .
5.1 Multiple Choice (3 P) Kreuzen Sie die jeweils korrekte Aussage an.
a) Klassifikation sagt einen numerischen Wert voraus, Regression eine Kategorie. b) Supervised Learning benötigt gelabelte Trainingsdaten. c) Clustering ist eine Aufgabe des Supervised Learning.
5.2 Entropie (4 P) Eine Menge enthält 8 Elemente: 2 der Klasse A und 6 der Klasse B. Berechnen Sie die Entropie .
5.3 Information Gain (3 P) Eine Menge mit hat . Ein Split "f1 < 5" teilt sie in (Größe 4, ) und (Größe 6, ). Berechnen Sie den Entropieverlust und begründen Sie, ob dieser Split gewählt würde, wenn ein Alternativsplit einen Gewinn von 0,30 hätte.
5.4 Vorverarbeitung (2 P) Wahr oder falsch?
a) Die Testdaten müssen genauso vorverarbeitet werden wie die Trainingsdaten.
b) SimpleImputer(strategy='mean') füllt fehlende Werte mit dem Mittelwert auf.
Lösung Aufgabe 5
5.1 (3 P) - je 1 P.
- a) Falsch. Genau umgekehrt: Klassifikation -> Kategorie, Regression -> numerischer Wert.
- b) Wahr. Supervised Learning lernt aus Daten mit bekanntem Label.
- c) Falsch. Clustering gehört zum Unsupervised Learning.
5.2 (4 P)
Anteile: , .
5.3 (3 P) - 2 P Rechnung, 1 P Begründung.
Der Split "f1 < 5" hätte den Gewinn 0,449 > 0,30. Beim Aufbau eines Entscheidungsbaums wählt man den Split mit dem größten Entropieverlust, also diesen Split.
5.4 (2 P) - je 1 P.
a) Wahr. Sonst passen Features/Format nicht zum trainierten Modell.
b) Wahr. strategy='mean' ersetzt fehlende Werte durch den Mittelwert der Spalte.
Tipp: Entropie ist maximal (= 1) bei 50/50 und 0 bei einer reinen Klasse. Ein Kontrollblick: 2/6 ist unausgewogen, also muss zwischen 0 und 1 liegen - 0,811 passt.
Aufgabe 6 - Ethische Aspekte der KI (15 P)
Bezug: EKI08.
Szenario: Eine Bank setzt ein ML-Modell zur automatischen Kreditwürdigkeitsprüfung ein. Es wird mit historischen Kreditentscheidungen der letzten 20 Jahre trainiert und lehnt neue Anträge ohne menschliche Prüfung ab oder genehmigt sie.
6.1 Bias im ML (5 P) a) Erklären Sie, wie in diesem Szenario Bias entstehen kann, obwohl niemand böse Absichten hat. b) Nennen und beschreiben Sie kurz das im Kurs behandelte reale Fallbeispiel zu Bias im Strafjustizsystem.
6.2 Wer entscheidet - Mensch oder Maschine? (4 P) a) Die Bank überlegt, jede Entscheidung vollautomatisch (ohne Menschen) zu treffen. Nennen Sie je ein Argument für "bessere Entscheidungen" und ein Argument für das Risiko von "Fehlentscheidungen". b) Nennen Sie die zwei im Foliensatz genannten Anwendungsfelder, in denen Maschinen folgenreiche Entscheidungen ohne menschliches Eingreifen treffen.
6.3 Hype vs. Realität und Cyborg (3 P) a) Als was wird "Hype" im Foliensatz definiert, und welche zwei Personen stehen für historische Fehlprognosen? b) Was ist ein Cyborg? Nennen Sie ein alltägliches Beispiel.
6.4 Arbeitsplatzveränderung (3 P) a) Zu welchem historischen Ereignis stellt der Foliensatz einen Bezug her, wenn es um die Ersetzung menschlicher Arbeit geht? b) Nennen Sie zwei Berufe mit hoher Automatisierungswahrscheinlichkeit aus der Frey-and-Osborne-Grafik.
Lösung Aufgabe 6
6.1 (5 P) - 3 P Bias-Mechanismus, 2 P Fallbeispiel.
a) ML-Modelle lernen aus historischen Daten. Enthielten die vergangenen Kreditentscheidungen systematische Benachteiligungen (z. B. bestimmter Gruppen oder Wohngegenden), so projiziert das Modell diese Vorurteile der Vergangenheit in die Zukunft. Bias entsteht also nicht durch böse Absicht, sondern durch verzerrte Trainingsdaten und Modellannahmen - das Modell reproduziert und verstärkt vorhandene Muster.
b) ProPublica "Machine Bias" (2016) / COMPAS: eine Software zur Vorhersage künftiger Straftäter im US-Strafjustizsystem, die laut Untersuchung schwarze Angeklagte benachteiligte. Beispiel: Vernon Prater (weiß) erhielt einen niedrigen Risiko-Score (3), Brisha Borden (schwarz) einen hohen (8), obwohl sie nicht rückfällig wurde.
6.2 (4 P) - 2 P Argumente, 2 P Anwendungsfelder.
a) Für bessere Entscheidungen: Maschinen entscheiden schneller und potenziell konsistenter als Menschen. Risiko Fehlentscheidungen: Bei Fehlern oder verzerrten Daten wird ohne menschliche Kontrolle systematisch falsch entschieden, und die Verantwortung ist unklar. b) Hochfrequenzhandel (HFT) - Beispiel Flash Crash; und autonome Waffen ("select and engage targets without human intervention", Future of Life Open Letter).
6.3 (3 P) - 2 P Hype, 1 P Cyborg.
a) Hype wird als Hyperbel (rhetorische Übertreibung) definiert. Historische Fehlprognosen: Marvin Minsky (1967/1970) und Ray Kurzweil (2005). b) Ein Cyborg ist ein Mensch, dessen Körper durch Technologie erweitert wird. Alltagsbeispiel: Hörgerät, Herzschrittmacher oder Brille (spektakulär: Neil Harbisson mit implantierter Antenne).
6.4 (3 P) - 1 P historischer Bezug, 2 P Berufe.
a) Die Industrielle Revolution (Ersetzung menschlicher Arbeit durch Maschinen). b) Zwei von: Insurance Underwriter (99 %), Farm Laborer (97 %), Drill Press Operator (94 %), Logging Worker (79 %), Mail Carrier (68 %), Jeweler (68 %).
Tipp: Bei Ethik-Szenarien zählt der Bezug zu den Folienbeispielen. Nennen Sie konkrete Begriffe (Bias, Hyperbel, COMPAS, Flash Crash, Frey and Osborne) - allgemeine Meinungen allein bringen wenig Punkte.
Punkteschlüssel
Erreichbare Gesamtpunktzahl: 90. Bestanden ab 45 Punkten (50 %).
| Punkte | Note |
|---|---|
| 90 - 85,5 | 1,0 |
| 85,0 - 81,0 | 1,3 |
| 80,5 - 76,5 | 1,7 |
| 76,0 - 72,0 | 2,0 |
| 71,5 - 67,5 | 2,3 |
| 67,0 - 63,0 | 2,7 |
| 62,5 - 58,5 | 3,0 |
| 58,0 - 54,0 | 3,3 |
| 53,5 - 49,5 | 3,7 |
| 49,0 - 45,0 | 4,0 |
| unter 45,0 | 5,0 (nicht bestanden) |