基于图像大小进行分类
w为权重向量,x为使权重向量成为法线向量的直线.
要通过训练找到权重向量,然后才能得到与这个向量垂直的直线x,最后根据这条直线x就可以对数据进行分类了。
一、感知机(perceptron)
感知机是接受多个输入后将每个值与各自的权重相乘,最后输出总和的模型。人们常用这样的图来表示它:
(一)训练数据准备
设置判别函数来判断图像是纵向还是横向,判别函数如下:
根据内积的符号给出的不同返回值,来判断图像为横向还是纵向。直线x与权重向量w之间的夹角为θ,所以在90◦<θ<270◦范围内的所有向量均为负。如图所示
其相反的区域即为内极为正。
内积是衡量向量之间相似程度的指标。结果为正,说明二者相似;为0则二者垂直;为负则说明二者不相似。
(二)权重向量的更新表达式
定义权重向量的更新表达式为:
fw(x(i))≠y(i)表示,通过判别函数对宽和高的向量x进行分类的结果与实际的标签y不同,即判别函数的分类结果不正确。fw(x(i))=y(i)意味着判别函数的分类结果是准确的。因此,也就是说,更新表达式只有在判别函数分类失败的时候才会更新参数值。
用具体学习过程来理解更新表达式:
随意画一个权重向量,正如回归时随意定初始值,假设第一个训练数据是x(1)=(125,30)
w和x(1)之间的夹角θ的范围是90◦<θ<270◦,内积为负。判别函数fw(x(1))的分类结果为-1。但是训练数据x(1)的标签y(1)是1,所以fw(x(1))=y(1)说明分类失败。
因此应用刚才的更新表达式,现在y(1)=1,所以更新表达式是这样的:
更新后的权重向量为:
此时θ<90◦,所以内积为正,判别函数fw(x)的分类结果为1。而且x(1)的标签也为1,说明分类成功了。
二、线性可分
感知机缺点:只能解决线性可分
线性可分指的就是能够使用直线分类的情况,像下图这样的情况不能用直线分类的就不是线性可分。
多层感知机就是神经网络
三、逻辑回归
接下来把分类作为概率来考虑,设横向的值为1、纵向的值为0。
(一)sigmoid函数
我们需要能够将未知数据分类为某个类别的函数fθ(x)(与感知机的判别函数fw(x)类似)
该函数即为sigmoid函数,设θTx为横轴,fθ(x)为纵轴,那么它的图形是这样的
θTx=0时fθ(x)=0.5,以及0<fθ(x)<1是sigmoid函数的两个特征 。因为sigmoid函数的取值范围是0<fθ(x)<1,所以它可以作为概率来使用。
(二)决策边界
接下来我们就把未知数据x是横向图像的概率作为fθ(x)。其表达式是这样的
假如fθ(x)的计算结果是0.7,图像为横向的概率是70%,一般来说这样就可以把x分类为横向。如果fθ(x)=0.2呢,则横向的概率为20%、纵向的概率为80%,这种状态可以分类为纵向。
以0.5为阈值,然后把fθ(x)的结果与它相比较,从而分类横向或纵向
所以表达式可以改为
改写的意义在,如先随便确定θ
那么这个不等式表示的范围也就是图像被分类为横向的范围,另一边表示纵向。
我们将θTx=0这条直线作为边界线,这样用于数据分类的直线称为决策边界。
但如图所示,该直线并不能正确分类图像,因为同回归一样,一开始随意决定了参数。接下来要为了求得正确的参数θ而定义目标函数,进行微分,然后求参数的更新表达式。这种算法叫做逻辑回归。
(三)似然函数
我们期待的最大概率是这样的
假定所有的训练数据都是互不影响、独立发生的,这种情况下整体的概率就可以用下面的联合概率来表示:
联合概率的一般化表达式为:
接下来考虑一下使这个目标函数最大化的参数θ。回归的时候处理的是误差,所以要最小化,而现在考虑的是联合概率,我们希望概率尽可能大,所以要最大化。
目标函数L(θ)也被称为似然,函数的名字L取自似然的英文单词Likelihood的首字母。我们可以认为似然函数L(θ)中,使其值最大的参数θ能够最近似地说明训练数据。
(四)对数似然函数
为了使计算更简单,取似然函数的对数即可
逻辑回归将这个对数似然函数用作目标函数
接下来,对各个参数θj求微分
令
一步步往下算,先是第一项
然后是第二项
虽然麻烦,但事先已知sigmoid函数的微分(如下图),可以直接使用
再次使用复合函数,令
v对z微分的部分也就是sigmoid函数的微分:
而z对θj的微分为:
最后求得
接下来要做的就是从这个表达式导出参数更新表达式。不过现在是以最大化为目标,所以要与微分结果的符号同向移动,最小化时要按照与微分结果的符号相反的方向移动。
为了与回归时的符号保持一致,也可以将表达式调整为下面这样:
(五)线性不可分
当直线无法分类时,就去增加次数,如:
即
假设θ是这样的向量
带入θTx,则得到的表达式为:
图像为
虽然分类不正确(由于系数θ为随机取),但是决策边界是曲线了。