Willkommen beim Kurs von Knowledge City über neuronale Netze, Design neuronaler Netze. In diesen Lektionen lernen Sie die Bedeutung von Daten, Arten von neuronalen Netzen, Auswahl des zu verwendenden Netzwerktyps, Aktivierungsfunktionen, Verlustfunktionen und -optimierer, Hyperparameter, Schichten, Schulung, Prüfung und Validierung. Was du lernen wirst. Warum sind Daten für neuronale Netze wichtig? Wie korreliert die Qualität der Daten? zur Leistung des neuronalen Netzes? Warum ist es wichtig, ethische Fragen zu berücksichtigen? mit den Daten, die Sie in neuronalen Netzen verwenden? Also zuerst, warum sind Daten für neuronale Netze so wichtig? Wenn Sie sich an nichts anderes über neuronale Netze erinnern, Sie sollten sich daran erinnern, Müll rein, Müll raus. Falls Sie mit diesem Satz nicht vertraut sind, es bedeutet im Wesentlichen, dass Sie schlechte Qualität verwenden oder Datenmüll, dann erhalten Sie schlechte Qualität oder Müllergebnisse. Das neuronale Netz ist nur so gut wie die Daten, die zum Trainieren verwendet werden. Aus diesem Grund möchten Sie so viel wie folgt vermeiden bei der Auswahl Ihrer Daten möglichst verrauschte Daten, Daten mit korrelierten Merkmalen und Instanzen, Daten mit fehlenden Werten, Daten mit doppelten Features und Instanzen, Daten mit Werten, die unterschiedliche Größenordnungen haben. Daten, neuronale Netze und Ethik. Obwohl neuronale Netze äußerst effizient sein können und nützlich in einer Reihe von Systemen, Es ist wichtig, ihre Leistung im Auge zu behalten basiert stark auf Daten. Zuvor haben wir einige Beispiele für Datenmüll besprochen. Es gibt jedoch eine andere Art von Mülldaten, voreingenommene Daten. Diese Art von Daten darf keine der Qualitäten enthalten um dies zu vermeiden wurden zuvor diskutiert, aber es kann zu unethischen Klassifikatoren und Regressoren führen. Voreingenommene Daten sind Daten, die verzerrt sind mehr in Richtung einer bestimmten Klasse oder Funktion. Immer mehr Verwendungen und Anwendungen für neuronale Netze mit Menschen werden erforscht und umgesetzt. Aus diesem Grund werden die Daten zum Trainieren der Netzwerke verwendet enthält viele demografische Informationen wie Rasse, Alter, ethnische Zugehörigkeit, sexuelle Orientierung und andere Merkmale. In Fällen, in denen die Netzwerke verwendet werden eine bestimmte Person zu klassifizieren basierend auf einem, einigen oder allen dieser Merkmale, Es ist einfach, ein Netzwerk zu erstellen das profiliert statt klassifiziert. Um diese ethischen Probleme zu vermeiden, bei der Auswahl von Daten, die zum Trainieren eines Modells verwendet werden, Es ist wichtig, gleiche und ideale Situationen zu haben oder nahezu gleichberechtigt vertreten aller Demografien in allen Klassen. Es ist wichtig, sich an die Bedeutung der Privatsphäre zu erinnern bei der Auswahl der zu verwendenden Daten und versuchen Sie es auch in Ihren Netzwerken. Nur weil Sie in der Lage sind, Informationen zu erhalten über eine natürliche oder juristische Person bedeutet nicht dass sie möchten, dass Sie diese Informationen verwenden um sich selbst oder andere einzuordnen. Hier sind ein paar Beispiele in Python unter Verwendung des einschichtigen Perzeptrons im Brustkrebsdatensatz. Also zuerst haben wir nur unsere Funktionsdefinitionen. Als Nächstes lade ich den Brustkrebs-Datensatz und Drucken der Genauigkeit. Wie Sie hier sehen können, liegt das Testergebnis bei etwa 90, 91 %. Und der Trainingswert liegt bei etwa 92, 93 %. Also habe ich jetzt doppelte Daten. Und was ich hier mache, Ich erstelle gerade ein Duplikat aller Funktionen im Datensatz. Anstelle von 30 Funktionen haben Sie also 60 Funktionen, aber es gibt zwei identische Features für jedes Feature. Und jetzt werde ich das Modell wieder trainieren. Und was Sie sehen werden, sind die Trainings- und Testergebnisse sind beide runtergefallen. Das ist jetzt besonders interessant weil ich eigentlich keine neuen Daten einführe, nur mehr der gleichen Daten, dennoch verursachte es eine schlechtere Leistung des Klassifikators. Als nächstes werde ich ein Beispiel mit verrauschten Daten machen. Und in diesem Fall Ich füge den Eingabedaten nur zufälliges Rauschen hinzu. Und dann werde ich das Modell wieder trainieren. Nun, wie Sie hier sehen können, der Prüfungs- und Trainingswert ist wieder gesunken, nicht so sehr wie bei den doppelten Daten, aber es war immer noch ein Rückgang. Eine wichtige Sache, die hier zu beachten ist ist, dass der Brustkrebsdatensatz ein sehr sauberer Datensatz ist. Unabhängig davon, wie schlecht und verrauscht der Datensatz ist, Sie erhalten immer noch ziemlich gute Ergebnisse. Aber wenn dies ein weniger sauberer Datensatz war, womit Sie wahrscheinlich in der Praxis arbeiten werden, dann könnten diese Dinge verursachen noch stärkerer Leistungsabfall. Und schließlich haben wir ein Beispiel für korrelierte Daten. Also addiere ich hier nur die gleichen Daten, indem ich sie multipliziere um den Faktor 2,7. Es sind also wirklich nur die gleichen Daten, nur anders skaliert. Und wie Sie sehen können, die Prüfungsnote fiel wieder, ebenso wie die Trainingsnote. Und jetzt werde ich einfach alle Ergebnisse anwenden damit Sie sehen können, was passiert ist. Die blaue Linie steht also für die Testergebnisse und die grüne Linie ist für die Trainingsergebnisse. So wie Sie das Original sehen können, das ist nur der normale saubere Datensatz, keine Duplikate, kein Rauschen, keine Korrelation, übertrifft alle anderen Datensätze. Damit ist diese Lektion abgeschlossen. Danke.