这个作业与svm.ipynb类似,要求:

  1. 为类Softmax分类器实现一个全向量化运算的损失函数 。类Softmax分类器定义在linear_classifier.py中,而损失函数实现在 softmax.py文件中。
  2. 实现一个基于微分分析梯度法的全向量化运算表达式(包含在损失函数定义中)。
  3. 与数值梯度法求出的损失函数和梯度值进行比较。
  4. 使用校验数据集来调节学习速率和正则化强度两个超参数。
  5. 使用SGD方法来优化损失函数
  6. 将最终学习到的权重集可视化。

在svm和softmax作业中都只讲了1和2的实现,强调公式推导和算法的性能优化(主要是使用向量化运算),并没有对一些辅助性功能及运行结果作说明。这篇文章补上这部分内容。

在softmax_loss_naive和 softmax_loss_vectorized 完成后,要求对两个函数的运行时间进行对比,在我的MBA上,前者运行时间是后者的14倍。

接下来是对softmax进行训练,并找到最优的超参数。下面的代码是留空处应该补全的代码:

for 

这里对学习速度和正则化惩罚强度两个超参数各给出了两组数据:

learning_rates 

由于精度问题,#01行处的代码会将1e-7显示为零。当正则化惩罚强度参数为1e8时,在我的MBA和python 2.7上运行出错:

Trying learning rate as 0.000000, regularization strength as 100000000.000000
reg penalty is 1530787.678522
iteration 0 / 1500: loss 1530793.446178
iteration 100 / 1500: loss nan
iteration 200 / 1500: loss nan
iteration 300 / 1500: loss nan
iteration 400 / 1500: loss nan

出现数值溢出,导致loss取值为非数字(nan, Not a number)。这是因为当强度参数取值为1e8时,正则化惩罚达到 1530787,不光远远超过loss的基本值,也会传递给第二次参与计算的权重集W,从而最终导致在sum(W*W)的计算中溢出。

最后一段代码揭示了经过学习而得的权重集W在本质上应该是什么:W中的每一个分类对应的数值(维度为D的数组,D = 32 * 32 * 3),本质是就是这个分类中所有图像的像素值的综合,因而将它还原成图像后,你会发现它就是它所代表的分类的图像。在我的机器上,经过训练后的W图形化后的结果如下:

训练softmax分类器实例_作业:softmax.ipynb相关推荐

  1. 训练softmax分类器实例_第四章.模型训练

    迄今为止,我们只是把机器学习模型及其大多数训练算法视为黑盒.但是如果你做了前面几章的一些练习,你可能会惊讶于你可以在不知道任何关于背后原理的情况下完成很多工作:优化一个回归系统,改进一个数字图像分类器 ...

  2. 训练softmax分类器实例_一个值得深思的问题?为什么验证集的loss会小于训练集的loss...

    编辑:zero 关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息 在本教程中,您将学习在训练自己的自定义深度神经网络时,验证损失可能低于训练损失的三 ...

  3. 训练softmax分类器实例_吴恩达深度学习笔记(56)-训练一个 Softmax 分类器

    训练一个 Softmax 分类器(Training a Softmax classifier) 上一个笔记中我们学习了Softmax层和Softmax激活函数,在这个笔记中,你将更深入地了解Softm ...

  4. 训练softmax分类器实例_知识蒸馏:如何用一个神经网络训练另一个神经网络

    作者:Tivadar Danka 编译:ronghuaiyang 原文链接 知识蒸馏:如何用一个神经网络训练另一个神经网络​mp.weixin.qq.com 导读 知识蒸馏的简单介绍,让大家了解知识蒸 ...

  5. 训练softmax分类器实例_CS224N NLP with Deep Learning(四):Window分类器与神经网络

    Softmax分类器 我们来回顾一下机器学习中的分类问题.首先定义一些符号,假设我们有训练集 ,其中 为输入, 为标签,共包括 个样本: 表示第 个样本,是一个 维的向量: 表示第 个样本的标签,它的 ...

  6. 训练softmax分类器实例_assignment1-softmax分类器

    理论知识 softmax函数如下: 一个样本在C个类别的评分为z,可以看出z为一个向量.softmax函数对 进行压缩,输出一个向量,其中每个元素值在0到1之间,且所有元素之和为1. 交叉熵定义如下: ...

  7. 深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器--在深度学习的视觉分类中的,这两个分类器的原理和比较

    作者: 寒小阳  时间:2015年11月.  出处:http://blog.csdn.net/han_xiaoyang/article/details/49999299  声明:版权所有,转载请注明出 ...

  8. 深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器

    作者: 寒小阳 &&龙心尘 时间:2015年11月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/49999299 声明: ...

  9. 3.9 训练一个 Softmax 分类器-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.8 Softmax 回归 回到目录 3.10 深度学习框架 训练一个 Softmax 分类器 (Training a Softmax Classifier) 上一个视频中 ...

最新文章

  1. POI解析Excel文件工具类
  2. 一文看懂自动驾驶关键技术
  3. 双系统删除分区后Grub启动失败
  4. python安装numpy-python安装numpy和pandas的方法步骤
  5. javascript时间处理
  6. nodejs安装及环境配置_nodeJS安装和环境变量的配置
  7. 容易答错的java面试题_Java程序员面试中最容易答错的8道面试题,你中招了吗?...
  8. rsync命令_浅谈利用rsync服务的攻击
  9. SPOJ4487(Splay树)
  10. pg和oracle比较,Oracle与PostgreSQL使用差异对比与总结
  11. FCPX无缝扭曲过渡转场Twirl Transition Pack for Mac
  12. 关于健康吗、核算检测等系统高并发问题的一些思考
  13. HR面必知黑话!错过后悔!
  14. java.util.concurrent包(2)——线程池
  15. python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
  16. ES(Elasticsearch)解除索引只读限制
  17. WPF学习之数据绑定
  18. 程序员写文档工具推荐,让你爱上写文档!
  19. 潘多拉固件设置ipv6_WAN口获取单一IPv6地址时,内网使用IPv6的方法(教育网可用)...
  20. 对于工作学习的一些感想

热门文章

  1. android 淘口令,淘口令解析
  2. 备战数学建模1-MATLAB矩阵相关
  3. SpringBoot+Vue实现供销链管理系统,值得学习!
  4. PLC程序实例三:ModBusRTU客户端编程实例与测试方法
  5. 怎么才能提升微信小程序排名
  6. Ckp的约会(xmu oj)贪心算法问题 by C++
  7. LED升压恒流_降压恒流_升压恒压_降压降压芯片大全可供工程师选型用!
  8. UBTC主网4月份升级啦
  9. html 框线设置颜色,css怎么设置边框颜色?
  10. stm32c8t6之点亮led(代码实现)