感知器

感知器是一个人工神经元

这是最简单的可能神经网络

神经网络是的构建块机器学习

弗兰克·罗森布拉特

弗兰克·罗森布拉特(1928 – 1971)是一位在人工智能领域著名的美国心理学家。

1957他开始了一些非常大的事情。他"invented"a感知器程序,在康奈尔航空实验室的 IBM 704 计算机上。

科学家发现脑单元格(神经元)通过电信号接收来自我们感官的输入。

神经元再次使用电信号来存储信息,并根据先前的输入做出决策。

弗兰克的想法是感知器可以模拟大脑原理,具有学习和决策的能力。


感知器

原本的感知器旨在采取一些二进制输入,并产生一个二进制输出(0 或 1)。

这个想法是使用不同的重量来代表每一个的重要性输入,并且值的总和应大于临界点在做出决定之前先考虑值是的或者(真或假)(0 或 1)。

Perceptron



感知器示例

想象一个感知器(在你的大脑中)。

感知器试图决定你是否应该去听音乐会。

艺人好不好?天气好吗?

这些事实的权重应该是多少?

标准 输入 重量
艺术家就是好 x1= 0 或 1 w1 = 0.7
天气好 x2= 0 或 1 w2 = 0.6
朋友会来 x3= 0 或 1 w3 = 0.5
食物已送达 x4= 0 或 1 w4 = 0.3
提供酒精饮料 x5= 0 或 1 W5 = 0.4

感知器算法

Frank Rosenblatt 建议使用此算法:

  1. 设置阈值
  2. 将所有输入与其权重相乘
  3. 将所有结果相加
  4. 激活输出

1. 设置阈值:

  • 阈值 = 1.5

2. 将所有输入与其权重相乘:

  • x1 * w1 = 1 * 0.7 = 0.7
  • x2 * w2 = 0 * 0.6 = 0
  • x3 * w3 = 1 * 0.5 = 0.5
  • x4 * w4 = 0 * 0.3 = 0
  • x5 * w5 = 1 * 0.4 = 0.4

3. 对所有结果求和:

  • 0.7 + 0 + 0.5 + 0 + 0.4 = 1.6(加权和)

4. 激活输出:

  • 如果总和 > 1.5,则返回 true ("Yes I will go to the Concert")

笔记

如果您的天气权重是 0.6,那么对其他人来说可能会有所不同。体重越高意味着天气对他们来说更重要。

如果您的阈值是 1.5,那么对其他人来说可能会有所不同。较低的门槛意味着他们更愿意去参加任何音乐会。

示例

const threshold = 1.5;
const inputs = [1, 0, 1, 0, 1];
const weights = [0.7, 0.6, 0.5, 0.3, 0.4];

let sum = 0;
for (let i = 0; i < inputs.length; i++) {
  sum += inputs[i] * weights[i];
}

const activate = (sum > 1.5);

亲自试一试 »


感知器术语

  • 感知器输入(节点)
  • 节点值 (1, 0, 1, 0, 1)
  • 节点权重(0.7、0.6、0.5、0.3、0.4)
  • 激活函数(总和 > 阈值)

节点(感知器输入)

感知器输入称为节点

节点都有一个和一个重量


节点值(输入值)

每个输入节点都有一个二进制值1或者0

这可以解释为真的或者错误的/是的或者

在上面的示例中,节点值为:1, 0, 1, 0, 1


节点权重

权重显示力量每个节点的。

在上面的例子中,节点权重为:0.7, 0.6, 0.5, 0.3, 0.4


激活函数

激活函数将加权和映射为二进制值1或者0

这可以解释为真的或者错误的/是的或者

在上面的例子中,激活函数很简单:(sum > 1.5)

笔记

很明显,决定不是由一个神经元独自的。

许多其他神经元必须提供输入:

  • 艺人好不好
  • 天气好吗
  • ...

多层感知器可用于非常复杂的决策。


神经网络

这个感知器定义第一步神经网络:

Neural Networks