Heim >Backend-Entwicklung >Python-Tutorial >Künstliche Neuronen: Das Herz der KI
Die jüngsten Durchbrüche bei großen Sprachmodellen (LLMs) haben großes Interesse am Bereich der künstlichen Intelligenz (KI) geweckt. Dieser Popularitätsschub hat viele dazu veranlasst, eine Karriere in diesem schnell wachsenden Sektor anzustreben. Ein entscheidendes Grundelement, das jedoch oft übersehen wird, ist das künstliche Neuron, das Fundament künstlicher neuronaler Netze. Um die Feinheiten dieser Netzwerke zu verstehen, ist ein gründliches Verständnis des künstlichen Neurons unerlässlich. Dieses Tutorial erklärt die Funktionalität eines künstlichen Neurons, auch bekannt als logistische Regression. Trotz seiner Einfachheit erweist sich das künstliche Neuron als bemerkenswert effektiv bei der Lösung verschiedener Klassifizierungsprobleme, darunter Spam-Erkennung, Diabetes-Vorhersage und Kreditrisikobewertung.
Um diese Technik vollständig zu verstehen, ist das Verständnis der Klassifizierung von Modellen für maschinelles Lernen von entscheidender Bedeutung. Maschinelles Lernen, ein Teilbereich der KI, konzentriert sich auf die Entwicklung von Systemen, die automatisiertes Lernen und Verbesserungen aus Daten ermöglichen. Modelle für maschinelles Lernen werden grob in überwachte, unüberwachte und verstärkte Lernmodelle kategorisiert.
Überwachte Modelle lernen aus beschrifteten Beispielen. Im Gegensatz dazu identifizieren unüberwachte Techniken Muster in Daten, ohne diese Muster vorher zu kennen. Bestärkendes Lernen Modelle lernen durch Versuch und Irrtum und erhalten Feedback in Form von Belohnungen.
Logistische Regression fällt als Implementierung des künstlichen Neurons in die Kategorie des überwachten Lernens. Überwachte Modelle werden weiter in Klassifizierungs-- und Regressions--Systeme unterteilt.
Klassifizierungsmodelle zielen darauf ab, die richtige Klasse für eine bestimmte Eingabe zu identifizieren. Beispielsweise könnte ein System die Finanzdaten einer Person analysieren, um die Kreditwürdigkeit zu bestimmen. Ein weiteres Beispiel ist die Klassifizierung von Tieren anhand ihrer Merkmale (Säugetier, Reptil, Vogel usw.).
Regressionsmodelle hingegen sagen einen numerischen Wert basierend auf Eingabedaten voraus. Die Vorhersage von Inflationsraten anhand von Finanzdaten ist eine häufige Anwendung im Finanzwesen.
Trotz ihres Namens ist die logistische Regression eine Klassifizierungstechnik. Die Klassifizierung kann binär (zwei Klassen, z. B. Ja/Nein) oder mehrklassig (mehrere Klassen, z. B. Wortarten) sein.
Um die logistische Regression von der linearen Regression zu unterscheiden, betrachten wir (der Einfachheit halber) eine visuelle Darstellung mit zwei Eingaben. Bei der linearen Regression besteht das Ziel darin, eine Linie an eine Reihe von Punkten anzupassen und so den Gesamttrend zu erfassen.
Klassifizierung von Modellen für maschinelles Lernen.
Diese Linie wird dann verwendet, um einen Achsenwert basierend auf dem anderen vorherzusagen (eine Ebene im 3D-Raum, eine Hyperebene in höheren Dimensionen).
Logistische Regression zielt jedoch darauf ab, eine binäre Entscheidung (Ja/Nein usw.) zu treffen. Eine gerade Linie reicht hierfür nicht aus. Erwägen Sie, die Kreditwürdigkeit anhand des Gehalts zu bestimmen. Das Anpassen einer Linie an diese Daten ist problematisch.
Beispiel einer linearen Regression.
Eine „S“-förmige Kurve bietet jedoch eine effektivere Lösung. Punkte, die näher am oberen Teil der Kurve liegen, zeigen „Ja“ an, während Punkte, die näher am unteren Teil liegen, „Nein“ anzeigen. Durch die Einführung der Nichtlinearität wird die Linie in diese Kurve umgewandelt.
Veranschaulichung der Unzulänglichkeit der linearen Regression für die Klassifizierung.
Die Logistikfunktion führt diese Nichtlinearität ein. Seine Formel lautet:
Diese Funktion weist mehrere Schlüsseleigenschaften auf:
Nachweis der Eignung der „S“-förmigen Kurve zur Klassifizierung.
Grafische Darstellung der Logistikfunktion.
Die Differenzierbarkeit ermöglicht die Berechnung der Steigung an jedem Punkt der Kurve, was für die Anpassung des Modells während des Trainings von entscheidender Bedeutung ist.
Grafische Darstellung einer Tangente an einen Punkt in der Logistikfunktion.
Lassen Sie uns die logistische Regression anhand eines Kreditgenehmigungsdatensatzes veranschaulichen. Der Datensatz enthält Merkmale wie Gehalt und Kreditbetrag sowie eine Bezeichnung, die Genehmigung (1) oder Ablehnung (0) angibt. Wir werden einen Teil zum Training und einen anderen zum Testen verwenden.
Der Datensatz.
Das Modell berechnet eine gewichtete Summe der Eingaben (Gehalt und Kreditbetrag) plus einen Bias-Term (Z). Anfangsgewichte und Bias sind zufällig und werden während des Trainings angepasst.
Beispiel für die Berechnung des Wertes von Z.
Die Sigmoidfunktion wandelt dann Z in eine Wahrscheinlichkeit (0-1) um. Werte ≥ 0,5 werden als „ja“ und < 0,5 als „nein“. Fehler werden durch den Vergleich von Vorhersagen mit tatsächlichen Werten berechnet.
Dieser Prozess ist analog zu einem biologischen Neuron: Eingaben (Dendriten), gewichtete Verbindungen, Summierung, Schwelle (Sigmoid) und Ausgabe (Axon).
Grafische Darstellung des logistischen Regressionsberechnungsablaufs.
Neuron
Formell gegebener Eingabevektor x, Gewichtsvektor w und Bias b:
Z = wTx b
Die Sigmoidfunktion erzeugt dann die Ausgabe.
Notationskonvention.
Vektormultiplikation.
Anwendung der Sigmoidfunktion auf Z.
Eine Python-Implementierung ist unten dargestellt und veranschaulicht die Berechnung und Fehlerberechnung. Der Trainingsprozess (Gewichtsanpassung) wird in einem späteren Tutorial behandelt.
<code class="language-python">from math import exp def sigmoide(x): return 1 / (1 + exp(-x)) # Input X[0] Wage, x[1] Loan X = [[3,10],[1.5,11.8],[5.5,20.0],[3.5,15.2],[3.1,14.5], [7.6,15.5],[1.5,3.5],[6.9,8.5],[8.6,2.0],[7.66,3.5]] Y = [0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1, 1] m = len(X) w=[0.2,0.1] b=0.1 for j in range(m): z = X[j][0]*w[0]+X[j][1]*w[1]+b yhat = sigmoide(z) # Calculates error erro = yhat-Y[j] print(" Wage:{0:5.2f} Wage:{1:5.2f} Expected value:{2} ". format( X[j][0]*1000, X[j][1], Y[j])) print(" z:{0:2.3f} yhat:{1:2.3f} error:{2:2.3f}\n ".format( z, yhat, erro))</code>
Beispiel für die Berechnung der logistischen Regression.
Ausgabe des Programms.
Damit ist dieses Tutorial abgeschlossen. Der Trainingsprozess wird in einer zukünftigen Folge erklärt.
Das obige ist der detaillierte Inhalt vonKünstliche Neuronen: Das Herz der KI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!