神经网络

神经网络

“神经网络”一词其实是对生物大脑打的比方,大脑里也有“神经网络”,神经网络的构成单元就是“神经元”。

感知器
感知器是最简单的一种神经网络,由单个神经元构成。就像生物神经元一样,具有树突和轴突。人工神经元呈树状结构,有多个输入节点和一个输出节点:

感知器

由图可见,人工神经网络有六大组件,从左至右分别为:

  • 输入节点: 输入节点(input node)关联着一个个数值,可以是任意实数:正数或负数,整数或小数
  • 连接: 相似地,每一个出自输入节点的连接,都关联着一个权重值(weight),这个值也可以是任意整数。
  • 输入和权重的结合: 对输入求加权和:y=f(∑wi∗xi)y=f(∑wi∗xi),即y=f(w1∗x1+w2∗x2+…+wn∗xn)
  • 激活函数: 最简单的激活函数(activation function)`,就是输入输出相等(identity function),f(x)=xory=xf(x)=xory=x,这里的xx就是输入与连接的加权和。就像生物神经元的突触只在特定条件下激活一样,人工神经元也只在xx超过阈值时激活。假设这个阈值是0,那么激活函数就是:
    f(x)=0f(x)=0 if x<0x<0
    f(x)=1f(x)=1 if x≥0x≥0
    这样的函数曲线不是平滑的,而是非连续的,这会带来很多数学处理上的问题,所以常用的还是连续函数,如S型函数(sigmoid function),最典型的sigmoid function是逻辑斯蒂函数(logistic function)。
  • 输出节点: 输出节点(output node)呈现了激活函数的结果。
  • 偏置: 偏置(bias)可以认为是一个值固定为1的输入节点,它可以左右移动激活函数,提高学习算法性能。

注意,感知器只能处理数值数据,也就是说,需要把字符等数据都转换为数值格式。现在你已经知道了,感知器控制的是阈值,那么将其用作分类目的也就不远了:高于特定阈值的输出,表示样本属于某一类;而低于阈值就归为另一类。输出=阈值的直线就是两个类别的决策边界。

多层感知器

感知器组成的网络就是多层感知器,这就是我们将用Keras实现的对象。多层感知器又叫前馈神经网络,你可能已经猜到了,还有比感知器更加复杂的网络,神经元以层级结构组织在一起。层数一般是二三层,但是理论上层数是无限的。网络的层就像生物神经元:一层的输出,是下一层的输入。

网络层分为输入层、隐藏层和输出层。多层感知器通常是全连接(fully-connected)的,一层之中的每一个感知器都与下一层的每一个感知器相连接,尽管这不是强制性,但通常是标配。感知器只能表征线性可分的问题,而多层感知器结合非线性的激活函数就突破了这一限制,可以表征更加复杂的决策边界。

多层感知器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值