PPC的C/C++和人工智能学习笔记
每一篇学习笔记,都只是为了更好地掌握和理解

深度学习(3)-SoftMax分类器

先复习一下前面学的得分函数和损失函数:

要让计算机来进行分类任务,前面说了KNN近邻算法,它是和所有的样本逐个比较,找出我们所认为的最匹配的那个。

其实说起这个KNN算法,以前其实我用过(当时不知道有KNN),当时为了识别验证码(该验证码非常简单,固定格式,固定位置,而且都是标准的数字,尺寸大小都定死的),我就把0,1…9十个数字的图片全部弄下来,二值化处理后作为样本保存在机器中,识别的时候,就是把要识别的图片二值化处理后和10个样本一个一个比较(每个像素进行比较,像素相同+1),然后找出匹配度最高的那个。因为样本数量很少,所以好像也很快。

而机器学习,就是为了训练一个分类器,可以想象为是一个函数,假设这个分类器训练得很OK,那么我们在分类的时候,就只要把输入的图片数据,放到那个函数中运算一下,就可以得到结果,和样本数量的多少根本没有关系,所以速度就快了。

得分函数f(x,W)=Wx+(b),就可以想象成那个训练器的函数,更为具体的,就是在做分类任务的时候,每个类别都定义了一组权重参数,在最后分类的时候,只要把这些权重参数×输入的数据,就可以得到每个类别的分数,训练器OK的话,那么得分最高的那类就是我们想要得到的分类,也就完成了分类任务。

损失函数,上面的得分函数,在最后计算分类的时候看起来很OK,但是机器学习的关键还在训练过程中,也就是要让机器能够找到最合适最OK的权重参数,那么机器在学习过程中必须自动调整这些权重参数,但是得分是很难界定怎么才算更好的(难道得分是正无穷大才是最好的?),就是好坏的标准难定,不知道“有多好,有多不好”。那么我们尝试着把这个分数反过来,用越小越好来定义(最小值=0),这样是不是就很容易说“有多好”,LOSS值越接近0越好。这样机器在学习过程中就是要调整参数,使得损失函数计算出来的LOSS值更加接近0。

 

前面说的,不管是得分值还是LOSS值,都是具体的数值,能否想个办法把这个分值转化为概率值,也就是转化为0到1之间的数值,这样好像更好?

softMax分类器,输出的就是概率。比如3分类,得出的结果是属于第1类80%,第2类15%,第3类5%,看起来更直观、更形象。

 

先说个函数,Sigmoid函数

Sigmoid函数,可以将(-无穷,+无穷)映射到(0,1)的区间上。可以用来表达概率值了。而且Sigmoid函数是一个非线性的函数。

 

softMax分类器的定义:

Softmax分类器的实际含义解释:

同样做个3分类的任务,根据得分函数,我们算出来的每个分类分数是(5,3,2),那么首先把它归一化,也就是把得分转化为(0,1)区间,先计算e^5,e^3,e^2,分别是148.34,20.08,7.39,和是175.81,那么Softmax的得分就是(e^5/(e^5+e^3+e^2) ,e^3/(e^5+e^3+e^2) ,  e^2/(e^5+e^3+e^2) )= (0.84,0.12,0.04),(那么假如0.84这个得分是对应的正确分类,其实在计算过程中0.84已经把其他错误分类的得分也关联在内了),这个就是Softmax函数,再要转化为LOSS值的话,做-log(x)运算,结果是(0.08,0.92,1.40)(LOSS值只关心正确分类的,得分为5的那个是正确分类的话,LOSS值就是0.08),-log(x)函数,在x=[0,1]区间上的图像是:

这样的函数很好地将归一化的得分值,非线性地放大到(-无穷,0)之间,也就是假如得分是0的话,那么该函数的值是+无穷,得分是1的话,该函数的值是0;那么用该函数的值来描述LOSS值,是非常合适的。得分是1,表明分类器非常好,LOSS值是0;得分越小(越接近0),LOSS值就越大,而且是非线性的,所以这个就是Softmax分类器的损失函数。(LOSS值,其实只计算正确分类的那个LOSS值,其他值是不关心的

 

这样,我们就有2个损失函数可以使用了,上次说的SVM,现在的Softmax,我们来做个对比:

再举个例子,来对比下SVM和SOFTMAX,比如我们三分类任务,得分是(10,9,9),得分为10的是正确分类,按照SVM的计算,LOSS值是0的,但是其实这个分类器效果不好,因为正确分类和错误分类的得分相差的百分比很小。我们用Softmax分类器来计算下他的LOSS值是0.24。所以说Softmax感觉更好一些,Softmax的LOSS值基本不可能是0,它永不满足。

 

 

(2017-02-08 www.vsppc.com)

 

学习笔记未经允许不得转载:PPC的C/C++和人工智能学习笔记 » 深度学习(3)-SoftMax分类器

分享到:更多 ()

评论 抢沙发

评论前必须登录!