• 神经网络学习笔记


    神经网络是使用代码模拟生物神经系统,由具有适应性简单元组成的广泛并行互联网络。

    x1 x2 xi ... xn为输入

    w1 w2 wi... wn为对应输入的权值

    所有输入乘以权值的和 与 阈值对比

    然后通过激活函数进行输出值的处理

    一般直觉上来说输出值就为0或者1 对应计算机里的真假概念

    函数图像如图

    但是这种处理方法处理过于简单 非黑即白 函数不连续不光滑

    所以会使用Sigmoid函数代替

    这样函数就会平滑许多而且输出的大部分范围在 (-1.0 , 1.0)之间

    先来看一个两层神经元的感知机 激活函数是阶跃函数

    使用它来表示

    与或非中的与示例

    正确的与示例 输入与输出应该是这样

    x1     x2      y

    1       1       1

    0       0       0

    1       0       0

    0       1       0

    这里对神经元的参数进行一个随机初设

    w1 = 1 w2 = 1  阀值为1

    那么 对于 x1 = 1 x2= 1的输入 则是

    y= f(1*1 + 1 *1 -1) = f(1) = 1 (阶跃函数中 输入大于等于0的值 输出值为1)

    与预想结果相同 不做调整

    对于 x1 = 0   x2= 0的输入 则是

    y= f(0*1 + 0 *1 -1) = f(-1) = 0 (阶跃函数中 输入小于0的值 输出值为0)

    与预想结果相同 不做调整

    对于 x1 = 1   x2= 0的输入 则是

    y= f(1*1 + 0 *1 -1) = f(0) = 1 (阶跃函数中 输入大于等于0的值 输出值为1)

    与结果就不一样了 这个时候就需要进行调整

    根据式 5.2

    权值调整

    △w1 = 0.1(0-1)1 = -0.1

    △w2 = 0.1(0-1)0 = 0

    那么 w1+△w1 = 0.9 

    w2 + △w2 = w2 不变

    对于 x1 = 1   x2= 0的输入 则是

    y= f(1*0.9 + 0 *1 -1) = f(-0.1) = 0 (阶跃函数中 输入小于0的值 输出值为0)

    调整完毕

    对于 x1 = 0   x2= 1的输入 则是

    y= f(0*0.9 + 1 *1 -1) = f(0) = 1 (阶跃函数中 输入等于0的值 输出值为1)

    与结果不一致 需要调整

    △w1 = 0.1(0-1)0 = 0

    △w2 = 0.1(0-1)1 = -0.1

    w1+△w1 = 0.9+0 = 0.9

    w2+△w2 = 1 - 0.1 = 0.9

    对于 x1 = 0   x2= 1的输入 则是

    y= f(0*0.9 + 1 *0.9 -1) = f(-0.1) = 0

    系统调整完毕

    最终结果

    w1 =0.9  w2 = 0.9 阀值=1  

    阶跃函数

     

    可正确计算 与计算

    笔记中可能存在学习过程中的错误理解 仅供参考

    截图来自 《机器学习》 作者周志华

    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    python中关于with以及contextlib的使用
    Python之Redis操作
    Python操作memecache
    COM组件技术名称解释
    C++11-新增正则表达式
    BSTR与char*、cstring、CComBSTR的转换
    ATL字符宏使用以及代码测试
    获取与一个磁盘的组织以及剩余空间容量有关的信息以及代码测试
    关于cstring ->string-> const char * 用U2A一步转换 错误的内存问题
    cstring、string、wstring、int、char*、tchar、 int、dword等相互转换代码输出测试
  • 原文地址:https://www.cnblogs.com/itdef/p/6813109.html
Copyright © 2020-2023  润新知