目录

一、设置问题

二、内积

三、感知机

1、训练数据的准备

2、权重向量的更新表达式

总结


一、设置问题

如下图所示,左边是纵向的图,右边是横向的图

图点权重均匀分割_图点权重均匀分割

图点权重均匀分割_权重_02

现在我们有这样的一组训练数据:

图点权重均匀分割_线性代数_03

把数据投射到坐标轴上如下图所示:

图点权重均匀分割_机器学习_04

现在我们增加一些样本数据:

图点权重均匀分割_线性代数_05

数据映射到坐标轴上:

图点权重均匀分割_机器学习_06

假设一条虚线可以将图中的白点和黑点分开,如下图所示:

图点权重均匀分割_机器学习_07

这个虚线就是我们想得到的目标函数。

二、内积

上图画的那条虚线,是使权重向量成为法线向量的直线。设权重向量为w,那么那条直线的表达式如下:

(表达式两个向量的内积)

权重向量就是我们想要知道的未知参数,w 是权重一词的英文——weight 的首字母。上次学习回归时,我们为了求未知参数θ 做了很多事情,而w 和θ 是一样的。

实向量空间的内积是各相应元素乘积的和,所以刚才的表达式也可以写成这样:

若n=2,则有:

设权重向量为w = (1, 1)

移项变形之后,表达式变成x2 = −x1 了。这就是斜率为−1 的直线

图点权重均匀分割_自然语言处理_08

这张图上再画上刚才确定的权重向量w = (1, 1) 就更容易理解了

图点权重均匀分割_线性代数_09

权重向量w 和这条直线是垂直的,这就是“使权重向量成为法线向量的直线”在图形上的解释。

用向量之间的夹角θ和cos 计算内积的表达式:

图点权重均匀分割_自然语言处理_10

当然,一开始并不存在我们画的这条直线,而是要通过训练找到权重向量,然后才能得到与这个向量垂直的直线,最后根据这条直线就可以对数据进行分类了

三、感知机

如何求出权重向量呢?基本做法和回归时相同:将权重向量用作参数,创建更新表达式来更新参数。接下来,我要说明的就是被称为感知机(perceptron)的模型。

图点权重均匀分割_权重_11

1、训练数据的准备

首先是训练数据。设表示宽的轴为x1、表示高的轴为x2,用y 来表示图像是横向还是纵向的,横向的值为1、纵向的值为−1。

图点权重均匀分割_图点权重均匀分割_12

根据参数向量x 来判断图像是横向还是纵向的函数,即返回1 或者−1 的函数fw(x) 的定义如下。这个函数被称为判别函数。

cos

在坐标轴中如下图所示:

图点权重均匀分割_自然语言处理_13

与权重向量w 之间的夹角为θ,在90◦ < θ < 270◦ 范围内的所有向量都符合条件

图点权重均匀分割_权重_14

图点权重均匀分割_自然语言处理_15

2、权重向量的更新表达式

i 在介绍回归的时候也出现过,它指的是训练数据的索引,而不是i 次方的意思,这一点一定要注意。用这个表达式重复处理所有训练数据,更新权重向量。

随意画一个权重向量

图点权重均匀分割_线性代数_16

假设第一个训练数据是x(1) = (125, 30)

图点权重均匀分割_线性代数_17

这是表列举的训练数据中的一个吧?标签是1,它表示图像是横向的

图点权重均匀分割_自然语言处理_18

现在权重向量w 和训练数据的向量x(1) 二者的方向几乎相反,w 和x(1) 之间的夹角θ 的范围是90◦ < θ < 270◦ ,内积为负。也就是说,判别函数

 的分类结果为−1。训练数据x(1) 的标签y(1) 是1,所以

说明分类失败。

那我们在这里应用刚才的更新表达式。现在y(1) = 1,所以更新表达式是这样的,其实就是向量的加法。

图点权重均匀分割_权重_19

这个w + x(1) 就是下一个新的w,画一条与新的权重向量垂直的直线,相当于把原来的线旋转了一下

图点权重均匀分割_机器学习_20

刚才x(1) 与权重向量分居直线两侧,现在它们在同一侧了

图点权重均匀分割_机器学习_21

θ < 90◦,所以内积为正,判别函数fw(x) 的分类结果为1。而且x(1) 的标签也为1,说明分类成功了。刚才处理的是标签值y = 1的情况,而对于y = −1 的情况,只是更新表达式的向量加法变成了减法而已,做的事情是一样的。

总结

感知机最大的缺点就是它只能解决线性可分的问题。针对线性可分解决不了的,后面我们会更新相应的方法。