[PYTHON] Maschinelles Lernen, das Schüler der Mittelstufe mit genau diesem Verständnis verstehen [täglich aktualisiert]

0 Vorwort

Dies ist jp_Pythonia, ein Schüler der ersten Klasse. Freut mich, dich kennenzulernen. Da dieser Artikel überfüllt war und die Informationsmenge groß ist, habe ich ihn zu einer geteilten Version gemacht.

Part 1 Part 2

1 Was ist maschinelles Lernen?

Was ist maschinelles Lernen? Tom Mitchell definiert:

Das Computerprogramm basiert auf einem Leistungsstandard P für eine Aufgabe T.

Wenn die Leistung für T anhand der Referenz P gemessen wird und sich mit der Erfahrung E verbessert

Man kann sagen, dass wir aus Erfahrung E gelernt haben.

Es gibt zwei Hauptarten des maschinellen Lernens. In den nächsten beiden Abschnitten werden wir zwei davon diskutieren, ** "Teached Learning" ** und ** "Unbeaufsichtigtes Lernen" **.

2 Was ist überwachtes Lernen?

Betreutes Lernen ist das ** häufigste ** Problem des maschinellen Lernens.

Als Hauptmerkmal

Es gibt zwei Punkte.

2-1-1 Der angegebene Datensatz enthält eine korrekte Antwort

→ Beim überwachten Lernen gibt es in jedem Datensatz eine "richtige Antwort".

e.g.)

Wir haben einen Algorithmus entwickelt, der das Wetter vorhersagt, bestimmt, ob es morgen regnerisch oder sonnig sein wird, und es ausgibt.

Alle Wetterdaten, die wir erfuhren, gaben an, ob es an diesem Tag regnete oder sonnig war.

Im obigen Beispiel wird es ** "überwachtes Lernen" genannt. ** ** **

Dies liegt daran, dass die "richtige Antwort" für den Algorithmus, das Regen- oder Sonnenetikett, von Anfang an an die Daten angehängt wurde.

2-1-2 Kann in Klassifizierungsprobleme und Regressionsprobleme unterteilt werden

Es gibt zwei Hauptgenres des überwachten Lernens.

Sie sind das "Klassifizierungsproblem" und das "Rückgabeproblem".

2-2 Was ist ein Klassifizierungsproblem?

Der zuvor gezeigte Algorithmus zur Vorhersage des Wetters. Dies gilt für Klassifizierungsprobleme. Dies liegt daran, dass ** Regen oder Sonne ** ** "klassifiziert" ** ist.

Die Daten von Regen oder sonnigem Wetter werden übrigens als "diskreter Wert" bezeichnet.

2-3 Was ist ein Regressionsproblem?

Im Gegenteil, das Regressionsproblem ist eine Art Problem, das sich mit "kontinuierlichem Wert" befasst.

e.g.)

Wir haben einen Algorithmus entwickelt, um die Temperatur von morgen vorherzusagen.

Die gelernten Daten sind eine Kombination aus Wetter und Temperatur.

Im obigen Beispiel ist die Temperatur der Ausgabedaten ein "kontinuierlicher Wert", daher wird sie als Regressionsproblem bezeichnet.

3 Unbeaufsichtigtes Lernen

Unbeaufsichtigtes Lernen Mit unbeaufsichtigtem Lernen können Sie Probleme lösen, ohne oder mit nur geringem Verständnis dafür, wie die Ergebnisse aussehen werden. Sie können die Struktur aus Daten ableiten, bei denen die Auswirkung der Variablen nicht immer bekannt ist. Diese Struktur kann durch Clustering der Daten basierend auf den Beziehungen zwischen den Variablen in den Daten abgeleitet werden. Beim unbeaufsichtigten Lernen gibt es kein prädiktives Feedback.

Zitiert von https://www.coursera.org/learn/machine-learning/supplement/1O0Bk/unsupervised-learning

Wie oben erwähnt, weist unbeaufsichtigtes Lernen zwei Hauptmerkmale auf.

3-1 Was ist ein Clustering-Algorithmus?

Was ist ein Clustering-Algorithmus?

Ein Algorithmus, der beim Arbeiten mit Daten hilfreich ist. Der Clustering-Algorithmus findet Regeln, Genres usw. in den angegebenen Daten, erstellt einen Cluster für sich und klassifiziert ihn dort.

4 Lineare Regression (Modelldarstellung)

4-1 Ups ... davor

Ich habe einen Datensatz vorbereitet. es ist hier.

Fall Landfläche(x) Grundstückspreis(y)
1 2104 460
2 1416 232
3 1534 315
4 852 178
・ ・ ・ ・ ・ ・ ・ ・ ・
8 680 143

Wir werden die ** Zeichen ** definieren, die wir von nun an verwenden werden.

4-2 Entscheiden Sie, wie die Hypothese ausgedrückt werden soll

Erstellen Sie einen Ausdruck, der die Hypothese h ausdrückt. Hier ist es.

hθ(x) = θ0 + θ1x

Übrigens scheint dies auf den ersten Blick schwierig zu sein, aber können Sie sehen, dass es der linearen Funktionsformel Y = B + AX, die Schüler der Mittelstufe machen, sehr ähnlich ist? Weil die lineare Funktion ein Diagramm wie das folgende ist

一次関数の画像

Sie können sehen, dass es gerecht ist.

** Und h & thgr; (x) zeigt eine gerade Linie. ** ** **

** Es ist der einfachste Ort, um stecken zu bleiben, also möchte ich, dass Sie sich nur hier merken. ** ** **

5 Kostenfunktion (Zielfunktion)

5-1 Erstens: Zweck

In Anlehnung an die obige Modelldarstellung werden wir die Zielfunktionen definieren. In erster Linie sollen diese Ziele jedoch optimierte Linien für einen bestimmten (gezeichneten) Datensatz zeichnen. Zum Beispiel gibt es eine solche Zahl. (Daten wurden aufgezeichnet)

4d4dc8da6d0042fd77b72a773be7b8d7.png

Zu diesem Zeitpunkt besteht der Zweck darin, die rote Linie zu finden und das Quadrat der Entfernung zum blauen Punkt zu minimieren.

5-2 Auswählen von Parametern

Um den in 5-1 eingeführten Zweck zu erreichen, muss die Formel verwendet werden, die zur Minimierung dient. Ich verstehe es jedoch nicht nur anhand der Formel, daher werde ich eine Erklärung geben, die zu einem intuitiven Verständnis führt.

In erster Linie sind Parameter Namen wie & thgr; 0 und 1 & thgr; 1. Die Richtung der roten Linie in der obigen Grafik ändert sich je nachdem, welche Art von Zahl darauf angewendet wird. Es ist in Ordnung, wenn Sie in der Junior High School eine lineare Funktion ausgeführt haben.

e.g.)

Wenn & thgr; 0 = 1,5 und & thgr; 1 = 0 ist:

スクリーンショット 2020-01-25 10.05.14.png

Es wird sein.

Wenn & thgr; 0 </ sub> = 1 und & thgr; 1 </ sub> = 0,5 ist:

スクリーンショット 2020-01-25 10.11.46.png

Es wird sein.

5-3 Ausdruck zur Auswahl von Parametern

Schließlich möchten Sie den Wert von θ </ sub> (y-Achse) auf den Wert von θ </ sub> x (x-Achse) stützen. Sie müssen es nur löschen.

Machen wir eine Formel.

5-3-1 Step 1

(hθ(x) - y)2

Ich werde die obige Formel erklären.

4d4dc8da6d0042fd77b72a773be7b8d7.png

Die Formel in Schritt 1 wird durch Subtrahieren des Wertes von y von der roten Geraden h & thgr; </ sub> (x) in der obigen Grafik quadriert.

5-3-2 Step 2

Erinnern Sie sich an 4-1? Sie konnten den i-ten x-Wert mit X i </ sub> angeben.

In der Formel von Schritt 1 ist kein Beispiel angegeben und es ist sehr abstrakt, daher werde ich hinzufügen, um alle Beispiele zu erhalten. Hier ist es

mΣi=1 (hθ(x( i )) - y( i ))2

mΣi = 1 bedeutet den Gesamtfluss vom Zeitpunkt von i = 1 (Fallnummer 1) bis m (Anzahl aller Fälle).

Auch (h & thgr; </ sub> (x) - y) 2 → (h & thgr; (x) (i) (i) --y (i) </ sup>) 2 </ sup> wurde ersetzt, was bedeutet, dass das i-te y vom i-ten x subtrahiert wird.

5-3-3 Step 3

Zum Schluss multiplizieren Sie mit 1 / 2m, um die Berechnung zu vereinfachen.

1/2m mΣi=1 (hθ(x( i )) - y( i ))2

1/2 und 1 / m werden jedoch nur ** vereinfacht, da sich das Ergebnis nicht ändert **, sodass es keine besondere Bedeutung gibt.

5-4 Was ist eigentlich eine Kostenfunktion?

Wie ich in 5-1 geschrieben habe, habe ich die Anzahl von θ </ sub> 0 </ sub> und θ 1 </ sub> festgelegt, und eine der minimierten Funktionen, die genau zu den aufgezeichneten Daten passen, ist die Kostenfunktion. Also habe ich die Formel zur Auswahl von Parametern eingeführt.

Nun, schließlich ist die Kostenfunktion ** J (θ 0 </ sub>, θ 1 </ sub>) **. Wenn wir also die Kostenfunktion zeigen,

** J (& thgr; 0, Sub 1) = 1/2 m m & sgr; i = 1 (h & thgr; (x (i) <) / sup>) --y (i) </ sup>) Kann als 2 </ sup> ausgedrückt werden. ** ** **

Daher wird die Kostenfunktion von nun an durch J dargestellt.

6 Kostenfunktion (Zielfunktion) # 2

6-1 Vereinfachung

Bisher haben wir h & thgr; </ sub> (x) = & thgr; 0 + & thgr; 1 x verwendet.

hθ( x ) = θ1x

Es wird ausgedrückt als.

Es ist, als würde man θ 0 </ sub> = 0 sagen.

Da es nur einen Parameter gibt, lautet die Formel für die Kostenfunktion J.

J( θ1 ) = 1/2m mΣ i=1 (hθ(x( i )) - y( i ))2

Kann ausgedrückt werden als.

6-2 Verständnis vertiefen

Vereinfacht als 6-1, weil B = & thgr; 0 </ sub> = 0 im linearen Funktionsgraphen Y = AX + B ist, durchläuft die Zielfunktion (Kostenfunktion) J den Ursprung. ..

Übrigens ist die Hypothese h & thgr; (x) die Funktion, die x entspricht. Dies liegt daran, dass, wenn & thgr; 1 </ sub> bereits bestimmt wurde, es ein Ausdruck ist, der x entspricht.

Andererseits ist die Kostenfunktion J eine Funktion, die & thgr; 1 entspricht. Sie können das sehen, indem Sie 6-1 betrachten.

6-3 Zusammenhang zwischen Hypothese und Kostenfunktion

Angenommen, die Daten befinden sich an den Positionen (1,1), (2,2) bzw. (3,3).

Die gerade Linie der Hypothese ändert sich, weil & thgr; 0 </ sub> = 0 in Abhängigkeit von dem Wert von & thgr; 1 </ sub> der Hypothese h & thgr; </ sub> (x) gesetzt wird. Ich werde.

スクリーンショット 2020-01-25 13.13.22.png

Basierend auf der obigen Hypothese berechnen wir nun den numerischen Wert, der auf die Zielfunktion J aufgetragen werden soll.

Zuerst die lila Linie. Da der grüne Kreis der Ort der Daten ist, beträgt die Differenz 0,5, 1,0, 1,5 in aufsteigender Reihenfolge.

Wenden wir diese drei nun auf die Formel der Kostenfunktion J an.

J( θ1 ) = 1/2m mΣ i=1 (hθ(x( i )) - y( i ))2

Wenn Sie dies berechnen,

J (& thgr; 1) = 1/6 (3,5) = 0,58 ...

Ebenso auf der magentafarbenen (rosa) Linie

J(θ1) = 0

In der roten Linie

J (& thgr; 1) = 2,33 ...

Zeichnen Sie dann die drei Werte, die Sie gerade erhalten haben.

Das Ergebnis ist hier.

スクリーンショット 2020-01-25 13.42.00.png

Die Linienfarbe und die Kreisfarbe stimmen überein. Die obige Grafik zeigt die Zielfunktion J.

7 Die steilste Abstiegsmethode (Gradientenabstiegsmethode)

Zielfunktion J definiert in 5-4. Abschnitt 7 beschreibt einen Algorithmus namens ** Methode mit dem steilsten Abstieg **, der J minimiert.

7-1 Bild

Die Methode mit dem steilsten Abstieg ist so. ![Screenshot 2020-01-25 15.24.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448030/8d4f647e-aa35-056a-ab16- 965eaeb03156.png)

Zitiert von https://linky-juku.com/simple-regression-analysis3/

スクリーンショット 2020-01-25 15.26.49.png

Zitiert von https://linky-juku.com/simple-regression-analysis3/

Als Schwäche, wie in der obigen Grafik gezeigt, kann jedoch eine sogenannte ** lokale Lösung ** (keine optimale Lösung, keine wünschenswerte Antwort) die Antwort sein.

7-2 Mathematischer Kommentar

Dies ist die zu verwendende Formel.

スクリーンショット 2020-01-25 15.29.42.png

Step 1

Das Teil :: = bedeutet, dass die rechte Seite der linken Seite zugewiesen und aktualisiert wird.

Step 2

α bezieht sich auf die Lernrate. Die Methode mit dem steilsten Abstieg erreicht den Mindestwert in mehreren Schritten, wie in der folgenden Abbildung gezeigt. Je größer α ist, desto größer ist der Schritt.

スクリーンショット 2020-01-25 15.37.17.png

Step 3

Erinnerst du dich. Kostenfunktion. Tatsächlich ist J (θ 0 </ sub>, θ 1 </ sub>) eine Kostenfunktion. Wie du weißt.

Sie können es also folgendermaßen konvertieren:

スクリーンショット 2020-01-25 16.22.06.pngJ(θ01)=スクリーンショット2020-01-2516.22.06.png1/2mmΣi=1(hθ(x(i))-y(i))2=スクリーンショット2020-01-2516.22.06.png1/2mmΣi=1(θ01x(i)-y(i)) 2

Betrachten Sie dann die Muster von θ 0 </ sub> und θ 1 </ sub>.

θ0 ( j = 0) : ∂/∂θ0 J(θ0, θ1 ) = 1/m mΣi=1 (hθ(x( i )) - y( i ))2

θ1 ( j = 0) : ∂/∂θ1 J(θ0, θ1 ) = 1/m mΣi=1 (hθ(x( i )) - y( i ))2

ok。

7-3 Wichtige Punkte bei der steilsten Abstiegsmethode (Gradientenabstiegsmethode)

Wie Sie die Formel für die Methode des steilsten Abstiegs gesehen haben, gibt es tatsächlich einen sehr wichtigen Faktor.

Es wird ** gleichzeitig θ </ sub> 0 </ sub> und θ 1 </ sub> aktualisiert **.

Temp0: = θ 0 </ sub> -![Screenshot 2020-01-25 15.44.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com /0/448030/eaab3438-8dd9-131e-77eb-7b1293c2fc37.png)

Temp 1: = θ 1 </ sub> -![Screenshot 2020-01-25 15.44.43.png](https: //qiita-image-store.s3.ap-northeast-1.amazonaws. com / 0/448030 / eaab3438-8dd9-131e-77eb-7b1293c2fc37.png)

θ0 := Temp0

θ1 := Temp1

In der obigen Formel einmal![Screenshot 2020-01-25 15.44.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448030/eaab3438- 8dd9-131e-77eb-7b1293c2fc37.png) wird den Variablen Temp0,1 und dann θ0 </ sub> und θ1 </ sub> zugewiesen.

Dann mach das nicht

スクリーンショット 2020-01-25 15.56.33.png

Was ist, wenn dir das gefällt?

Eigentlich gibt es ein großes Problem. Das heißt, zum Zeitpunkt des Ausdrucks in der zweiten Zeile wurde θ0 </ sub> durch die Variable Temp0 ersetzt, so dass auf der rechten Seite des Ausdrucks in der dritten Zeile der neue Wert θ0 </ Der Punkt ist, dass sub> im Ausdruck verwendet werden soll.

Bitte beachten Sie, dass ** gleichzeitige Updates obligatorisch sind **, unabhängig davon, ob das Problem tatsächlich auftritt oder nicht.

7-4 Lösen der Methode mit dem steilsten Abstieg mit linearer Regression

Voraussetzung ist, dass die Methode des steilsten Abstiegs Teil der Kostenfunktion ist.

スクリーンショット 2020-01-25 17.00.20.png スクリーンショット 2020-01-25 17.00.31.png

Zitiert aus (https://www.coursera.org/learn/machine-learning/lecture/kCvQc/gradient-descent-for-linear-regression)

Könnten Sie übrigens die beiden obigen Bilder sehen?

Die Abbildung rechts lautet übrigens![Screenshot 2020-01-25 14.51.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448030/1da1ec0c -0a05-eefa-b571-2f1e04c9a53b.png) Dieses Kostenfunktionsdiagramm ist mit Konturlinien gezeichnet, so dass es in zwei Dimensionen sichtbar ist.

In der vorherigen Abbildung zeigt das Verschieben der blauen Linie das Ergebnis der Erhöhung der roten Kreuzmarkierung. Wie Sie wissen, ist links die lineare Regression und rechts die Kostenfunktion. Durch Ändern der Richtung der Linie der linearen Regressionshypothese ändert sich auch das Ergebnis der Kostenfunktion. Das wollte ich in 7-4 vermitteln.

Beispielsweise kann die Methode des steilsten Abstiegs verwendet werden, um zu verhindern, dass sie zu einer lokal optimalen Lösung führt.

8 Matrix und Vektor

8-1 Was ist eine Matrix?

\begin{bmatrix}
a & b \\
c & d \\
e & f
\end{bmatrix}

Zum Beispiel ist die obige eine Matrix. 3 x 2

8-2 Was ist ein Vektor?

Ein Vektor hat horizontal nur eine Zeile

y = 

\begin{bmatrix}

a \\
c \\
e 
\end{bmatrix}

Stellt eine n x 1 Zeile wie oben gezeigt dar.

8-3 Regeln

Es gibt einige Regeln.

Zum Beispiel

y i </ sub> = i th </ sup> -Element (a im obigen Beispiel)

** Sie müssen jedoch vorsichtig sein, ob die dem Index zugewiesene Nummer bei 0 oder 1 beginnt. ** ** **

Verwenden Sie grundsätzlich den Indexvektor ab 1.

Grundsätzlich verwenden die meisten Leute Großbuchstaben, wenn sie auf einen Index verweisen. Es sind oft die gespeicherten Rohdaten, die Kleinbuchstaben verwenden

8-4 Matrixaddition und -subtraktion

Die Regeln zum Addieren und Subtrahieren von Matrizen sind:

** Nur Matrizen gleicher Dimension **

Es ist nicht möglich zu addieren oder zu subtrahieren.

\begin{bmatrix}
1 & 0 \\
2 & 5 \\
3 & 4
\end{bmatrix}
+
\begin{bmatrix}
4 & 7 \\
2 & 9 \\
0 & 8
\end{bmatrix}
=
\begin{bmatrix}
5 & 7 \\
4 & 14 \\
3 & 12
\end{bmatrix}

Wie Sie oben sehen können, sind die beiden hinzuzufügenden Elemente und das Element der Antwort 3 x 2. Und die Zahlen mit der gleichen vertikalen und horizontalen Position werden addiert.

8-5 Skalarmultiplikation

Skalar ist übertrieben, aber es bedeutet eine reelle Zahl. Damit

3 ×
\begin{bmatrix}
2 & 5 \\
3 & 4
\end{bmatrix}
= 
\begin{bmatrix}
6 & 15 \\
9 & 12
\end{bmatrix}

Es ist in Ordnung mit einem Gefühl.

8-6 Matrix und Vektor multiplizieren

Ich fühle mich so.

\begin{bmatrix}
2 & 5 \\
3 & 4
\end{bmatrix}

\begin{bmatrix}
6  \\
9 
\end{bmatrix}
=
\begin{bmatrix}
57  \\
54 
\end{bmatrix}

Nennen Sie die Matrix A, B, C in der Reihenfolge von links.

Schritt 1: Setzen Sie links von der oberen Reihe von A in die obere Reihe von B und rechts von der oberen Reihe von A in die untere Reihe von B. (2 x 6 und 5 x 9 dazu.)

Schritt 2: Wiederholen Sie 3 x 6 und 4 x 9 wie oben.

Übrigens war A diesmal 2 x 2. B ist 2 x 1 und C ist 2 x 1. Eigentlich passiert das nicht. ** Es gibt feste Regeln **

A → m × n (2 × 2)

B →n × 1(2 × 1)

C → m × 1(2 × 1)

Bitte beachten Sie, dass diese Regel von nun an verwendet wird.

8-7 Multiplizieren Sie zwei Matrizen

** Tatsächlich gibt es eine Möglichkeit, die Verwendung iterativer Algorithmen in linearen Regressionsalgorithmen zu vermeiden, und dieser Abschnitt führt auch dazu. ** ** ** Was ich diesmal machen werde

\begin{bmatrix}
2 & 5 & 2 \\
3 & 4 & 7
\end{bmatrix}
×
\begin{bmatrix}
6 & 8\\
9 & 3\\
2 & 3
\end{bmatrix}
=

Es ist der Weg von. Teilen Sie zuerst B in zwei Vektoren. Wie nachstehend

\begin{bmatrix}
2 & 5 & 2 \\
3 & 4 & 7
\end{bmatrix}
×
\begin{bmatrix}
6\\
9 \\
2
\end{bmatrix}
=

\begin{bmatrix}
2 & 5 & 2 \\
3 & 4 & 7
\end{bmatrix}
×
\begin{bmatrix}
 8\\
 3 \\
 3
\end{bmatrix}
=

Ich habe jeden berechnet.

\begin{bmatrix}
2 & 5 & 2\\
3 & 4 & 7
\end{bmatrix}
×
\begin{bmatrix}
6\\
9 \\
2
\end{bmatrix}
=
\begin{bmatrix}
61\\
68
\end{bmatrix}

\begin{bmatrix}
2 & 5 & 2\\
3 & 4 & 7 
\end{bmatrix}
×
\begin{bmatrix}
 8\\
 3 \\
3
\end{bmatrix}
=
\begin{bmatrix}
37\\
57
\end{bmatrix}

Und füge das C in zwei Teile zusammen

\begin{bmatrix}
61& 37 \\
68 & 57
\end{bmatrix}

das ist alles.

8-8 Machen Sie keinen Fehler in der Reihenfolge der Multiplikation

Natürlich sollten Sie A x B nicht in B x A ändern, siehe 8-6 aus irgendeinem Grund.

Ich möchte nicht nur Dinge schreiben, die zu offensichtlich sind, also schreibe ich nur, dass Sie selbst überlegen sollten, ob die Reihenfolge der Multiplikation falsch ist.

8-9 Inverse der Matrix

Die Zahl 1 repräsentiert die Einheit, Identität im realen Raum. Weil das Multiplizieren mit 1 gleich der Zahl selbst ist. Jede reelle Zahl hat eine umgekehrte Zahl. Zum Beispiel ist die Umkehrung von 3 1/3.

Sie können also sehen, dass im realen Raum alle Zahlen keine Umkehrung haben. Zum Beispiel 0.

Dann wird es auch als Inverse der Matrix, Inverse oder Inverse Matrix bezeichnet, aber was ist das? Lassen Sie uns diesen Artikel damit abschließen.

Sei A eine m × m-Matrix. Angenommen, es gibt eine inverse Matrix. Und stellen wir die inverse Matrix als A -1 -1 </ sup> dar.

Von den Matrizen hat nur die m × m-Matrix eine inverse Matrix und wird auch als quadratische Matrix bezeichnet.

Angenommen, Sie haben eine quadratische Matrix.

​```math 
\begin{bmatrix}
3& 4 \\
2 & 16
\end{bmatrix}
​```

Außerdem kannte ich zufällig die inverse Matrix.

​```math 
\begin{bmatrix}
0.4& -0.1 \\
-0.05 & 0.075
\end{bmatrix}
​```

Und wenn Sie diese Matrix multiplizieren,

​```math 
=
\begin{bmatrix}
1& 0 \\
0 & 1
\end{bmatrix}
​```

= I 2 × 2 </ sub>. (I ist ein Symbol für eine Einheitsmatrix)

Natürlich ist es möglich, die inverse Matrix von Hand zu machen, aber das macht derzeit niemand. Wie berechnet man das?

** Ich benutze eine Software namens Octave **

Seien Sie versichert, dass in Teil 2 die Verwendung von Octave erläutert wird.

Lassen Sie uns nun die Begriffe zusammenfassen.

Eine Matrix ohne inverse Matrix wird als singuläre Matrix oder reduzierte Matrix bezeichnet.

** Wirklich, endlich, ich werde dir sagen, wie man die Translokation berechnet **.

​```math
\begin{bmatrix}
1 & 2 & 0 \\
3 & 4 & 9
\end{bmatrix}
​```
→
​```math
\begin{bmatrix}
1 & 3  \\
2 & 5 \\
0 & 9
\end{bmatrix}
​```

Diejenigen, die dachten, das sei der einzige. Korrekt. nur das. Bringen Sie einfach die obere Reihe nach links und die untere Reihe nach rechts. das ist alles. Danke für deine harte Arbeit.

9 Danke

Vielen Dank, dass Sie so weit gelesen haben.

~~ Ich werde einen Link posten, wenn die Fortsetzung fertig ist, also lies ihn bitte. ~~ Teil 2 Ich habe es geschrieben.

Zu Woche 2: Willkommen

Herzlich willkommen. Gehen Sie zu "Maschinelles Lernen Teil 2, das auch Schüler der Mittelstufe vollständig verstehen können". Wenn Sie Teil 1 noch nicht gelesen haben, müssen Sie Teil 1 nicht zuerst lesen. (Bis zu Abschnitt 1)

1 Installieren Sie Octave

1-1 Windows

Es tut mir leid, meine Umgebung ist kein Mac, daher werde ich eine kurze Erklärung und einen Link geben.

Verwenden Sie zunächst den Link hier zur Installation.

Als Referenzseite werden wir auch [hier] vorstellen (https://www.power.mech.eng.osaka-cu.ac.jp/~takiyama/start-oct-cntrl.html).

1-2 Mac OS

** Wir haben den Betrieb unter Mac OS High Sierra bestätigt. ** ** **

Sie können auf [hier] verweisen (https://wiki.octave.org/Octave_for_macOS).

Step 1

Installieren Sie Homebrew

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Bitte legen Sie es in das Terminal. (Es ist eine Zeile)

Step 2

Dazu gehört auch Homebrew Cask.

brew tap caskroom/cask

Übrigens, wenn Sie eine Fehlermeldung erhalten, geben Sie `Braufass `ein. Wenn Sie "Siehe auch" Man Brew-Cask "sehen, ist es bereits in.

Step 3

Installieren Sie XQuartz

Installieren Sie mit Homebrew Cask.

brew cask install xquartz
brew install octave

Warten wir geduldig

Step 5

Starten Sie Octave

Octave

Dies sollte beginnen.

Octave:1> 

Es ist in Ordnung, wenn es herauskommt

exitGeben Sie zum Beenden ein und es funktioniert wie eine normale Konsole.

** Ich habe die Methode von Schritt 1-5 bisher von hier zitiert: **

https://blog.amedama.jp/entry/2017/04/28/232547

1-3 Linux

Es tut uns leid. Es ist möglich, dass es keine Betriebsumgebung gibt, aber (Zorin OS) Ich mache es nicht, weil es nervt. Bitte probieren Sie es aus.

2 multivariate lineare Regression

2-1 Annahmen

Wow ... viele Kanji ...

In Abschnitt 2 wird eine leistungsfähigere lineare Regression erläutert, die für mehrere Variablen funktioniert.

Zunächst wurde in der vergangenen linearen Regression y basierend auf der Information x vorhergesagt, die als einzelnes Merkmal (einzelne Variable) mit nur einem x bezeichnet wurde. Wenn Sie beispielsweise den Preis eines Hauses oder den Aktienkurs von morgen vorhersagen, ist es schwierig, diese anhand nur einer Information vorherzusagen.

Daher werden wir mehrere Informationen unter Verwendung einer multivariaten linearen Regression verwenden.

Dann werde ich die Datenbank als Beispiel präsentieren. es ist hier.

Früher war es ein x, aber wir weisen die Nummern 1-4 zu.

Fall Nr..( i ) Größe(x1) Anzahl der Schlafzimmer(x2) Anzahl der Etagen(x3) Wie alt(x4) Preis(y)Zehntausend Yen
1 2104 5 1 45 4600
2 1416 3 2 40 2320
3 1534 3 2 30 3150
4 852 2 1 36 1780
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・

Dann definieren wir die vorausgesetzten Zahlen.

n ・ ・ ・ 4. Gibt die Anzahl der Variablen x an.

x (i) </ sup> i ・ ・ Die i-te Variable x wird durch einen Vektor dargestellt. Wenn x (2) </ sup>,

\begin{bmatrix}
1416 \\
3 \\
2 \\
40
\end{bmatrix}

Es wird sein. Es bedeutet nicht das Quadrat von x. Und der obere Vektor ist n Dimensionen (hier 4 Dimensionen, 4 x 1).

x j </ sub> (i) </ sup> ・ ・ ・ Tatsächlich sind j und (i) vertikal ausgerichtet. Zum Beispiel ist im Fall von x 3 </ sub> (2) </ sup> die Antwort 2, was der dritten Variablen im vorherigen Vektor entspricht.

2-2 Form der linearen Regression

Bis jetzt war es so.

hθ(x) = θ0 + θ1x

Da x jedoch nicht mehr eins ist, ändert sich auch die Form des Ausdrucks. Hier ist es.

hθ(x) = θ0 + θ1x1 + θ2x2 + θ3x3 + θ4x4

Die obige Formel hat jedoch ein großes Problem, da sie mit zunehmendem n wächst.

Das heißt, das Schreiben von Formeln mit Abschriften ist überraschend anstrengend. Vereinfachen wir also die Formel.

Was zu tun ist, ist den Index von x als 0 = 1 zu definieren.

Dies bedeutet, dass es für jeden Fall i einen Funktionsvektor x (i) </ sup> gibt. Und über x j </ sub> (i) </ sup>, eingeführt in 2-1 x 0 </ sub> (i) </ sup> Definieren = 1. Zu diesem Zeitpunkt bedeutet dies, dass x 0 </ sub> = 1 des i-ten Falls definiert ist, aber ursprünglich x 0 </ sub> nicht existiert. Mit anderen Worten, im x (i) </ sup> -Vektor haben wir das 0. Merkmal willkürlich als 1 definiert. Dies macht also x (i) </ sup> zu einem n + 1-dimensionalen Vektor. OKAY?

** Der obige Inhalt ist schwierig. Bitte schreiben Sie es auf ein Blatt Papier und lesen Sie es wiederholt. Wenn Sie es ungefähr dreimal lesen, sollten Sie es so verstehen können wie ich. ** ** **

Und wir betrachten Parameter als Vektoren.

θ = 
\begin{bmatrix}
θ<sub>0</sub> \\
θ<sub>1</sub> \\
θ<sub>2</sub> \\
・\\
・\\
・\\
θ<sub>n</sub> \\ 
\end{bmatrix}

Und jetzt können Sie die Form der Formel ändern.

hθ(x) = θ0 + θ1x1 + θ2x2 + θ3x3 + θ4x4

= hθ(x) = θ0x1 + θ1x1 + θ2x2 + θ3x3 + θ4x4

Transponieren Sie übrigens θ. Kurz gesagt, es ändert seine Form als Vektor.

θ = 
\begin{bmatrix}
θ0 \\
θ1 \\
θ2 \\
・\\
・\\
・\\
θn \\ 
\end{bmatrix}
= 
\begin{bmatrix}
θ0 & θ1 & θ2 &・
&・
&・
& θn 
\end{bmatrix}

Was 1 x n + 1 Dimension war, ist jetzt n + 1 x 1 Dimension. Dies ist eine Translokation. Es wird durch den Buchstaben T dargestellt. Und multipliziere dies mit dem Vektor von x

\begin{bmatrix}
θ0 & θ1 & θ2 &・
&・
&・
& θn 
\end{bmatrix}
×
\begin{bmatrix}
xo \\
x1 \\
x2 \\
・\\
・\\
xn
\end{bmatrix}
= 

= h & thgr; </ sub> (x) = & thgr; 0 </ sub> x 1 </ sub> + & thgr; 1 </ sub> x 1 </ sub> > + & thgr; 2 </ sub> x 2 </ sub> + & thgr; 3 </ sub> x 3 </ sub> + & thgr; 4 x 4 </ sub> (die obige Formel)

= θ Tx

Dies ist die lineare Regression der Typvariablen. Es war der schwierigste Inhalt, mit dem ich mich seit Teil 1 befasst habe ...

3 Die Methode mit dem steilsten Abstieg für mehrere Variablen

Im vorherigen Abschnitt hatten wir die Idee der linearen Regression, wenn mehrere Elemente vorhanden sind. In diesem Abschnitt werden wir uns überlegen, wie die Parameter an die Hypothese angepasst werden können. ‌

Basierend auf Abschnitt 2 werden wir die Formel transformieren.

J(θ0, θ1, ... ,θn)= 1/2m mΣi=1 (hθ(x(i))-y(i))2

→ J(θ)= 1/2m mΣi=1 (hθ(x(i))-y(i))2

Der Grund für die obige Formel ist

θ = 
\begin{bmatrix}
θ0 \\
θ1 \\
θ2 \\
・\\
・\\
・\\
θn \\ 
\end{bmatrix}

Deshalb.

Nächster,

θj := θj - α ∂/∂θj J(θ0, θ1, ... ,θn)

→ θj := θj - α ∂/∂θj J(θ)‌

OK?

Und ich werde die steilste Abstiegsmethode schreiben.

Wenn Gruppe A n = 1:

** Muster 1 **

θ0 := θ0 - α 1/m mΣi=1(hθ(x(i)) - y(i))

** Muster 2 **

θ1 := θ1 - α 1/m mΣi=1(hθ(x(i)) - y(i))x(i)

Wenn Gruppe B größer als n = 1 ist, dann:

** Muster 1 **

θ0 := θ0 - α 1/m mΣi=1(hθ(x(i)) - y(i))x0(i)

** Muster 2 ** ‌

θ1 := θ1 - α 1/m mΣi=1(hθ(x(i)) - y(i))x1(i)

Wenn Sie A-1 und B-1 vergleichen, werden Sie zunächst feststellen, dass sie gleich sind. Dies liegt daran, dass die Regel x 0 </ sub> (i) </ sup> = 1 keinen Unterschied macht.

Gleiches gilt für A-2 und B-2.

x (i) </ sup> = x 1 </ sub> (i) </ sup>.

Nun, Sie müssen die Formel noch nicht kennen, also überprüfen Sie sie bitte sorgfältig.

4 Zukünftige Skalierung

In diesem Abschnitt 4 werden praktische Ideen für die Verwendung der Methode mit dem steilsten Abstieg vorgestellt.

Einführung in die zukünftige Skalierung.

Zum Beispiel sei x 1 </ sub> die Größe Ihres Hauses, 0-2000 m 2 </ sup>.

x 2 </ sub> ist die Anzahl der Schlafzimmer zwischen 1 und 5.

Zu diesem Zeitpunkt gibt es zwei Muster im Diagramm der Methode mit dem steilsten Abstieg.

スクリーンショット 2020-01-28 17.38.08.png

Wann,

スクリーンショット 2020-01-28 17.38.18.png

ist. (Beide zitiert aus https://www.coursera.org/learn/machine-learning/lecture/xx3Da/gradient-descent-in-practice-i-feature-scaling)

Was bedeutet dieser Ring überhaupt? Der Schüsseltyp der in 7-4 von Teil 1 gezeigten Kostenfunktion ist konturiert. Es ist eine zweidimensionale Version verwendet. Das Zentrum ist also die Antwort. Es ist eine der steilsten Abstiegsmethoden.

Die rote Linie repräsentiert nun die Schritte, um zur Antwort zu gelangen. Auf jeden Fall ist es das letztere des Graphen, das näher an einem Kreis liegt, der die Antwort zuerst effizient erreichen kann.

Wie zeichnet man ein Diagramm, das sich in der Nähe eines Kreises befindet? Die Antwort ist einfach. Kurz gesagt sollten die Werte von & thgr; 0 </ sub> und & thgr; 1 </ sub> (dh Variablen x1, x2) näher beieinander liegen.

In diesem Beispiel ist beispielsweise x1 1/5 und x2 1/2000. In der Tat ist das Ergebnis das letztere. Ersteres verwendet die Daten so wie sie sind.

Und die oben genannten Aktionen werden als ** Vermögensskalierung ** bezeichnet.

Was sind die Regeln, um die Werte näher zusammenzubringen? Wenn der Datenbereich selbst groß ist, muss zunächst nicht skaliert werden. ** Wie entscheiden Sie, ob Sie skalieren möchten oder nicht **

Ein gültiges Beispiel stammt von Professor Andrew Ng von der Stanford University.

-3 bis 3 ・ ・ ・ OK

-1/3 bis 1/3 ・ ・ ・ OK

-0,001 bis 0,001 ・ ・ ・ NG (Knebel meines Vaters)

-100 bis 100 ・ ・ ・ NG

Kurz gesagt, es ist ** rau **.

Zuvor habe ich die Daten durch den Maximalwert geteilt. Wie jedoch oft auf andere Weise verwendet,

Es gibt so etwas wie ** durchschnittliche Normalisierung **.

Dies dient dazu, x i </ sub> abzurufen und zu versuchen, den Durchschnitt einschließlich der anderen Variablen x näher an 0 zu bringen.

Wie Sie jedoch wissen, ist x 0 </ sub> immer 1. Beachten Sie daher, dass es nicht für x 0 </ sub> verwendet werden kann.

** Was zu tun ist, ist dies **

x1 = Größenmittel / Maximum von x1 (hier x1 = Größe 1000/2000)

x2 = Anzahl der Schlafzimmer - durchschnittlich / maximal (hier x2 = Anzahl der Schlafzimmer - 2/5)

Dies bringt es näher an Null. Das ist seltsam.

** Feature-Skalierung ist nicht streng ** Grundsätzlich ist es in Ordnung

5 So wählen Sie die zu verwendende Funktion (Funktion x) aus

e.g.)

Angenommen, Sie haben zwei Funktionen für ein Haus.

x1 ist die Länge der Fassade (Breite zur Straße)

x2 ist die Länge der Tiefe

Natürlich ist es natürlich, x1 und x2 so zu verwenden, wie sie sind, aber unter der Annahme, dass die Größe des Grundstücks als drittes Merkmal den Preis des Hauses bestimmt,

x ist x1 x x2

Das könntest du sagen.

Weil x1 und x2 zufällig zuerst existierten. Übrigens habe ich das Gefühl, dass ich es oft in maschinellen Lernwettbewerben wie Kaggle benutze. (Geheimnis)

Bei der Definition der Merkmale möchte ich Ihnen die sogenannte ** Polypoly-Regression ** vorstellen.

Es gibt viele Variationen in der linearen Regressionsgleichung. Zum Beispiel hier.

hθ + θ1x1 + θ2x2 + θ3x3

Und das ist

= & thgr; 0 </ sub> + & thgr; 1 (Größe) + & thgr; 2 (Größe) 2 </ sup> + & thgr; 3 Es kann auch als </ sub> (Größe) 3 </ sup> ausgedrückt werden.

x1 + (size)

x2 + (size)2

Wenn x 3 </ sub> + (Größe) 3 </ sup>.

Dies ist eine kubische Funktion. Nun, dies ist nur ein Beispiel, aber zum Beispiel ein Diagramm, in dem Daten dargestellt sind, die die Beziehung zwischen Wohnfläche und Preis zeigen.

スクリーンショット 2020-01-28 18.57.06.png

In Zeiten wie diesen ist eine kubische Funktion gut. Warum denken Sie

Wenn es sich um eine lineare Funktion handelt, handelt es sich um eine gerade Linie, und wenn es sich um eine quadratische Funktion handelt, wird sie in einem Bogen wieder abgesenkt. Es ist schwer vorstellbar, dass der Preis eines Hauses sinken wird, wenn es zu viele Standorte gibt.

Und ** denken Sie daran, Feature-Skalierung **. Ich werde es von nun an verwenden.

Wenn Sie ** Größe einstellen: 1-1000 **,

x1 = 1-1000

x2 = 1-1,000,000

X3 = 1-1.000.000.000.

Wie erwartet ist dies ... Feature-Skalierung kommt ins Spiel.

Bitte führen Sie die Berechnung jedoch selbst durch. Ich habe meine Hausaufgaben heute noch nicht erledigt (lacht)

Nun, ich habe vorhin geschrieben, dass die quadratische Funktion nicht verwendet werden kann, da sie schließlich zu ihrem ursprünglichen Wert zurückkehrt und niedrig wird, aber auf diese Weise kann sie verwendet werden.

スクリーンショット 2020-01-28 19.07.55.png

Wenn Sie die obige Formel verwenden, können Sie vermeiden, dass das Diagramm nach unten geht. Der Grund sind die Hausaufgaben des Lehrers (lacht).

** Wie wählst du denn eine Zukunft? **

Bitte lesen Sie von nun an Teil 3, 4, ... und alle Serien. Dann wirst du sicher verstehen.

(Ich kann noch nichts sagen, während ich Teil 3 schreibe ...)

Übrigens, seien Sie versichert, dass ** der Algorithmus es am Ende automatisch auswählt **. (Ich trage es)

6 Normale Gleichung

Normale Gleichungen bieten eine bessere Möglichkeit, den Parameter θ bei einigen linearen Regressionsproblemen zu finden.

Insbesondere war der bisher für die lineare Regression verwendete Algorithmus die Methode mit dem steilsten Abstieg.

Die Methode mit dem steilsten Abstieg war ein Algorithmus, der konvergiert, indem er durch Wiederholen vieler Schritte und mehrfacher Ergebnisse zur optimalen Lösung gelangt.

Im Gegensatz dazu sind ** normale Gleichungen die ** stärksten ** Algorithmen, die sofort die optimale Lösung erreichen können, ohne dass iterative Algorithmen ** ausgeführt werden müssen, um eine Möglichkeit zur analytischen Lösung von θ bereitzustellen. (Später bemerke ich einen großen Nachteil)

Lassen Sie uns zunächst ein intuitives Verständnis erlangen.

Als Voraussetzung nehmen wir an, dass θ eine reelle Zahl ist. Ich glaube übrigens nicht, dass es ein Vektor ist. Bitte seien Sie vorsichtig.

Ausdruck wie dieser

J(θ) = αθ2 + bθ + c

Mit anderen Worten, betrachten wir die Kostenfunktion J.

Aber erinnern Sie sich vorher daran, dass das θ, mit dem wir es zu tun haben, ein n + 1-dimensionaler Vektor ist?

Die Formel sieht so aus.

J(θ01,...,θm)= 1/2m mΣi=1 (hθ(x( i ))-y ( i ))2

Das Problem besteht darin, wie die Kostenfunktion J minimiert werden kann, aber die Antwort der Kostenfunktion J besteht darin, die teilweise Differenzierung von J zu nehmen und verschiedene Probleme für jeden Parameter & thgr; j zu lösen. Es scheint, dass dies abgeleitet werden kann, aber in diesem Abschnitt werden wir uns einem konzeptionelleren Punkt nähern.

Angenommen, Sie haben einen solchen Datensatz.

スクリーンショット 2020-01-28 21.39.07.png

Erstellen Sie dann eine Spalte mit x 0 </ sub>, um eine Matrix mit x zu erstellen.

スクリーンショット 2020-01-28 21.42.12.png

y ist das gleiche.

スクリーンショット 2020-01-28 21.43.40.png

Das obige x ist m x n + 1. y ist ein m-dimensionaler Vektor. Übrigens ist m die Anzahl der Fälle im Datensatz und n die Anzahl der Merkmale (Variable x).

** Also, was ist eine normale Gleichung **

θ = (XTX)-1XTy

Ich möchte, dass Sie sich daran erinnern, dass der Buchstabe T mit einem Wow ist

8 Danke

In diesem zweiten Artikel fiel mir auf, dass ich versehentlich zweimal Daten gelöscht habe, was mich ernsthaft dazu brachte, über die Arbeit auf Cloud-Basis nachzudenken. Nun, welches bist du?

Typ A scheint schwierig zu sein, deshalb habe ich nur zu diesem Punkt gescrollt

Ich habe alles gelesen und mich gefragt, was Typ B ist

Ich denke über 90% und 5 Minuten ist Typ A ...

Freut mich, dich kennenzulernen!

** Teil 3 wird am Freitag um Mitternacht veröffentlicht. ** ** **

Week 3 Veröffentlicht am 16. um 21:00 Uhr

Klassifizierungsproblem

Ausdruck der Hypothese

Entscheidungsgrenze

Kostenfunktion

Kostenfunktion und steilste Abstiegsmethode (einfach)

Erweiterte Optimierung

Mehrklassenklassifikation: 1 gegen alle

Überanpassungsproblem

Kostenfunktion

Regularisierte lineare Regression

Regularisierte logistische Regression

Week 4 Veröffentlicht am 16. um 21:00 Uhr

Nichtlineare Hypothese

Neuron und Gehirn

Modelldarstellung (1)

Modelldarstellung (2)

Proben und Intuition (1)

Proben und Intuition (2)

Klassifizierung mehrerer Klassen

Week 5 Veröffentlicht am 17. um 21:00 Uhr

Kostenfunktion

Back Propagation Algorithmus

Intuitive Rückenausbreitung

Implementierungshinweis: Parametererweiterung

Gradientenprüfung

Zufällige Initialisierung

Setze es zusammen

Week 6 Veröffentlicht am 19. um 21:00 Uhr

Beschlossen, es als nächstes zu versuchen

Wie ist die Hypothese zu bewerten?

Modellauswahl und Zug / Verifikation / Testsatz

Diagnose von Voreingenommenheit und Streuung

Regularisierung und Bias / Dispersion

Lernkurve

Überdenken Sie, was als nächstes zu tun ist

Arbeitsinhalte priorisieren

Fehleranalyse

Verzerrte Klassenfehleranzeige

Institutionelle und Rückruf-Kompromisse

Daten zum maschinellen Lernen

Week 7 Veröffentlicht am 20. um 21:00 Uhr

Zweck der Optimierung

Kernel (1)

Kernel (2)

Verwenden Sie SVM

Week 8 Veröffentlicht am 22. um 21:00 Uhr

Lernen ohne Lehrer (Einführung)

K-Means-Algorithmus

Zweck der Optimierung

Zufällige Initialisierung

Wählen Sie die Anzahl der Cluster

Datenkompression

Visualisierung

Formulierung des Hauptkomponentenanalyseproblems

Hauptkomponentenanalyse-Algorithmus

Rekonstruktion aus komprimierter Darstellung

Auswahl der Anzahl der Hauptkomponenten

Hinweise zur Anwendung von PCA

Week 9 Veröffentlicht am 23. um 21:00 Uhr

Lassen Sie uns eine Anomalie erkennen

Gaußsche Verteilung

Algorithmus

Entwicklung und Bewertung eines Anomalieerkennungssystems

Erkennung von Anomalien und überwachtes Lernen

Wählen Sie die zu verwendende Funktion aus

Multivariate Gaußsche Verteilung

Abnormalitätserkennung unter Verwendung einer multivariaten Gaußschen Verteilung

Problem Formulierung

Inhaltsbasierte Empfehlungen

Kooperative Filterung

Kooperativer Filteralgorithmus

Vektorisierung: Matrixzerlegung mit niedrigem Rang

Implementierungsdetails: durchschnittliche Normalisierung

Week 10 Veröffentlicht am 24. um 21:00 Uhr

Lernen mit großen Datenmengen

Probabilistische Methode mit dem steilsten Abstieg

Mini Batch steilste Abstiegsmethode

Probabilistische Konvergenz der Methode mit dem steilsten Abstieg

Online lernen

Map Reduce und datenparallele Verarbeitung

Week 11 Veröffentlicht am 26. um 21:00 Uhr

Problembeschreibung und Pipeline

Schiebefenster

Erfassen Sie eine große Menge an Daten und künstlichen Daten

Deckenanalyse: Welcher Teil der Pipeline sollte als nächstes behandelt werden?

Nachwort

Wie war es. Der größte Teil der Tabelle ist jetzt, aber wir werden den Inhalt erhöhen. Der Grund, warum ich mein Bestes gebe, ist, dass das Tutorial für Anfänger in der Computerabteilung, zu der ich gehöre, Spiele mit C # erstellt. Absolut Python x maschinelles Lernen ist von nun an gut. Wenn Sie möchten, mögen Sie es bitte.

Recommended Posts

Maschinelles Lernen, das Schüler der Mittelstufe mit genau diesem Verständnis verstehen [täglich aktualisiert]
SIR-Modell, das auch Schüler der Mittelstufe verstehen können