umich cv-2-1
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中的交叉熵损失的实现就是拆分之后的。
umich cv-2-1的更多相关文章
- 关于国内外CV领域牛人的博客链接 .
此文为转载文章,尊重知识产权http://blog.csdn.net/carson2005/article/details/6601109此为原文链接,感谢作者! 以下链接是关于计算机视觉(Compu ...
- 计算机视觉(ComputerVision, CV)相关领域的站点链接
关于计算机视觉(ComputerVision, CV)相关领域的站点链接,当中有CV牛人的主页.CV研究小组的主页,CV领域的paper,代码.CV领域的最新动态.国内的应用情况等等. (1)goog ...
- 几个常用的CV知识点
刚结束一段实习,图像算法工程师.总结一下图像算法的几个基本的操作,图像操作算子各式各样,各显神通,光是滤波filter这一个专题就可以有很多的技巧和功能. 我从做过的两个小项目入手, 简单介绍一下该项 ...
- 基于Emgu CV的人脸检测代码
这个提供的代码例子是Emgu CV提供的源码里面自带的例子,很好用,基本不需要改,代码做的是人脸检测不是人脸识别,这个要分清楚.再就是新版本的Emgu CV可能会遇到系统32位和64位处理方式有区别的 ...
- 自己积累的一些Emgu CV代码(主要有图片格式转换,图片裁剪,图片翻转,图片旋转和图片平移等功能)
using System; using System.Drawing; using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure; na ...
- 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆
挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV. PV:计划值,在即定时间点前计划 ...
- Emgu.CV 播放视频
using Emgu.CV; using System; using System.Drawing; using System.Threading; using System.Windows.Form ...
- Emgu.CV/opencv 绘图 线面文字包括中文
绘图很简单 Emgu.CV.Image<Bgr, Byte> image; 使用image.Draw可以画各种图形和文字包括英文及数字,不支持中文 CircleF circle = ...
- yuv420p转为emgucv的图像格式Emgu.CV.Image<Bgr, Byte>
GCHandle handle = GCHandle.Alloc(yuvs, GCHandleType.Pinned); Emgu.CV.Image<Bgr, Byte> image = ...
- "Emgu.CV.CvInvoke”的类型初始值设定项引发异常 解决办法
系统win7 32位,只在这一台电脑上出现这种问题,已知VS编译是X86,在数台电脑上测试都正常. 后来把opencv的dll路径例如 E:\...\x86 加入到系统环境变量中就正常了. emgu ...
随机推荐
- 22.04.1 wine8.10 完美安装同花顺最新版THS_9.20.40_20230613
Linux luma 5.19.0-45-generic #46~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 7 15:06:04 UTC 20 x86_64 ...
- TheRoleofSpatialPyramidalPoolinginConvolutionalNeuralNe
目录 1. 引言 2. 技术原理及概念 2.1. 基本概念解释 2.2. 技术原理介绍 2.3. 相关技术比较 3. 实现步骤与流程 3.1. 准备工作:环境配置与依赖安装 3.2. 核心模块实现 3 ...
- TortoiseGit使用Cherry Pick遇到的问题及解决方案
TortoiseGit的Cherry Pick 比如从master pick某一个commit 记录到其它分支(release) pick的操作方法:切到分支,点击 show log,然后在log d ...
- 一文读懂什么是AIGC?
目录 AIGC概念 AIGC发展历史 在早期萌芽阶段(1950s~1990s) 在沉淀累积阶段(1990s~2010s) 在快速发展阶段(2010s~至今) ChatGPT AIGC能做什么? 电子商 ...
- .NET周报 【7月第1期 2023-07-02】
国内文章 C# 实现 Linux 视频聊天.远程桌面(源码,支持信创国产化环境,银河麒麟,统信UOS) https://www.cnblogs.com/shawshank/p/17420469.htm ...
- ASP.NET MVC4 学习笔记-1
初学ASP.NET MVC,通过博客来记录自己的学习笔记! 创建一个新的 ASP.NET MVC 项目 在新建项目中选择 ASP.NET MVC4 Web Application,项目类型为空,视图引 ...
- Codeforces Round #882 (Div. 2) A-D
比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int a[107]; int ...
- 【转载】Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化
原文链接: 作者:LoyenWang 出处:https://www.cnblogs.com/LoyenWang/ 公众号:LoyenWang 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作 ...
- 2022-1-10 控件学习2 Button、CheckBox、RadioButton、PasswordBox、Image、ToolTip
Button 设置带图片的按钮: 设置button按钮通用类型: CheckBox IsChecked设置是否选中 RadioButton 使用GroupName这 ...
- windows安装uwsgi报错 AttributeError: module 'os' has no attribute 'uname'
Win10系统不支持安装UWSGI, 不用尝试了 安装 pip install uwsgi windows安装报错 AttributeError: module 'os' has no attribu ...