Tất cả thử thách
Dễ 0 đã giải Tỷ lệ chấp nhận 0%

Một nơ-ron nhân tạo

Tính đầu ra của một nơ-ron, tổng có trọng số của các đầu vào cộng bias, rồi đưa qua sigmoid.

Bạn sẽ học được gì

  • Kết hợp đầu vào, trọng số và bias
  • Đưa tổng qua hàm kích hoạt
  • Thấy cách một nơ-ron đưa ra dự đoán

Đề bài

Xem bản gốc (English)

Một nơ-ron nhân tạo nhân từng đầu vào với một trọng số, cộng thêm bias, rồi đưa kết quả qua hàm kích hoạt:

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

đầu ra = sigmoid(z) = 1 / (1 + e^(-z))

Hãy cài đặt neuron_output(inputs, weights, bias).

Đầu vào

inputs: Các giá trị đầu vào.

weights: Mỗi đầu vào một trọng số (cùng độ dài với inputs).

bias: Bias của nơ-ron.

Đầu ra

Trả về đầu ra của nơ-ron, một số thực từ 0 đến 1.

Ràng buộc

1 ≤ độ dài của inputs = độ dài của weights ≤ 100

-10 ≤ mỗi đầu vào, trọng số và bias ≤ 10

Ví dụ

Ví dụ 1
Đầu vào:
bias = 0.5
inputs = [1.0, 2.0, 3.0]
weights = [0.2, 0.4, 0.6]

Kết quả mong đợi:
expected = 0.964429
Đầu vào:
double bias = 0.5;
std::vector<double> inputs = {1.0, 2.0, 3.0};
std::vector<double> weights = {0.2, 0.4, 0.6};

Kết quả mong đợi:
double expected = 0.964429;
Đầu vào:
double bias = 0.5;
double[] inputs = new double[] {1.0, 2.0, 3.0};
double[] weights = new double[] {0.2, 0.4, 0.6};

Kết quả mong đợi:
double expected = 0.964429;

Giải thích

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

Ví dụ 2
Đầu vào:
bias = 0.0
inputs = [0.5, -1.0]
weights = [2.0, 1.0]

Kết quả mong đợi:
expected = 0.5
Đầu vào:
double bias = 0.0;
std::vector<double> inputs = {0.5, -1.0};
std::vector<double> weights = {2.0, 1.0};

Kết quả mong đợi:
double expected = 0.5;
Đầu vào:
double bias = 0.0;
double[] inputs = new double[] {0.5, -1.0};
double[] weights = new double[] {2.0, 1.0};

Kết quả mong đợi:
double expected = 0.5;

Giải thích

z = 0.5×2 + (-1)×1 + 0 = 0, và sigmoid(0) = 0.5: nơ-ron đang hoàn toàn lưỡng lự.

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.