python实现BP神经网络的入门级实践

本文介绍了使用Python实现BP神经网络来解决是否需要等待卡拉OK包间的问题。通过将文本数据转化为数字,构建了一个三层结构的神经网络,其中输入层8个节点,输出层1个节点,隐藏层节点数为8。文章详细阐述了数据预处理步骤,包括属性值的区间中值转换和0、1、2的数值变换,以降低计算复杂性和控制输出范围。训练完成后,展示了模型在特定数据上的预测结果及误差计算。
摘要由CSDN通过智能技术生成

考虑去卡拉OK厅唱歌的时候,是否要等待包间的问题。规定如下属性可用于描述该领域内的实例:
(1)Others(其他地点):附近是否有其他卡拉OK厅;
(2)WaitCond(等候条件):供顾客等候的地方是否舒适;
(3)Weekend(周末):若是周六或周日,则为真;
(4)Consumers(顾客):店中有多少顾客(值为None(没人),Some(一些)或Full(满座));
(5)Price(价格):价格范围(值为Cheep(便宜),Middle(中
等),Expensive(较贵));
(6)Raining(下雨):外面是否在下雨;
(7)Reservation(预约):是否预约过;
(8)WaitEstimate(等候时间估计):估计的等候时间(值为0—10,10—30,30—60,>60,单位为分钟)。
训练集见表:
实例 属性 目标WillWait
Others WCond WEnd Cons Price Rain Res WEst
X1 Yes No No Some EX No Yes 0-10 Yes
X2 Yes No No Full CH No No 30-60 No
X3 No Yes No Some CH No No 0-10 Yes
X4 Yes No Yes Full CH Yes No 10-30 Yes
X5 Yes No Yes Full EX No Yes >60 No
X6 No Yes No Some MID Yes Yes 0-10 Yes
X7 No Yes No None CH Yes No 0-10 No
X8 No No No Some MID Yes Yes 0-10 Yes
X9 No Yes Yes Full CH Yes No >60 No
X10 Yes Yes Yes Full EX No Yes 10-30 No
X11 No No No None CH No No 0-10 No
X12 Yes Yes Yes Full CH No No 30-60 Yes

首先是建立BP神经网络,本次实践采用隐含层数目为1的三层结构构建BP神经网络,从题目可知输入层结点为8,输出层节点为1,采用l=(n+m)1/2+a确定隐含层节点数目为8,变换函数选择S型函数f(x)=(1+e-x)-1。BP神经网络模型不能对文本进行直接的识别,所以此次实践把文本数据转换为数字形式:


#定义S型激励函数sigmoid
def sigmoid(x):
    s = 1 / (1 + np.exp(-x))
    return s
'''
@global_parameter:
eta
iteration_counts
sample_input
sample_output
input_hid_weight
hid_output_weight
hid_threshold
output_threshold
@local_parameter
hid_output
hid_error
output_error
est_output
output_sum_error
hid_sum_error
'''
sample_input = np.array([[1,0,0,1,3,0,1,1],
                         [1,0,0,2,1,0,0,3],
                         [0,1,0,1,1,0,0,1],
                         [1,0,1,2,1,1,0,2],
                         [1,0,1,2,3,0,1,4],
                         [0,1,0,1,2,1,1,1],
                         [
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值