Einfach 0 gelöst 0% Erfolgsquote

Single Artificial Neuron

Compute the output of one neuron: weighted sum of the inputs plus a bias, passed through sigmoid.

Das lernst du

  • Combine inputs, weights and a bias
  • Pass the sum through an activation
  • See how a neuron makes a prediction

Problem

Übersetzung anzeigen

An artificial neuron multiplies each input by a weight, adds a bias, and passes the result through an activation function:

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

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

Implement neuron_output(inputs, weights, bias).

Input

inputs: The input values.

weights: One weight per input (same length as inputs).

bias: The neuron's bias.

Output

Return the neuron's output, a decimal number between 0 and 1.

Einschränkungen

1 ≤ length of inputs = length of weights ≤ 100

-10 ≤ each input, weight and 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, and 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, and sigmoid(0) = 0.5: the neuron is exactly undecided.

So gehst du vor

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

Hinweis 1

This is just a weighted sum of the inputs plus a bias, followed by one sigmoid.

Hinweis 2

Pair each input with its corresponding weight and accumulate the products before adding the bias.

Hinweis 3

Watch that the final output is passed through sigmoid, not returned as the raw sum.

Erwartete Komplexität

O(n) time, O(1) extra space

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.