Alle Herausforderungen
Einfach 0 gelöst 0% Erfolgsquote

Ein einzelnes künstliches Neuron

Berechne die Ausgabe eines Neurons: gewichtete Summe der Eingaben plus Bias, durch Sigmoid geleitet.

Das lernst du

  • Eingaben, Gewichte und einen Bias kombinieren
  • Die Summe durch eine Aktivierung schicken
  • Sehen, wie ein Neuron eine Vorhersage trifft

Problem

Ein künstliches Neuron multipliziert jede Eingabe mit einem Gewicht, addiert einen Bias und leitet das Ergebnis durch eine Aktivierungsfunktion:

z = x₁×w₁ + x₂×w₂ + … + xₙ×wₙ + bias

Ausgabe = sigmoid(z) = 1 / (1 + e^(-z))

Implementiere neuron_output(inputs, weights, bias).

Eingabe

inputs: Die Eingabewerte.

weights: Ein Gewicht pro Eingabe (gleiche Länge wie inputs).

bias: Der Bias des Neurons.

Ausgabe

Gib die Ausgabe des Neurons zurück, eine Dezimalzahl zwischen 0 und 1.

Einschränkungen

1 ≤ Länge von inputs = Länge von weights ≤ 100

-10 ≤ jede Eingabe, jedes Gewicht und der Bias ≤ 10

Beispiele

Beispiel 1
Eingabe:
bias = 0.5
inputs = [1.0, 2.0, 3.0]
weights = [0.2, 0.4, 0.6]

Erwartete Ausgabe:
expected = 0.964429
Eingabe:
double bias = 0.5;
std::vector<double> inputs = {1.0, 2.0, 3.0};
std::vector<double> weights = {0.2, 0.4, 0.6};

Erwartete Ausgabe:
double expected = 0.964429;
Eingabe:
double bias = 0.5;
double[] inputs = new double[] {1.0, 2.0, 3.0};
double[] weights = new double[] {0.2, 0.4, 0.6};

Erwartete Ausgabe:
double expected = 0.964429;

Erläuterung

z = 1×0.2 + 2×0.4 + 3×0.6 + 0.5 = 3.3, und sigmoid(3.3) ≈ 0.964429.

Beispiel 2
Eingabe:
bias = 0.0
inputs = [0.5, -1.0]
weights = [2.0, 1.0]

Erwartete Ausgabe:
expected = 0.5
Eingabe:
double bias = 0.0;
std::vector<double> inputs = {0.5, -1.0};
std::vector<double> weights = {2.0, 1.0};

Erwartete Ausgabe:
double expected = 0.5;
Eingabe:
double bias = 0.0;
double[] inputs = new double[] {0.5, -1.0};
double[] weights = new double[] {2.0, 1.0};

Erwartete Ausgabe:
double expected = 0.5;

Erläuterung

z = 0.5×2 + (-1)×1 + 0 = 0, und sigmoid(0) = 0.5: Das Neuron ist genau unentschieden.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Das ist nur eine gewichtete Summe der Eingaben plus Bias, gefolgt von einer sigmoid.

Hinweis 2

Paare jede Eingabe mit dem passenden Gewicht und summiere die Produkte auf, bevor du den Bias addierst.

Hinweis 3

Achte darauf, dass der finale Output durch sigmoid läuft und nicht die rohe Summe zurückgegeben wird.

Erwartete Komplexität

Zeit O(n), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.