吴恩达2022机器学习--神经网络(求指点)

神经网络的结构:输入层--隐藏层--输出层

通俗理解:神经网络分几层,每层有每层的输入,经过该层运算后输出到下一层进行输出

神经网络的架构问题:想要多少隐藏层?每个隐藏层有多少个神经元(每层隐藏单元数量)?

人为选定的特征作为输入由输入层进入,经隐藏层运算后简化了原本的输入的特征,综合为一个矢量作为输出层的输入,输出层运算后输出最后的结果,这个最后的结果也称做神经网络的最终激活/最终预测。

神经网络的最终激活/预测是怎样自主实现的?(通过大量训练集来预测?);隐藏层是否就是前文所提到的各类回归模型,回归模型在这儿的作用是什么呢?

不同隐藏层中的神经元负责不同特征的检测,这就是神经网络的非凡之处:在不同的隐藏层中学习这些特征检测器。神经网络可以自主地将所需检测的物体特征进行分层识别,按照由小到大或其他顺序(eg.人脸识别--计算机视觉应用)

神经网络中的层:

以一层为例:输入层,也称为0层,可以是多个特征(构建成一个向量);隐藏层,称为1层,隐藏层中可以有多个神经元(神经元在数学上表示即为各个回归模型的方程,只是参数w/b不同)隐藏层的输出是神经元的计算的结果,构建成新的向量递给输出层;输出层,也称为2层,输出的内容需要经过输出层神经元的计算(输出的神经元可能是另外一个回归模型),由于输出层神经元仅有一个,因此输出层的内容仅仅是一个数字,一个标量,而不再是一个向量。(eg.烤咖啡豆)

输出层输出标量后,可在末端设置一个判决器,判断输出的这个标量与设置好的阈值的大小,由比较情况输出不同的结果,这就是神经网络的预测。由于计算是从左往右移,这个顺序也叫前向预测/前向传播

Tensor:一种数据类型,用于在矩阵上充分存储和执行计算。常常把tensor看作是矩阵的一种计算方式。

Numpy:python中一种开源的数值计算扩展。

程序实现:如何实现数值之间的转化?由矩阵转化为数组

在tensorflow中实现对神经网络的推断:

构建第一层和第二层的神经网络:

Layer_1=Dense(units=3,activation=‘’sigmoid’’)

  第一层的神经元为3个    激活函数为

Layer_2=Dense(units=1,activation=‘’sigmoid’’)

model=Sequential([layer_1,layer_2])把第一、二层放入一个顺序函数中

神经网络模型为两层按前向传播实现,即先第一层再第二层

x=np.array(....)

y=np.array(....)  搭建训练集,将输入特征的x和结果y输入进行训练

下一步训练模型,要用到以下函数:

model.compile(...)

Model.fit(x,y)  表明神经网络是将第一层和第二层拉紧进行计算的,并且在给定的数据上进行训练

最后在这个已经训练好的模型上做预测,只需要调用模型进行预测:

model.predict(x_new)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值