TensorFlow单层感知机实现

TensorFlow单层感知机实现

简单感知机是一个单层神经网络。它使用阈值激活函数,正如 Marvin Minsky 在论文中所证明的,只能解决线性可分的问题。虽然限制了单层感知机只能应用于线性可分问题,但具有学习能力已经很好了。
当感知机使用阈值激活函数时,不能使用 TensorFlow 优化器来更新权重。不得不使用权重更新规则:

η 是学习率。为了简化编程,当输入固定为 +1 时,偏置可以作为一个额外的权重。那么,上面的公式可以用来同时更新权重和偏置。
下面讨论如何实现单层感知机:

  1. 导入所需的模块:
  2. 定义要使用的超参数:

  1. 指定训练数据。在这个例子中,取三个输入神经元(A,B,C)并训练它学习逻辑 AB+BC:

  1. 定义要用到的变量和用于计算更新的计算图,最后执行计算图:

  1. 以下是上述代码的输出:

那么,如果使用 Sigmoid 激活函数,而不是阈值激活函数,会发生什么?首先,可以使用 TensorFlow 优化器来更新权重。其次,网络将表现得像逻辑回归。

posted @   吴建明wujianming  阅读(137)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示