神经网络基础:(2)损失函数

news/2024/9/20 10:46:06

比如上述分类,你只知道他做的不好,但是如何知道他做的有多差呢?而是具体一个数值。

神经网络是既能做分类也能做回归,能做的事情比较多,唯一的区别就是损失函数你是如何定义的。做不同的任务就是损失函数不同而已。

 上图中,s_{j}是其他错误类别分类得分,s_{yi}是正确类别的真实得分,加1相当于加一个\Delta,相当于容忍程度(加1表示我这个正确类别至少要比你这个错误类别高1以上,才是没损失的)。最后求0和max之间的最大值。

上图中损失函数小于0,表示没有损失,意味着正确类别要比错误类别得分值高。

----------------------------------------------------

有了损失函数之后,我们还要把它这个损失函数做一个改进,不光有W,还要有正则化。

下图中虽然结果都一样,但是模型A只考虑局部,模型B考虑全局。 在训练的时候我们希望使用的是全局的模型B。模型A的话会产生变异,过拟合。

 在模型训练当中还要关注你的模型参数会不会产生一些过拟合,所以在构建损失函数过程中,我们还要加上一点,正则化惩罚项。

 前一部分叫做data_loss叫做数据在你当前损失函数当中得到的一个损失;后边正则化惩罚项表示当前这组模型由于他的权重损失参数带来的损失,他跟你的数据项没有任何关系,他只考虑你的权重参数。\lambda是惩罚项的系数,正常情况下,\lambda值越大,你不希望过拟合,如果你不希望过拟合,你要把惩罚项系数大一些,抑制住变异,正常情况下正则化项使用平方项就行。

 

 1、首先有得分函数,获得得分值。

2、有了得分值和真实标签值计算损失,并加上正则化惩罚项,得到当前损失。

PS:现在得到的还是得分,跟分类任务还有一点差别,因为分类任务一般说我属于这个猫的概率值,一个可能性。

下图理解:

首先指数函数图像:                                                               对数函数图像:

                                            对数函数

 归一化也可以得到概率值:

一组数据a\b\c,归一化就是:

                                     \frac{a}{a+b+c}

 计算损失值使用的是log函数:(前边添加负号,是因为0到1之间的log值是负数)

 概率值越接近于1,损失越小。越接近于0,损失越大。

 输入一个数据,先得到得分值,然后进行一个e^{x}计算,为了拉开差距(看图像),看的更明显一些,做一个映射,做完映射之后进行一个归一化(得到概率值),之后使用一个对数函数求他的一个损失(将概率值输入对数函数中)。 

-------------------------------神经网络流程-----------------------

前向传播(计算损失)

反向传播(损失太高模型不好,更新w)------要从后往前逐层一步一步的求解,使用链式法则

PS:整体理解神经网络:要理解从前向后我对x做了什么;从后向前我对权重w又做了什么;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pgtn.cn/news/17784.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Matplitlib绘图入门1,这一篇就够了

Matplitlib绘图入门1,这一篇就够了 1. 绘制简单的图表(标题、标签轴、刻度轴、表说明)2. 绘图辅助函数方法,绘制多个图(随机点绘制多个子图,点状、x状等)3. 可交互式绘图(一图单线关闭新展现一图,及一图多线)4. 3种方法简化加速渲染图参考1. 绘制简单的图表(标题、标…

iCup,USB加热饮品方案

词条: iCup USB加热杯 USB电器 猛料: 其实看用的macbook作为例子,就知道这个设计很有一段时间啦,用i打头来为苹果打造各种莫名其妙的周边产品也是前几年的潮流,iCup出自Onur Karaalioglu的设计,将USB作为加…

网络模型:(0)背景

目录 1、深度学习与机器学习的区别: 2、机器学习流程: 3、深度学习: 4、特征工程的作用:(特征工程要更重要) 5、如何提取特征: 6、计算机视觉面临的挑战: 1、深度学习与机器学习的区别: …

详解OpenCV中的Lucas Kanade稀疏光流单应追踪器

详解OpenCV中的Lucas Kanade稀疏光流单应追踪器 1. 效果图2. 源码参考这篇博客将详细介绍OpenCV中的Lucas Kanade稀疏光流单应追踪器。 光流是由物体或相机的运动引起的图像物体在连续两帧之间的明显运动的模式。Lucas Kanade是一个算法,用于稀疏光流的追踪;1. 效果图 单应追…

整理一下博客

在刚建立这个博客时,曾写过一篇文章大概总结了一下建站的方方面面。但是之后却一直没有时间好好打理,加上对Movable Type不是很熟悉,而其资料也不是很全,导致网站界面与使用体验都不是很满意。前几天花了些时间整理了一下&#xf…

使用存储过程更新数据库!成功了但是返回值为 -1 的变态问题的解决办法!

今天遇到个表态的问题!使用带事务的存储过程执行sql语句,看数据库里面插入更新都正常! 但是返回值一直为-1! 头那个大哦!先贴2个存储过程吧!看大侠们能否找到问题的存在 USE [My_DB] GO/****** Object: St…

卷积神经网络基础:(6)卷积神经网络原理

目录 1、卷积网络与传统网络的区别 2、整体架构 3、卷积操作​ 4、卷积涉及的参数 5、卷积计算公式: 6、卷积参数中的重要特点 7、池化层作用 8、整体网络架构 9、特征图变化 10、感受野 1、卷积网络与传统网络的区别 上图中左边是NN传统网络,右边…

使用Python,matplotlib绘制Nomogram列线图

使用Python,matplotlib绘制Nomogram列线图1. 效果图2. 源码参考这篇博客将介绍如何使用Python,matplotlib绘制列线图。写这篇博客源于博友的提问 期望使用matplotlib绘制列线图如下,翻官网文档,尝试后终于绘制出来了。 1. 效果图…