Dieser Beitrag wurde im Rahmen der . veröffentlicht Data Science Blogathon
In diesem Beitrag, Ich werde die Grundkonzepte neuronaler Netze und deren Code erklären. Heutzutage, viele Studenten lernen einfach, neuronale Netze zu codieren, ohne die Grundlagen dahinter zu verstehen und wie es intern funktioniert. Zuerst, Was sind neuronale Netze??
Was ist das neuronale Netz?
Neuronale Netze sind eine Reihe von Algorithmen, die versuchen, das menschliche Gehirn nachzuahmen und die Verbindung zwischen Datensätzen zu finden. Es wird in verschiedenen Anwendungsfällen als Regression verwendet, Einstufung, Bildakkreditierung und vieles mehr.
Wie wir bereits gesagt haben, Neuronale Netze versuchen, das menschliche Gehirn nachzuahmen, dann könnte es Unterschiede und Ähnlichkeiten zwischen ihnen geben. Reden wir kurz darüber.
Algunas diferencias importantes entre ellos son que la rotes neuronalesNeuronale Netze sind Rechenmodelle, die von der Funktionsweise des menschlichen Gehirns inspiriert sind. Sie nutzen Strukturen, die als künstliche Neuronen bekannt sind, um Daten zu verarbeiten und daraus zu lernen. Diese Netze sind grundlegend im Bereich der künstlichen Intelligenz, Dies ermöglicht erhebliche Fortschritte bei Aufgaben wie der Bilderkennung, Verarbeitung natürlicher Sprache und Vorhersage von Zeitreihen, unter anderen. Ihre Fähigkeit, komplexe Muster zu erlernen, macht sie zu mächtigen Werkzeugen.. biológica realiza un procesamiento paralelo, während das künstliche neuronale Netz eine serielle Verarbeitung durchführt, auch im ersten, Verarbeitung ist langsamer (in Millisekunden), während in letzterem die Verarbeitung schneller ist (in einer Nanosekunde).
KNN-Architektur
Ein neuronales Netz hat viele Schichten und jede Schicht erfüllt eine bestimmte Funktion, und mit zunehmender Komplexität des Modells, die Anzahl der Schichten erhöht sich auch, deshalb ist es als mehrschichtiges Perzeptron bekannt.
Die reinste Form eines neuronalen Netzes hat drei Schichten: das EingabeschichtDas "Eingabeschicht" bezieht sich auf die Anfangsebene in einem Datenanalyseprozess oder in neuronalen Netzwerkarchitekturen. Seine Hauptfunktion besteht darin, Rohinformationen zu empfangen und zu verarbeiten, bevor sie von nachfolgenden Schichten transformiert werden. Im Kontext des maschinellen Lernens, Die richtige Konfiguration der Eingabeschicht ist entscheidend, um die Effektivität des Modells zu gewährleisten und seine Leistung bei bestimmten Aufgaben zu optimieren...., die verborgene Schicht und die Ausgabe-LayerDas "Ausgabe-Layer" ist ein Konzept, das im Bereich der Informationstechnologie und des Systemdesigns verwendet wird. Es bezieht sich auf die letzte Schicht eines Softwaremodells oder einer Architektur, die für die Präsentation der Ergebnisse für den Endbenutzer verantwortlich ist. Diese Schicht ist entscheidend für die Benutzererfahrung, Da es eine direkte Interaktion mit dem System und die Visualisierung der verarbeiteten Daten ermöglicht..... Die Eingangsschicht sammelt die Eingangssignale und übergibt sie an die nächste Schicht und, schließlich, la capa de salida da el pronóstico final y estas redes neuronales deben entrenarse con algunos datos de AusbildungTraining ist ein systematischer Prozess zur Verbesserung der Fähigkeiten, körperliche Kenntnisse oder Fähigkeiten. Es wird in verschiedenen Bereichen angewendet, wie Sport, Aus- und Weiterbildung. Zu einem effektiven Trainingsprogramm gehört auch die Zielplanung, Regelmäßiges Üben und Bewerten der Fortschritte. Anpassung an individuelle Bedürfnisse und Motivation sind Schlüsselfaktoren, um in jeder Disziplin erfolgreiche und nachhaltige Ergebnisse zu erzielen...., sowie mit maschinellen Lernalgorithmen, bevor ein bestimmtes Hindernis bereitgestellt wird. Jetzt, Lass uns mehr über das Perzeptron verstehen.
Über Perceptron
Wie bereits besprochen, das mehrschichtige Perzeptron ist einfach die versteckte oder dichte Schicht. Sie bestehen aus vielen Neuronen und Neuronen sind die Haupteinheit, die zusammenarbeitet, um das Perzeptron zu bilden.. In einfachen Worten, wie auf dem bild oben zu sehen, cada círculo representa neuronas y una combinación vertical de neuronas representa perceptrones que es simplemente una dichte SchichtBei der dichten Schicht handelt es sich um eine geologische Formation, die sich durch ihre hohe Kompaktheit und Widerstandsfähigkeit auszeichnet. Er ist häufig unter der Erde zu finden, wo es als Barriere für den Fluss von Wasser und anderen Flüssigkeiten wirkt. Seine Zusammensetzung variiert, aber es enthält in der Regel Schwermineralien, was ihm einzigartige Eigenschaften verleiht. Diese Schicht ist für die Geologie und die Untersuchung der Wasserressourcen von entscheidender Bedeutung, da sie die Verfügbarkeit und Qualität von Wasser beeinflusst...
Jetzt, im Bild oben, Sie können die Detailansicht jedes Neurons sehen. Hier, jedes Neuron hat einige Gewichte (im Bild oben w1, w2, w3) und Vorurteile und, basierend auf diesen Berechnungen, werden durchgeführt als, Kombination = Voreingenommenheit + Pesos * Eintrag (F = w1 * x1 + w2 * x2 + w3 * x3) y por último se aplica la WeckfunktionDie Aktivierungsfunktion ist eine Schlüsselkomponente in neuronalen Netzen, da es den Output eines Neurons auf der Grundlage seiner Eingabe bestimmt. Sein Hauptzweck besteht darin, Nichtlinearitäten in das Modell einzuführen, Ermöglicht das Erlernen komplexer Muster in Daten. Es gibt verschiedene Aktivierungsfunktionen, wie das Sigmoid, ReLU und tanh, jedes mit besonderen Eigenschaften, die sich auf die Leistung des Modells in verschiedenen Anwendungen auswirken.... Ausgang = Aktivierung (Kombination) im Bild oben, Aktivierung ist sigmoid dargestellt durch 1 / (1 + e-F). Es gibt einige andere Aktivierungsfunktionen, Was LebenslaufDie Aktivierungsfunktion von ReLU (Gleichgerichtete Lineareinheit) Es wird aufgrund seiner Einfachheit und Effektivität häufig in neuronalen Netzen verwendet. Definiert als ( F(x) = max(0, x) ), ReLU lässt Neuronen nur dann feuern, wenn die Eingabe positiv ist, Dies hilft, das Problem des Gradientenverblassens zu mildern. Es hat sich gezeigt, dass seine Verwendung die Leistung bei verschiedenen Deep-Learning-Aufgaben verbessert, ReLU zu einer Option machen.., Undichte ReLU, so und vieles mehr.
ANN-Arbeit
Am Anfang, die Informationen werden der Eingabeschicht zugeführt, die sie später an die versteckten Schichten überträgt, und die Verbindung zwischen diesen beiden Schichten weist jedem Eingang zufällig am Anfangspunkt Gewichte zu. und später wird der Bias zu jedem Eingabeneuron hinzugefügt und danach, die gewichtete Summe, die eine Kombination aus Gewichtungen und Bias ist, wird durch die Aktivierungsfunktion geleitet. La función de activación tiene la responsabilidad de qué KnotenNodo ist eine digitale Plattform, die die Verbindung zwischen Fachleuten und Unternehmen auf der Suche nach Talenten erleichtert. Durch ein intuitives System, Ermöglicht Benutzern das Erstellen von Profilen, Erfahrungen austauschen und Zugang zu Stellenangeboten erhalten. Der Fokus auf Zusammenarbeit und Networking macht Nodo zu einem wertvollen Werkzeug für diejenigen, die ihr berufliches Netzwerk erweitern und Projekte finden möchten, die mit ihren Fähigkeiten und Zielen übereinstimmen.... disparar para la extracción de características y por último se calcula la salida. Dieses gesamte Verfahren wird als Vorwärtsausbreitung bezeichnet.. Nachdem das Ausgabemodell mit der Originalausgabe verglichen wurde und der Fehler bekannt ist und schließlich, Gewichte werden in Rückwärtsausbreitung aktualisiert, um Fehler zu reduzieren, und dieses Verfahren wird für eine bestimmte Anzahl von Epochen fortgesetzt (Wiederholung). Zusammenfassend, die Modellgewichte werden aktualisiert und die Prognose durchgeführt.
Vorteil
- KNN hat die Fähigkeit, komplexe und nichtlineare Beziehungen zu lernen und zu modellieren, da viele Input-Output-Beziehungen nicht linear sind.
- Nach dem Training, KNN kann aus unsichtbaren Daten unsichtbare Beziehungen ableiten und, deshalb, es verallgemeinert.
- Im Gegensatz zu vielen Modellen für maschinelles Lernen, ANN hat keine Beschränkungen für Datensätze, da die Daten eine Gaußsche Verteilung oder keine andere Verteilung haben müssen.
Anwendungen
Es gibt viele Anwendungen von ANN. Einige von ihnen sind :
- Bildvorverarbeitung und Charakterakkreditierung.
- Vorhersage.
- Kreditbeurteilung.
- Entdeckung eines Betruges.
- Portfolio-Management.
KODIERUNGSTEIL
Lassen Sie uns nun codieren und die Konzepte verstehen, die es verwenden.
1. Verstehen und Laden Ihrer Datensätze
Zuerst Bibliotheken als NumPy importieren, Pandas und importieren auch sogenannte dichte sequentielle Klassen aus der Keras-Bibliothek.
numpy als np importieren Pandas als pd importieren von keras.models importieren Sequential aus keras.layers importieren dicht
Jetzt, hier werde ich den Diabetes-Onset-Datensatz der Pima-Indianer verwenden, Dies ist ein Standard-Dataset für maschinelles Lernen aus dem UCI-Repository für maschinelles Lernen. Der Link ist unten zu finden. Dieser Datensatz berichtet über die Krankengeschichte des Patienten und ob er innerhalb von fünf Jahren an Diabetes erkrankt war, es ist auch ein binäres Klassifizierungshindernis.
Hier können Sie die Datensätze herunterladen:
Importieren Sie nun den Datensatz mit Pandas und später verstehen wir mehr über die Datensätze und teilen die Datensätze später in abhängige und unabhängige Variablen auf.
Datensatz = pd.read_csv('pima-indians-diabetes.csv')
X = Datensatz[:,0:8]
y = Datensatz[:,8]
2. Definition des Keras-Modells
Modelle in Keras sind definiert als eine Abfolge von Ebenen, in denen jede Ebene nacheinander hinzugefügt wird. Die Eingabe muss Eingabemerkmale enthalten und wird beim Erstellen des ersten Layers mit input_dims . angegeben Streit. Hier werden input_dims sein 8.
Nun stellt sich die Frage, wie wir die Anzahl der Schichten und die Anzahl der Neuronen in jeder Schicht wählen können.
Es ist ziemlich schwierig zu wissen, wie viele Schichten wir verwenden sollten. Im Allgemeinen dafür Keras-Tuner Gebraucht, die eine Reihe von Schichten hat, eine Reihe von Neuronen und einige Aktivierungsfunktionen. und folglich, durch Permutation und Kombination, versuche herauszufinden, was am besten geeignet ist. Aber ein Nachteil ist, dass es lange dauert. Sie können die Dokumentation überprüfen. Keras-Tuner für mehr Details.
In diesem Beispiel, Es wird ein vollständig verbundenes Netzwerk mit drei Schichten verwendet, das definiert mit dichter Klasse. Das erste Argument nimmt die Anzahl der Neuronen in dieser Schicht und, und Aktivierung Das Argument nimmt die Aktivierungsfunktion als Eingabe. Hier, ReLU wird als Aktivierungsfunktion in den ersten beiden Schichten und Sigmoid in der letzten Schicht verwendet, da es sich um ein binäres Klassifizierungshindernis handelt.
Modell = Sequentiell() model.add(Dicht(12, input_dim=8, aktivierung='relu')) model.add(Dicht(8, aktivierung='relu')) model.add(Dicht(1, activation='sigmoid'))
3. Kompilieren Sie das Keras-Modell
Während der Kompilierung, debemos especificar la Verlust-FunktionDie Verlustfunktion ist ein grundlegendes Werkzeug des maschinellen Lernens, das die Diskrepanz zwischen Modellvorhersagen und tatsächlichen Werten quantifiziert. Ziel ist es, den Trainingsprozess zu steuern, indem dieser Unterschied minimiert wird, Dadurch kann das Modell effektiver lernen. Es gibt verschiedene Arten von Verlustfunktionen, wie z. B. mittlerer quadratischer Fehler und Kreuzentropie, jeder für unterschiedliche Aufgaben geeignet und... para calcular los errores, der Optimierer zum Aktualisieren der Gewichtungen und Metriken.
Unter diesen Umständen, wir werden verwenden „binäre_kreuzentropie„ Als die hat verloren Argument, da es sich um ein binäres Klassifizierungshindernis handelt.
Hier nehmen wir Optimierer Was „Adam„Da es sich automatisch abstimmt und bei einer Vielzahl von Problemen gut funktioniert und wir letztendlich die Genauigkeit des Rankings mithilfe von Metriken Streit.
model.compile(Verlust="binäre_kreuzentropie", Optimierer="Adam", Metriken=[Genauigkeit])
4. Passform des Keras-Modells.
Nun passen wir unser Modell durch Aufrufen an die geladenen Daten an hineinpassen() Funktion im Modell.
Die Trainingsprozedur wird für eine feste Anzahl von Iterationen durch den Datensatz ausgeführt, der durch die Epochen Streit. Die Anzahl der Zeilen im Datensatz muss aktualisiert werden und wird innerhalb jeder Epoche aktualisiert, und begleichen Sie mit Losgröße Streit.
Hier, wir werden ausführen 150 Epochen und einer Losgröße von 10.
model.fit(x, Ja, Epochen=150, batch_size=10)
5. Untersuchen Sie das Keras-Modell
Die Auswertung des Modells auf dem Datensatz kann mit dem untersuchen() Funktion. Zwei Argumente sind nötig, Mit anderen Worten, Ein- und Ausgang. Es generiert eine Vorhersage für jedes Eingabe- und Ausgabepaar und sammelt Punkte, einschließlich durchschnittlicher Verlust und alle Metriken, wie Präzision.
das untersuchen() Die Funktion gibt eine Liste mit zwei Werten zurück, der erste ist der Verlust des Modells und der zweite die Präzision des Modells im Datensatz. Wir sind nur daran interessiert, die Richtigkeit zu melden und, deshalb, wir ignorieren den Wert des Verlustes.
_, Genauigkeit = model.evaluate(x, Ja)
drucken('Accuracy: %.2f' % (Genauigkeit*100))
6.Voraussagen machen
Die Vorhersage kann telefonisch erfolgen Vorhersagen() Funktion im Modell. Hier wird die Sigmoid-Aktivierungsfunktion in der Ausgabeschicht verwendet, die Vorhersagen liegen also mit einer Wahrscheinlichkeit im Bereich zwischen 0 Ja 1.
Vorhersagen = model.predict(x) gerundet = [runden(x[0]) für x in Vorhersagen]
Zusammenfassung des endgültigen Codes
Aquí hemos aprendido cómo crear su primer modelo de red neuronal usando la poderosa biblioteca Keras Python para el tiefes LernenTiefes Lernen, Eine Teildisziplin der Künstlichen Intelligenz, verlässt sich auf künstliche neuronale Netze, um große Datenmengen zu analysieren und zu verarbeiten. Diese Technik ermöglicht es Maschinen, Muster zu lernen und komplexe Aufgaben auszuführen, wie Spracherkennung und Computer Vision. Seine Fähigkeit, sich kontinuierlich zu verbessern, wenn mehr Daten zur Verfügung gestellt werden, macht es zu einem wichtigen Werkzeug in verschiedenen Branchen, von Gesundheit....
Es gibt sechs Hauptschritte bei der Verwendung von Keras, um ein neuronales Netzwerk oder ein Deep-Learning-Modell zu erstellen, das die Daten lädt., Definiere das neuronale Netz in Keras, später kompilieren, auswerten und schließlich Vorhersagen mit dem Modell treffen.
FAZIT
In diesem Beitrag haben wir die Grundkonzepte künstlicher neuronaler Netze und deren Code verstanden. Im Codierungsteil, Wir haben den Diabetes-Datensatz der Pima-Indianer verwendet. hier haben wir die sechs Hauptschritte zur Erstellung neuronaler Netze im Detail verstanden. Abgesehen davon, Viele Dinge wurden nicht in Blogs behandelt und, dann, Ich habe die Links zu anderen Blogs bereitgestellt, aus denen Sie die Themen konsultieren können.
- Verschiedene Arten von Kostenfunktionen und ihre Anwendungen.
- Acerca de Gradient Descent.
- Keras-Dokumentation
Die in diesem Beitrag gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.



