机器学习系列 八 - 2.使用Keras build一个网络 Keras 2.0 版本语法

这篇博客介绍了如何使用Keras 2.0版本构建一个手写数字识别的神经网络。内容包括设计三层网络(输入层、隐藏层和输出层),设置激活函数,选择交叉熵作为损失函数,并采用Adam优化器进行训练。博主强调了Keras中units参数的变化,以及softmax在输出层的作用。同时,提到了训练过程中的关键参数,如batch_size和epochs,并鼓励读者实践并比较不同实现。
摘要由CSDN通过智能技术生成



还是手写数字辨识问题

第一步,设计架构(模型)
老版本中,我们每一层的输出,在1.0版本里面参数名字是output,而在Keras2.0里面,改成了units,这个看上去更为直观,表明下一层我要输出多少个节点。并制定激活函数。
然后,因为下一层的输入就是上市上一层的输出,所以下一层里面不需要在生命input dimension了,input就是500。
那直接定义units,就是输出到下一层的节点数。并指定激活函数。
那最后输出一层,因为是手写数字辨识,所以一共10个数字,10个输出,然后在指定激活函数,用softmax。也可以用别的激活。
这里选择softmax是因为,每一项的输出都是介于0-1之间,所有项的总和是1,这样就类似于概率来看待这个问题。

第二步,进行Loss方程和优化器设定
    1. 定义Loss function,这里选择交叉熵
    2. 定义优化器, 这里选择非基础的gradient descent,但所有优化器基本都是base 于gradient descent的。这里使用adam。
还有很多种优化器,可以后面研究不同的实现,我们之前学过了Adagrad


第三步,选择最好的function
    1. train 我们的 network,其实在Keras里面一句话搞定:model.fit

    x_train -> 代表training data的 输入, image的维度 * image总数
    y_train -> 代表training data的 输出&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值