题解 | 单神经元

单神经元

https://www.nowcoder.com/practice/8903b7c94c6f4f4f963b7d05e1e397c7

from ctypes import BigEndianStructure
import math
import numpy as np

def single_neuron_model(features, labels, weights, bias):
    probabilities=[]
    for i in range(len(features)):
       z=0
       for j in range(len(features[0])):
           z+=features[i][j]*weights[j]
       z+=bias
       z=1/(1+np.exp(-z))
       z=round(z,4)
       probabilities.append(z)
       diff=0
    for i in range(len(features)):
        diff+=(probabilities[i]-labels[i])**2
    mse=diff/len(features)
    mse=round(mse,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))

顺便复习一下深度学习的知识。题目中,函数的输入包括样本数据features,标签labels,权重向量weights,偏置项bias。最后返回预测列表probabilities和误差mse.

回顾一下神经元操作流程:

1.输入样本跟权重求内积再加偏置。

2.然后过一个sigmoid激活函数,得到预测值。

3.求预测值与标签之间的差的平方,计算均方误差mse。

#深度学习算法 #单神经元

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务