zoukankan      html  css  js  c++  java
  • 神经网络

    神经网络

    在正式使用Keras之前,我们先来熟悉一下什么是神经网络,这样才能知道自己究竟在做什么。“神经网络”一词其实是对生物大脑打的比方,大脑里也有“神经网络”,神经网络的构成单元就是“神经元”。

    感知器

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

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

    • 输入节点: 输入节点(input node)关联着一个个数值,可以是任意实数:正数或负数,整数或小数。

    • 连接: 相似地,每一个出自输入节点的连接,都关联着一个权重值(weight),这个值也可以是任意整数。

    • 输入和权重的结合: 对输入求加权和y=f(∑wi∗xi):y=f(wixi)

    • 即y=f(w1∗x1+w2∗x2+...+wn∗xn)

    y=f(w1x1+w2x2+...+wnxn)
    • 激活函数: 最简单的激活函数(activation function)`,就是输入输出相等(identity function),f(x)=xory=x

    ,这里的x就是输入与连接的加权和。就像生物神经元的突触只在特定条件下激活一样,人工神经元也只在x

    • 超过阈值时激活。假设这个阈值是0,那么激活函数就是:

    f(x)=0 if x<0

    f(x)=1 if x≥0

    x0

    这样的函数曲线不是平滑的,而是非连续的,这会带来很多数学处理上的问题,所以常用的还是连续函数,如S型函数(sigmoid function),最典型的sigmoid function是逻辑斯蒂函数(logistic function)。

    • 输出节点: 输出节点(output node)呈现了激活函数的结果。

    • 偏置: 偏置(bias)可以认为是一个值固定为1的输入节点,它可以左右移动激活函数,提高学习算法性能。

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

    多层感知器

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

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

  • 相关阅读:
    sqlserver 脚本生成数据库文档
    在命令行中执行kms命令激活Microsoft Office 2010
    .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题
    asp.net 访问局域网共享文件
    Winform开发框架的重要特性总结
    Winform开发框架之插件化应用框架实现
    Winform开发框架之权限管理系统的改进
    Winform开发框架之统计图表的实现
    在Winform开发框架中实现对数据库的加密支持
    Winform开发框架之通用高级查询模块
  • 原文地址:https://www.cnblogs.com/ylHe/p/6940081.html
Copyright © 2011-2022 走看看