题解 | 单神经元
单神经元
https://www.nowcoder.com/practice/8903b7c94c6f4f4f963b7d05e1e397c7
import math
import numpy as np
def single_neuron_model(features, labels, weights, bias):
def sigmoid(x):
return 1 / (1 + np.exp(-x))
probabilities_np = sigmoid(weights @ features.T + bias)
probabilities = []
mse = 0
for i in range(len(probabilities_np)):
probabilities.append(round(probabilities_np[i], 4))
mse += (probabilities_np[i] - labels[i])**2
mse = round(mse / len(probabilities_np), 4)
return probabilities, mse
if __name__ == "__main__":
features = np.array(eval(input()))
labels = np.array(eval(input()))
weights = np.array(eval(input()))
bias = float(input())
print(single_neuron_model(features, labels, weights, bias))
