python神经网络干什么赚钱_为什么我的神经网络的成本不断增加?

博主在实现一个预测异或门的神经网络时遇到了成本不断上升的问题。网络结构包括1个输入层,2个隐藏层节点,1个输出层节点。尽管尝试降低学习率,但成本仍持续增加。代码展示了神经网络的前向传播、反向传播和参数更新过程。寻求关于优化成本的建议。
摘要由CSDN通过智能技术生成

我实现了一个神经网络来预测异或门。它有1个输入层2个节点,1个隐藏层2个节点,1个输出层1个节点。不管我做什么,我的成本都在不断增加。我试着把我的学习率设为小值,但这只会使成本缓慢增加。请给我小费。在import numpy as np

train_data = np.array([[0,0],[0,1],[1,0],[1,1]]).T

labels = np.array([[0,1,1,0]])

def sigmoid(z,deriv = False):

sig = 1/(1+np.exp(-z))

if deriv == True:

return np.multiply(sig,1-sig)

return sig

w1 = np.random.randn(2,2)*0.01

b1 = np.zeros((2,1))

w2 = np.random.randn(1,2)*0.01

b2 = np.zeros((1,1))

iterations = 1000

lr = 0.1

for i in range(1000):

z1 = np.dot(w1,train_data) + b1

a1 = sigmoid(z1)

z2 = np.dot(w2,a1) + b2

al = sigmoid(z2) #forward_prop

cost = np.dot(labels,np.log(al).T) + np.dot(1-labels,np.log(1-al).T)

cost = cost*(-1/4)

cost = np.squeeze(cost)#calcost

dal = (-1/4) * (np.divide(labels,al) + np.divide(1-labels,1-al))

dz2 = np.multiply(dal,sigmoid(z2,deriv = True))

dw2 = np.dot(dz2,a1.T)

db2 = np.sum(dz2,axis=1,keepdims = True)

da1 = np.dot(w2.T,dz2)

dz1 = np.multiply(da1,sigmoid(z1,deriv = True))

dw1 = np.dot(dz1,train_data.T)

db1 = np.sum(dz1,axis=1,keepdims = True) #backprop

w1 = w1 - lr*dw1

w2 = w2 - lr*dw2

b1 = b1 - lr*db1

b2 = b2 - lr*db2 #update params

print(cost,'------',str(i))

您好!要使用BP神经网络预测干燥含水率,可以使用Python中的一些机器学习库来实现。以下是一个基本的步骤指南: 1. 收集数据:首先,您需要收集含有干燥含水率和其他相关特征的数据集。确保数据集足够大,并且包含各种不同的特征值。 2. 数据预处理:对数据进行预处理是很重要的一步。您可以使用Python中的库,如NumPy和Pandas,来处理和清洗数据。这可能包括删除缺失值、标准化数据等。 3. 划分数据集:将数据集划分为训练集和测试集。训练集用于训练BP神经网络模型,而测试集用于评估模型的性能。 4. 构建神经网络模型:使用Python中的深度学习库,如TensorFlow或PyTorch,构建BP神经网络模型。可以选择网络的数、每节点数等。 5. 训练模型:使用训练集对神经网络模型进行训练。通过反向传播算法和梯度下降优化算法,不断调整模型的权重和偏置,以使其逐渐收敛到最优解。 6. 模型评估:使用测试集评估模型的性能。可以计算预测值与实际值之间的误差,如均方误差(MSE)或平均绝对误差(MAE)。 7. 预测干燥含水率:训练好的模型可以用于预测新的干燥含水率。将待预测的特征输入到模型中,即可得到预测结果。 请注意,以上仅为一个基本的指南,实际上还有很多因素需要考虑,如参数调整、模型优化等。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值