Python 神经网络入门:简单街灯预测模型
'import numpy as np\nweights=np.array([0.5, 0.48, -0.7]) alpha=0.1\nstreetlights =np.array( [[ 1, 0, 1 ],\n[ 0, 1, 1 ],[ 0, 0, 1 ],[ 1, 1, 1 ],[ 0, 1, 1 ],[1, 0, 1]])\nwalk_vs_stop =np.array( [ 0, 1, 0, 1, 1, 0 ] )\ninput=streetlights[0]#[101]\ngoal_prediction =walk_vs_stop[0] #equals o... i.e. 'stop''\nfor iteration in range(20):\n prediction=input.dot(weights)\n error=(goal_prediction-prediction)*2 delta=prediction-goal_prediction\n weights=weights-(alpha(input*delta))-\n print('Error:' + str(error)+' Prediction:' + str(prediction))\n解释每一行代码的意思和总的代码的意思内容:这段代码是用来实现一个简单的神经网络的训练过程。下面是对每一行代码的解释:\n\n1. import numpy as np:导入NumPy库,用于处理数组和数值计算。\n\n2. weights = np.array([0.5, 0.48, -0.7]):定义神经网络的权重。\n\n3. alpha = 0.1:定义学习率,用于控制权重调整的步幅。\n\n4. streetlights = np.array([[1, 0, 1], [0, 1, 1], [0, 0, 1], [1, 1, 1], [0, 1, 1], [1, 0, 1]]):定义输入数据,表示街灯的状态。\n\n5. walk_vs_stop = np.array([0, 1, 0, 1, 1, 0]):定义目标输出,表示行人的行为。\n\n6. input = streetlights[0]:选择第一个街灯状态作为输入。\n\n7. goal_prediction = walk_vs_stop[0]:选择第一个目标输出作为目标预测。\n\n8. for iteration in range(20)::进行20次迭代的训练。\n\n9. prediction = input.dot(weights):计算当前权重下的预测值。\n\n10. error = (goal_prediction - prediction)**2:计算预测误差的平方。\n\n11. delta = prediction - goal_prediction:计算误差的差值。\n\n12. weights = weights - (alpha * (input * delta)):根据误差调整权重。\n\n13. print('Error: ' + str(error) + ' Prediction: ' + str(prediction)):输出当前迭代的误差和预测值。\n\n总的代码的意思是,使用一个简单的神经网络,根据输入的街灯状态预测行人的行为。通过多次迭代,根据预测误差来调整权重,以最小化误差并提高预测准确性。
原文地址: https://www.cveoy.top/t/topic/pqEB 著作权归作者所有。请勿转载和采集!