Dieser Artikel wurde im Rahmen der Data Science Blogathon
Einführung
EIN 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.. artificial es un subcampo de la inteligencia artificial compilado bajo las redes neuronales de 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... que intenta imitar la red de neuronas que hace el cerebro humano, es ihnen zu ermöglichen, wie ein Mensch zu verstehen und darauf zu reagieren.
Inhaltsverzeichnis
- Übersicht über neuronale Netze
- Einführung in Keras
- Schritt-für-Schritt-Implementierung Ihres ersten Keras-Modells
- Den ganzen Code kombinieren
- EndNote
Kurzbeschreibung des neuronalen Netzes
Das neuronale Netz besteht aus einer größeren Menge von Neuronen, sogenannte geschichtete Einheiten. In einfachen Worten, Neuronale Netze wurden entwickelt, um eine komplexere Aufgabe auszuführen, bei der Algorithmen des maschinellen Lernens ihre Verwendung nicht finden und nicht die erforderliche Leistung erreichen.
Neuronale Netze werden verwendet, um viele komplexe Aufgaben auszuführen, inklusive Bildklassifizierung, Objekterkennung, Gesichtserkennung, die Textzusammenfassung, Spracherkennung und die Liste ist endlos.
Wie lernen neuronale Netze komplexe Eigenschaften?? Ein neuronales Netzwerk hat viele Schichten und jede Schicht führt eine spezifische und komplexe Funktion des Netzwerks aus. Je mehr Schichten sind, mehr Leistung wird empfangen. Deshalb wird das neuronale Netz auch als mehrschichtiges Perzeptron bezeichnet..
Einführung in die Kears-Bibliothek
Keras ist eine schnelle neuronale Netzwerkbibliothek, Open Source und einfach zu verwenden, geschrieben in Python, das auf Theano oder Tensorflow läuft. Tensorflow bietet sowohl Low-Level- als auch High-Level-APIs; in der Tat, Keras bietet nur High-Level-API.
Als Anfänger, es wird empfohlen, zuerst mit Keras zu arbeiten und dann zu TensorFlow zu wechseln. Der Grund dafür ist, dass die Verwendung von Tensorflow-Funktionen als Anfänger etwas komplex zu verstehen und zu interpretieren ist, aber Keras Funktionalität ist einfach.
Erstellen Sie Ihr erstes neuronales Netzwerkmodell mit Keras
Wir werden Schritt für Schritt ein einfaches künstliches neuronales Netz mit Keras aufbauen, das Ihnen helfen wird, in Zukunft Ihr eigenes Modell zu erstellen.
Paso 1) Lade Daten
Wir werden die Diabetesdaten von Pima Indians verwenden, die Sie herunterladen können von hier. Es handelt sich um einen einfachen Datensatz, der vom UCI Machine Learning-Datensatz bereitgestellt wird, mit einer Krankenakte indischer Patienten. Wir müssen vorhersagen, ob der Patient innerhalb von 5 Jahre.
Pandas als pd importieren data = pd.read_csv('diabetes.csv') x = data.drop("Ergebnis", Achse=1) y = Daten["Ergebnis"]
Es ist ein binäres Klassifikationsproblem, bei dem wir sagen müssen, ob Ihr Diabetes-Beginn 1 oder nicht mögen 0. Alle Spalten sind numerisch, was die direkte Erstellung eines neuronalen Netzes darauf erleichtert. Deswegen, wir haben unabhängige und abhängige Daten getrennt.
Paso 2) Definieren Sie das Keras-Modell
Das Modell in Keras ist immer als eine Abfolge von Schichten definiert. Das heißt, wir initialisieren das Sequenzmodell und fügen die Layer nacheinander hinzu, die als Sequenz aus der Liste ablaufen. Wir müssen praktisch versuchen, mit dem Prozess des Hinzufügens und Entfernens von Ebenen zu experimentieren, bis wir mit unserer Architektur zufrieden sind..
Sie müssen darauf achten, dass die erste Ebene die richtige Anzahl von Eingabemerkmalen hat, die mit dem input_dim Parameter. wir können die Anzahl der Neuronen als erstes Argument einer Schicht angeben. para definir 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.... utilice el argumento de activación.
In diesem Beispiel, Wir werden ein vollständig verbundenes Netzwerk mit drei Schichten definieren. So definieren Sie die vollständig verbundene Ebene, Verwenden Sie die Keras Dense-Klasse.
- Die erste Schicht hat 12 neuronas y función de activación como 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..
- Die zweite versteckte Schicht hat 8 Neuronen und Aktivierung wirken als Relu
- Schließlich, auf der 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...., wir gebrauchen 1 Einheit und Aktivierung als Sigmoid, da es sich um ein binäres Klassifikationsproblem handelt.
von keras.models importieren Sequential aus keras.layers importieren dicht Modell = Sequentiell() model.add(Dicht(12, input_dim=8, Aktivierung="Lebenslauf")) model.add(Dicht(12, Aktivierung="Lebenslauf")) model.add(Dicht(1, Aktivierung="sigmoid"))
Recuerde especificar la forma correcta de los datos en la primera capa conocida como 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.....
Paso 3) Kompilieren Sie das Keras-Modell
Wenn wir das Keras-Modell kompilieren, Verwenden Sie numerische Backend-Bibliotheken wie TensorFlow oder Theano. Welches Back-End Sie auch verwenden, wählt automatisch den besten Weg, um das Netzwerk auf Ihrer Hardware darzustellen, als CPU, GPU oder TPU.
Wenn wir das Modell kompilieren, debemos especificar algunos ParameterDas "Parameter" sind Variablen oder Kriterien, die zur Definition von, ein Phänomen oder System zu messen oder zu bewerten. In verschiedenen Bereichen wie z.B. Statistik, Informatik und naturwissenschaftliche Forschung, Parameter sind entscheidend für die Etablierung von Normen und Standards, die die Datenanalyse und -interpretation leiten. Ihre richtige Auswahl und Handhabung sind entscheidend, um genaue und relevante Ergebnisse in jeder Studie oder jedem Projekt zu erhalten.... adicionales para evaluar mejor el modelo y encontrar el mejor conjunto de ponderaciones para asignar entradas a salidas.
- VerlustfunktionDie 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...: die Verlustfunktion muss angegeben werden, um den Satz von Gewichtungen zu bewerten, auf den das Modell abgebildet wird. Wir werden die Kreuzentropie als Verlustfunktion verwenden, die eigentlich als binäre Kreuzentropie für die binäre Klassifizierung bekannt ist.
- Optimierer: der zweite ist der Optimierer, um den Verlust zu optimieren. Wir werden Adam verwenden, Dies ist eine beliebte Version des Gradientenabstiegs und liefert bei den meisten Problemen das beste Ergebnis.
model.compile(Verlust="binäre_kreuzentropie", Optimierer="Adam", Metriken=["Richtigkeit"])
Paso 4) Fange an zu trainieren (passt das modell)
Nach erfolgreicher Zusammenstellung des Modells, Wir sind bereit, die Daten an das Modell anzupassen und mit dem Training des neuronalen Netzes zu beginnen. Neben der Bereitstellung von Daten für das Modell, necesitamos definir una cantidad de épocas y un tamaño de lote en el que se produce el 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.....
- EpocheEpoch es una plataforma que ofrece herramientas para la creación y gestión de contenido digital. Su enfoque se centra en facilitar la producción de multimedia, permitiendo a los usuarios colaborar y compartir información de manera eficiente. Con una interfaz intuitiva, Epoch se ha convertido en una opción popular entre profesionales y empresas que buscan optimizar su flujo de trabajo en la era digital. Su versatilidad la hace adecuada para diversas...: Einzeldurchlauf durch alle Zeilen des Trainingsdatensatzes
- Losgröße: Anzahl der vom Modell berücksichtigten Stichproben vor der Aktualisierung der Gewichte.
model.fit(x,Ja, Epochen=150, batch_size=10)
Eine Epoche kann aus mehr als einer Charge bestehen. Diese Parameter werden schließlich nach der Wärme- und Testmethode festgelegt.
Paso 5) Bewerten Sie das Modell
Nach dem Training des Modells, Lassen Sie uns die Leistung eines neuronalen Netzes wissen. Das Modell wird immer in einem Test-Set bewertet. In diesem Beispiel, Der Einfachheit halber, wir haben an einem kompletten Datensatz trainiert, aber während der Arbeit an einem Projekt, teilt im Grunde die Daten auf und trainiert das Netzwerk.
_, Genauigkeit = model.evaluate(x, Ja) drucken("Modellgenauigkeit: %.2F"% (Genauigkeit*100))
Um das Modell zu bewerten, Verwenden Sie die Bewertungsmethode und übergeben Sie die Eingabe und Ausgabe an das Modell und überprüfen Sie die Leistung.
Paso 6) Voraussagen machen
Vorhersage der Ausgabe neuer Daten einfach mit der Vorhersagemethode. wir haben eine binäre Klassifikationsproblemstellung, die Ausgabe wird also einfach sein 0 Ö 1.
Vorhersagen = model.predict(x) drucken([runden(x[0]) für x in Vorhersagen])
Alternative, du kannst auch die verwenden predict_classes Funktion zur direkten Vorhersage von Klassen.
Das ist gelöst, Wir haben ganz einfach ein neuronales Netzwerk mit erstellt 3 Ebenen mit nur wenigen Codezeilen mit Keras.
Kompilieren Sie den gesamten Code zusammen
Modell = Sequentiell() #Modell definieren model.add(Dicht(12, input_dim=8, Aktivierung="Lebenslauf")) model.add(Dicht(8, Aktivierung="Lebenslauf")) model.add(Dicht(1, Aktivierung="sigmoid")) model.compile(Verlust="binäre_kreuzentropie", Optimierer="Adam", Metriken=["Richtigkeit"]) #Modell kompilieren model.fit(x,Ja, Epochen=150, batch_size=10) #Ausbildung _, Genauigkeit = model.evaluate(x,Ja) #testen drucken("Modellgenauigkeit: %.2F"% (Genauigkeit*100)) Vorhersagen = model.predict(x) #Voraussagen machen #rund um die Vorhersage gerundet = [runden(x[0]) für x in Vorhersagen]
EndNote
Ein neuronales Netzwerk bildet ein Netzwerk verbundener Schichten mit mehreren Neuronen in jeder Schicht. EIN messenDas "messen" Es ist ein grundlegendes Konzept in verschiedenen Disziplinen, , die sich auf den Prozess der Quantifizierung von Eigenschaften oder Größen von Objekten bezieht, Phänomene oder Situationen. In Mathematik, Wird verwendet, um Längen zu bestimmen, Flächen und Volumina, In den Sozialwissenschaften kann es sich auf die Bewertung qualitativer und quantitativer Variablen beziehen. Die Messgenauigkeit ist entscheidend, um zuverlässige und valide Ergebnisse in der Forschung oder praktischen Anwendung zu erhalten.... que aumentamos el número de capas, das Netzwerk ist in der Lage, komplexere Eigenschaften zu lernen.
Mit Keras . haben Sie ganz einfach Ihr erstes neuronales Netzmodell erstellt. Ich hoffe, es war leicht, all die Dinge zu begreifen. Wenn du irgendeine Frage hast, Bitte kommentieren. Ich helfe dir gerne.
Wenn dir der Artikel gefällt, Schauen Sie sich meine anderen Artikel an. Verknüpfung