机器学习 | 分类算法基础——内积

Hi,大家好,我是半亩花海。学完回归算法原理的知识,我们进入分类算法原理的学习,继续更新《白话机器学习的数学》这本书的学习笔记,在此分享内积这一分类算法原理。本章的分类算法原理基于《基于图像大小进行分类》项目,欢迎大家交流学习!

目录

一、内积概述

二、案例分析

1. 设置“二分类”案例

2. 内积及其应用


一、内积概述

内积(根据翻译)又叫标量积、点积,还叫数量积。是指接受在实数 R 上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积

设二维空间内有两个向量,a=\left[a_1, a_2, \ldots, a_n\right] 和 b=\left[b_1, b_2, \ldots, b_n\right]。定义它们的数量积(又叫内积、点积)为以下实数:

使用矩阵乘法并把(纵列)向量当作 n × 1 矩阵,点积还可以写为:

其中,a^T 表示为矩阵 a转置


二、案例分析

1. 设置“二分类”案例

在介绍内积这个算法基础之前,我们先设置一个场景,本文主要是提出一个“二分类”的案例:根据图片尺寸把它分类为纵向图像横向图像,分别如下图所示。

我们现在有了两个这样的训练数据,高和宽的部分是数据,形状的部分是标签,如下表所示。

设 x 轴为图像的宽、y 轴为图像的高,那么我们将训练数据展现在图上,白色的点是纵向图像,黑色的点是横向图像,如下所示:

不过,只有两个训练数据确实太少了,再增加一些数据吧:

这些数据在图上展示,如下所示。

如果只用一条线将图中白色的点和黑色的点分开,我们可以尝试着画出来这条线,如下所示。

分类的目的就是找到这条线,只要找到这条线,就可以根据点在线的哪一边来判断图像是横向还是纵向的了。

2. 内积及其应用

找到一条线,并不是意味着我们要像学习回归时那样,求出这条线即一次函数的斜率和截距。这次的目的是找出向量

分类用图形来解释更容易理解,所以把它想象为有大小和方向的、 带箭头的向量比较好。比如,刚才画的那条线,是使权重向量成为法线向量的直线。设权重向量为 \boldsymbol{w},那么那条直线的表达式则如下所示:

\boldsymbol{w} \cdot \boldsymbol{x}=0

权重向量就是我们想要知道的未知参数\boldsymbol{w} 是权重一词的英文——weight 的首字母。上次学习回归时,我们为了求未知参数 \theta 做了很多事情,而 \boldsymbol{w}\theta 是一样的。所以它们都是参数,只是叫法不同。

上述表达式 \boldsymbol{w} \cdot \boldsymbol{x}=0 是两个向量的内积,实向量空间的内积是各相应元素乘积的和,所以刚才的表达式也可以写成如下式子:

\boldsymbol{w} \cdot \boldsymbol{x}=\sum_{i=1}^n w_i x_i=0

现在要考虑的是有宽和高的二维情况, 所以考虑 n = 2 即可。下面具体地展开\Sigma 符号:

\boldsymbol{w} \cdot \boldsymbol{x}=w_1 x_1+w_2 x_2=0

比如我们设权重向量为 \boldsymbol{w}=(1, 1),那么刚才的内积表达式会变成:

\begin{aligned} \boldsymbol{w} \cdot \boldsymbol{x} & =w_1 x_1+w_2 x_2 \\ & =1 \cdot x_1+1 \cdot x_2 \\ & =x_1+x_2=0 \end{aligned}

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

在这张图上再画上刚才确定的权重向量 \boldsymbol{w} = (1, 1) 就更容易理解了,如下所示。

可以看到,权重向量 \boldsymbol{w} 和这条分类的直线是垂直的,这就是“使权重向量成为法线向量的直线”在图形上的解释。我们还可以用向量之间的夹角 \thetacos 计算内积的表达式:

\boldsymbol{w} \cdot \boldsymbol{x}=|\boldsymbol{w}| \cdot|\boldsymbol{x}| \cdot \cos \theta

式中, |\boldsymbol{w}| 和 |\boldsymbol{x}| 是向量的长,因此必定是正数。所以要想使内积为 0,只能使 cos \theta = 0。要想使 cos \theta = 0,也就意味着 \theta = 90^{\circ} 或 \theta = 270^{\circ},这两种情况也是直角。当然,像这样与 \boldsymbol{w} 成直角的向量有很多,它们连成了一条直线。

这样看来,我们需要找到与画的直线成直角的权重向量即可。当然,一开始并不存在你画的那种直线,而是要通过训练找到权重向量 \boldsymbol{w},然后才能得到与这个向量垂直的直线,最后根据这条直线就可以对数据进行分类了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半亩花海

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值