Always keep a begi|

顾子郤

园龄:11个月粉丝:5关注:2

Perceptron感知机

感知机:权衡输入的因素,做出决策。同时,能做出逻辑判断,并、或、异或。

单个感知机

  1. 输入xi,依据各自的权重,计算出输出。

image

  1. 根据阈值,判断输出是1还是0。

output={0,ifjwjxjthreshold1,ifjwjxjthreshold

以上就是感知机的大致流程。

注意:最后感知机经过了threshold后输出0或者1,这里相当于使用了step function(跃阶函数)作为了激活函数。该函数不可导,不可微,所以不利于进行参数更新。这里仅是为了理解感知机更简单。

image

形象例子

假设,你听说这周末在你的城市将会举办奶酪节。你喜欢奶酪,然后在考虑是否要去奶酪节。你要权衡以下三个因素:

  1. 是否是个好天?
  2. 你的对象是否会陪你一起?
  3. 奶酪节附件有没有公共交通?(假设你没有车)

用二进制表示这些输入。xi表示第i个因素,如果为1,表示是天气好或者对象会陪你或者有公共交通;如果为0,则相反。

假设,你自己十分想去奶酪节,无论对象想不想去,无论周围是否有公共交通,你都想去。那么可以将权重设置为w1=6w2=2w3=2,然后阈值设置为5。也就意味着只要天气好,你就会去。可以通过改变权值和阈值,得到不同的决策模型。 阈值越低,表明你越想去参加奶酪节;某个因素的权重越高,表明该因素越重要。

多层感知机

一个感知机肯定不是一个彻底的人类决策模型。但是,越复杂的感知机网络可以做出更加精秒的决策。

简单理解:将输入向量赋予不同的权重向量,整合后加起来(多项式求和),并通过激活函数输出1或-1。

image

  1. 第一层感知机有三个感知机。通过对输入加权,这一层可以做出三个简单的决策。
  2. 第一层的输出是第二层感知机(4个感知机)的输入。这样,第二层的感知机可以做出更加复杂,更加抽象的决策。
  3. 这样,多层感知机后,就可以做出更加复杂的决策。

简化表示方式

jwjxJ>threshold 做出两个变化:

  1. jwjxj表示为向量点乘wx

解释:jwjxj=w1x1+w2x2+w3x3+...+wjxj转念一想这和矩阵乘法如出一辙。这就相当于

jwjxj=(w1w2w3...wj)(x1x2x3...xj)

  1. jwjxJ>threshold 将阈值从不等式的右边,移到左边,作为bias偏置,即b=threshold

简化后:

output={0,ifwx+b01,ifwx+b0

偏置bias的含义是:感知机能多么轻易输出1。如果bias很大,那么很容易整体值就大于0,则输出1了。如果bias是负,则整体值要很大才能大于0,最终才能输出1。

模型训练过程就是通过学习算法,自动地调节神经网络的权重和偏置。

本文作者:顾子郤

本文链接:https://www.cnblogs.com/coder-shane/p/18118133

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   顾子郤  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起