当前位置: 首页 > ds >正文

从0开始学习计算机视觉--Day04--损失函数

在上次学习中,我们知道了线性分类的函数是f(x,W),但并没有解释要怎么得到W权重矩阵的值,以及我们要怎么用训练数据来确定它的最优权重矩阵。在之前我们知道,假设用了10种类别的图片用于训练,将其中一种图片输入模型后,会根据W输出每个类别所对应的分数,但是并不是所属的类别分数就一定高,这时我们把这个W作为输入放入一个函数中,由这个函数根据是否图片对应的类别分数最高,来判断W的好坏,也就是能知道这个W距离真正好的W差了多少,我们把这个函数称之为损失函数(cost function),而不断地输入不同的W来找到损失最小的W的过程,就叫做优化过程。

一般会采用一个通用定义L=\frac{1}{N}\sum_{}^{}{L_{i}(f(x_{i},W),y_{i})},x和y就是训练集里的像素点数据和图片的标签,f是损失函数,L是输入N个样本后的平均损失值。在这个图片分类的例子中,采用的是多分类SVM的损失函数,如下图所示:

与二分类的分类函数有点类似,后者是只要计算A的损失值比B类大得多,就认为损失值为0(即为A类),前者只是把所有错误的类别放在了一起(可以理解为B类是一个错误类别的集合),计算过程与其类似。而图中的s_y_i代表的是正确的类别的分数,s_j则代表的是剩余错误的类比的分数和,图像里的意思就是当正确类别的分数,大于错误类比的分数和再加上1,即认为大于这个数值就认为这个图片被正确分类了,1是认为设定的安全边界,可以根据实际情况调整。将图中类别的分数分别带入公式计算得到猫的损失值为2.9,汽车的损失值为0,青蛙损失值为12.9,求得平均值为5.3。

值得注意的是,在训练的过程中,可以先不着急训练完整个模型,而是先输出损失值来判断,假如有C个类别,而输出的结果不是接近于C-1(假设设置边界为1),我们就需要检查一下是否有问题,因为C-1就代表正确类别的分数与错误类别的分数很接近,每个错误类别的损失值都接近于1。

学习来自于斯坦福教程:Stanford University CS231n: Deep Learning for Computer Vision

http://www.xdnf.cn/news/14833.html

相关文章:

  • C++动态链接库之非托管封装Invoke,供C#/C++ 等编程语言使用,小白教程——C++动态链接库(一)
  • Linux系统(信号篇)信号的保存
  • 在反向代理环境下精准获取客户端真实 IP 的最佳实践
  • Vue样式绑定与条件渲染详
  • 玄机抽奖Spring Web项目
  • 【STM32 学习笔记】PWR电源控制
  • 高通手机跑AI系列之——穿衣试装算法
  • 数据结构进阶 - 第一章 绪论
  • 数据结构-第三节-树与二叉树
  • 什么是财务共享中心?一文讲清财务共享建设方案
  • Lynx vs React Native vs Flutter 全面对比:三大跨端框架实测分析
  • 人大金仓Kingbase数据库KSQL 常用命令指南
  • Python文件操作完全指南:从入门到精通
  • 广州华锐互动:技术与创意双驱动的 VR 先锋​
  • LightGBM:极速梯度提升机——结构化数据建模的终极武器
  • 柔性制造企业数字化系统建设方案(PPT)
  • LVS-NAT负载均衡群集实战:原理、部署与问题排查
  • 逆向入门(8)汇编篇-rol指令的学习
  • Boss:攻击
  • IoT/HCIP实验-5/基于NB-IoT的智慧农业实验(平台侧开发+端侧编码+基础调试分析)
  • 数据驱动的农产品供应链管理:让“菜篮子”更智慧、更高效
  • aspose.word在IIS后端DLL中高并发运行,线程安全隔离
  • 【Lua 基础学习】
  • 惯性导航——陀螺仪
  • Web层注解
  • 南北差异之——理解业务和理解产品
  • spring中的@Cacheable缓存
  • Python零基础入门到高手8.5节: 实现选择排序算法
  • 个人博客网站(halo)在云服务器的快速部署
  • 深入学习入门--(一)前备知识