理解《机器学习课程》一书中的感知器算法

人工智能 神经网络 机器学习 感知器
2021-10-24 09:09:25

以下文字来自 Hal Daumé III 的A Course in Machine Learning在线教科书(第 41 页)。

在此处输入图像描述

我明白那个D是输入向量的大小x.

  1. 什么是y? 为什么在算法中引入它?如何/在哪里/何时是初始值y给?

  2. 测试的原理是什么ya0更新权重?

1个回答

对于给定的一组输入向量,Y 是感知器的期望输出(通常称为目标)。

Ya<=0 背后的基本原理

必备知识:

  • A = A - B:将向量A移离向量B的方向

  • A = A + B :向B的方向移动A

  • A (.) B >0 ; A向量急剧(<90 度)朝向B向量

  • A (.) B <0 ; A向量从B向量远离 (>90 度) [(.) 表示点(标量)积,粗体字母表示向量]

  • W是增强向量(包括阈值作为另一个权重以及正常输入权重)

  • X是增强输入(包括 -1 作为额外输入(对应于阈值)以及其他正常输入

  • a(激活) = W (.) X

  • 一个 >=0 ; 感知器输出 1

  • a<0 ; 感知器输出-1(我认为在给定算法中隐含的不是零)

现在的理由:

(雅<0)

这意味着以下任一项:

  • Y=-1 且 a>0 ;在这种情况下,目标输出是-1,但是a>0,所以感知器输出1。所以我们必须将权重向量从这组输入向量中移开,这样它们之间的角度就会增加,并且点积(a)变为< 0 这样我们就可以得到目标输出。因此:W = W - X

或 , W = W + (-1) *X 或, W = W +Y X

  • Y=1 且 a<0

这意味着目标输出为 1,但由于激活小于 0,因此感知器输出 -1。所以我们必须将权重向量移到靠近这组输入向量的位置,以便激活可以变为>0(角度减小)并且感知器可以输出所需的输出。所以: W = W + XW = W + Y X

同样,Ya=0 是边界情况。现在我想你可以理解 Ya=0 背后的基本原理了。如果有任何疑问,请对此答案发表评论,我会解释。

抱歉,回答这么长。:) :)