UMICH CV Linear Classifiers
对于使用线性分类器来进行图片分类,我们可以给出这样的参数化方法:
而对于这样一个式子,我们怎么去理解呢?
首先从代数的角度,这个f(x,W)就是一张图片的得分,我们可以将一张图片所有的像素点输入,乘以一个权重矩阵,再加上一个偏置项b,就得到f(x,W)
举个具体的例子:
上面权重矩阵有三行分别对应三种类别,有四列每列对应着一个像素点的权重,最终得到的结果也是一个三行的矩阵,每一行对应着该图片在每个类别上面的得分
下面这张图应该会更加直观:
对于f(x,W)=Wx + b这个式子,我们也可以选择把偏置项合并,呈现下面这个形式:
其次我们从可视化的角度来看,线性分类器实质上是为每个分类创建了一个模板,我们将一个图片输入线性分类器实质上就是寻求与模板的匹配:
最后从几何的角度来看,线性分类器实际上在划分空间,判断输入的图片应该属于哪个分类的空间:
而针对线性分类器存在的问题,我们也可以从以上三个方面来认识:
首先从代数方面,线性分类器意味着我们得到的关系是线性的,我们的权重矩阵减半,相应的分数也会减半,这就很难去包含一些复杂的图形关系,导致分类效果不好
其次从可视化方面,从前面那张图我们可以看到线性分类器得到的仅仅是每类简单的模板,很难去捕捉到数据复杂的特征,上图中马对应的分类甚至有两个头
最后是几何方面,有时候对于线性分类器来说分隔平面是一件无法完成的事,比如说著名的XOR问题等等:
显然对于上面的区域,我们很难训练线性分类器让它来找到划分平面的方法
在大致了解了线性分类器的工作原理之后,我们面临的问题是如何去判断并找出对于分类问题来说最好的权重矩阵
为了做到上面两点,我们需要引入损失函数的概念:
我们通过损失函数来判断权重矩阵的好坏,具体来说,损失函数是在计算我们模型得到的得分与正确分类得分的差距
一个常见的损失函数是SVM loss:
具体来说,上面这个图我们计算了猫这张图片在三个分类上的得分分别是3.2,5.1,-1.7,其中在cat类上的得分3.2是正确分类的得分,所有我们计算其它两个类与该类得分的差距,注意这里还要加上一个1,表示margin,大致的意思就是我们对权重矩阵的要求比较高,正确分类的得分不仅要比其它所有分类高,还要高出一定的分数
在上图中,使用不同的权重矩阵得到了一样的loss值,那么我们怎么去判断哪个权重才是更好的呢?
这里引入了正则化的概念,用于表达对某种权重矩阵的preference,同时也能防止模型的过拟合(一般来说正则化都会选择更简单的模型):
具体来说,比如我们选择L2正则化,现在有w1与w2两个权重矩阵,它们计算的得分一致,但是显然w1正则化的数值比w2要大,所以w2优于w1,L2正则化函数显然倾向于分布比较均匀的权重矩阵,它是将每个权重的平方和累和
另一种常见的损失是交叉熵损失:
这里具体的解释与推导需要用到一些信息论的知识,我这方面也不是很了解,留个坑以后懂了再填吧,感兴趣的同学可以自行搜索,这里的计算过程就和上面这张图一样,先取e的指数然后归一化,再取负对数,这里值得注意的是对数的底数一般都取e,所以最后的损失函数还可以化简一下,在assignment2中的交叉熵损失的实现就是拆分之后的。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容