umich cv-2-2
UMICH CV Linear Classifiers
在上一篇博文中,我们讨论了利用损失函数来判断一个权重矩阵的好坏,在这节中我们将讨论如何去找到最优的权重矩阵
想象我们要下到一个峡谷的底部,我们自然会选择下降最快的斜坡,换成我们这个问题就是要求权重矩阵相对于损失函数的梯度函数,最简单的方法就是使用定义法:

我们也可以使用解析梯度,这里需要用到矩阵对向量,矩阵对标量求导的一些知识,在后面我们也会采用反向传播的方法,因为自己手算微积分毕竟比较容易出错,尤其是涉及到很多层神经网络的时候。
在作业assignment2 的第一个线性分类器的实现中,我们会使用两张种损失函数,分别是svm与softmax函数,需要我们使用解析梯度来计算,这里推荐两篇博文的推导过程,因为我这边基础也不是很好,需要再深入学习一下
svm:http://giantpandacv.com/academic/算法科普/深度学习基础/SVM Loss以及梯度推导/
softmax:https://blog.csdn.net/qq_27261889/article/details/82915598
计算得到梯度函数之后,我们就可以让loss沿着梯度的方向下降:

这里有三个超参数,是我们自己手动设置的,分别是权重矩阵初始化的策略,迭代步骤与学习率
但是对所有的样本都进行梯度下降,显然是非常耗时的一件事,所以我们一般采用sgd方法,也就是随机梯度下降:

这里又多了batch size与抽样方法两个超参数
但是SGD的缺点在于会导致梯度剧烈波动,有的地方下降很快有的地方下降很慢,同时也面临着陷入局部最优解的困境,所以出现了SGD + Momentum


加入一个速度变量这样在下降快的时候可以抑制梯度的下降,起到一个平衡作用
Momentum也有变体 Nesterov Momentum,与Momentum唯一区别就是,计算梯度的不同。Nesterov动量中,先用当前的速 v临时更新一遍参数,在用更新的临时参数计算梯度,就是一种向前看的思想:


另一类进行优化的方法采用dw的平方
Adagrad 与 Rmsprop

由于adagrad会导致下降的过快,因为有平方的存在,所以又提出了RMSProp,加入decay_rate来放缓下降速度
最常用的优化方法就是adam

注意这里要加入偏差修正项防止起始的时候误差太大
这里有一篇知乎的回答可供参考:https://www.zhihu.com/question/323747423
上面的方法都是采用一阶导数:

有时候我们也可以采用二阶导数

但是二阶导的计算可想而知的复杂,所以我们一般很少采用二阶导进行优化
最后是一些二阶导的讨论:



本次assignment A2 的第一个线性分类器 主要内容就是分别采用svm与softmax损失函数进行优化计算,也没有用到后面复杂的优化方法,就是最简单的学习率乘以dw,比较复杂的就是解析梯度的推导,可参考上面的两篇博文
umich cv-2-2的更多相关文章
- 关于国内外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 ...
随机推荐
- ELK8.8部署安装并配置xpark认证
ELK8.8部署安装并配置xpark认证 介绍 主要记录下filebeat+logstash+elasticsearch+kibana抽取过滤存储展示应用日志文件的方式:版本基于8.8,并开启xp ...
- FreeFileSync结合任务计划实现T级数据的全量备份和每日十几G数据的增量自动备份
1. 背景 公司现有nas存储中有共计1.8T左右的文件数据(一般是pdf.excel.图片.压缩文件等等格式),因为nas无法做备份:担心后面nas出现故障造成数据丢失,现急需一个解决方案实现如下目 ...
- 数仓性能调优:大宽表关联MERGE性能优化
摘要:本文主要为大家讲解在数仓性能调优过程中,关于大宽表关联MERGE性能优化过程. 本文分享自华为云社区<GaussDB(DWS)性能调优:大宽表关联MERGE性能优化>,作者:譡里个檔 ...
- 【FAQ】关于CP反馈的联运应用的常见结算问题小结
问题一:为什么在"我的账户">>"收益"里面的金额和支付报表中的金额对不上 ? 关于联运类应用付费产品在华为平台上结算问题,您可以详细参考一下&qu ...
- 五分钟了解MES与MOM的区别和联系
大家好,我是Edison. 上一篇,我们通过了解了MES系统的发展历程和标准体系.本篇,我们来快速了解一下近年来吵得很热的MOM是什么鬼,它和MES到底有什么区别和联系. MES是什么 MES (Ma ...
- ASP.NET MVC4 学习笔记-2
渲染网页-Randering Web Pages 前面示例的输出结果不是HTML,而是一个"Hello World"的字符串.为了响应浏览器的请求产生一个HTML网页,我们需要创建 ...
- 使用Canal同步mysql数据到es
一.简介 Canal主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7 ...
- DolphinScheduler3.1.7集成SAP HANA
源码地址:GitHub - apache/dolphinscheduler at 3.1.7-release 个人fork gitee地址:DolphinScheduler:Gitee) 后端代码更改 ...
- 我用WebGL打造了一款动态壁纸
我用WebGL打造了一款动态壁纸 简述 最近在给自己电脑换壁纸的时候发现了一张很有特点的图(就是下面这张),于是我突发奇想,要是能把这张图变成一张动态的壁纸.那该多好.于是我打算用threejs开发一 ...
- React: 路由重定向
解决方案 参考链接 https://v5.reactrouter.com/web/example/route-config