从零开始的深度学习之旅(3)
创始人
2024-02-08 15:56:23
0

目录

  • 神经网络的损失函数
  • 1.损失函数的引入
  • 2.损失函数
  • 3.回归:误差平方和SSE
    • 3.1 MSE的使用
    • 3.2 二分类交叉熵损失函数
    • 3.3 极大似然估计推导二分类交叉熵损失
    • 3.4 用tensor实现二分类交叉熵损失
  • 4.多分类交叉熵损失函数
    • 4.1 实现多分类交叉熵损失

神经网络的损失函数

1.损失函数的引入

    在之前的学习中,我们建立神经网络时总是先设定好w与b的值,或者由我们调用的PyTorch类帮助我们随机生成权重向量,接着通过加和求出z ,再在z上嵌套sigmoid或者softmax函数,最终获得神经网络的输出。
 神经网络的计算是从左侧向右侧计算的.这是神经网络的正向传播过程。但这并不是神经网络算法的全流程,这个流程虽然可以输出预测结果,但却无法保证神经网络的输出结果与真实值接近。
  此时,我们就要训练神经网络,求解一组最适合的w和b,令神经网络的输出结果与真实值接近,这就是神经网络模型训练的目标.

2.损失函数

    比如我们做了一个预测房价的实验,预测的房价和真正的房价之间肯定存在差异.当真实值与预测值差异越大时,我们就认为神经网络学习过程中丢失了许多信息,丢失的这部分称为”损失“,因此评估真实值与预测值差异的函数被我们称为“损失函数.

  损失函数

  1.在数学上,表示为以需要求解的权重向量ω为自变量的函数L(ω)。

  2.衡量真实值与预测结果的差异,评价模型学习过程中产生的损失的函数。

  3.如果损失函数的值很小,则说明模型预测值与真实值很接近,模型训练得很好

    我们希望损失函数越小越好,以此,我们将问题转变为求解函数L(ω)的最小值所对应的自变量ω.

3.回归:误差平方和SSE

SSE误差平方和:
在这里插入图片描述
    其中zi(公式的前者)是样本i的真实值,而zihat(公式的后者)是样本i的预测值。对于全部样本的平均损失,则可以写作:
在这里插入图片描述

3.1 MSE的使用

# 按照MSE的公式,pytorch已经写好了函数,直接调用就行import torch
from torch.nn import MSELoss yhat=torch.randn(size=(50,),dtype=torch.float32)
y=torch.randn(size=(50,),dtype=torch.float32)criterion=MSELoss() 
loss = criterion(yhat,y)
loss

输出结果:
在这里插入图片描述

3.2 二分类交叉熵损失函数

    在这一节中,我们将介绍二分类神经网络的损失函数:二分类交叉熵损失函数,也叫做对数损失.
 大多数时候,除非特殊声明为二分类,否则提到交叉熵损失,我们会默认算法的分类目标是多分类.
 二分类交叉熵损失函数是由极大似然估计推导出来的,对于有m个样本的数据集而言,全部样本上的平均损失写作:在这里插入图片描述
单个样本损失:

在这里插入图片描述

    在公式中,ln是以自然底数为底的对数函数,ω表示求解出来的一组权重(ω在σ里),m是样本的个数,yi是样本i上真实的标签,σi是样本i上基于参数计算出来的sigmoid函数的返回值,xi是样本i各个特征的取值。

3.3 极大似然估计推导二分类交叉熵损失

    极大似然估计,如果一个事件的发生概率很大,那这个事件应该很容易发生。
 寻找相应的权重ω,使得目标事件的发生概率最大,就是极大似然估计的基本方法。


    二分类神经网络的标签是[0,1],样本i在由特征向量xi和权重向量ω组成的预测函数中,样本标签被预测为1的概率为:
在这里插入图片描述


    样本i在由特征向量 和权重向量 组成的预测函数中,样本标签被预测为0的概率为:
在这里插入图片描述


    当P1的值为1的时候,代表样本i的标签被预测为1,当P0的值为1的时候,代表样本i的标签被预测为0。P1与P0 相加是一定等于1的.

将两种概率联合:
单个的概率:
在这里插入图片描述
将P1和P2替换,加上符号得到所有样本的概率:
在这里插入图片描述
对该概率P取以e为底的对数:
在这里插入图片描述
我们将极大值转换为极小值,因此我们对lnP取负:
在这里插入图片描述

3.4 用tensor实现二分类交叉熵损失

import torch
import timeN = 3*pow(10,3)
torch.random.manual_seed(420)
X = torch.rand((N,4),dtype=torch.float32)
w = torch.rand((4,1),dtype=torch.float32,requires_grad=True)
y = torch.randint(low=0,high=2,size=(N,1),dtype=torch.float32)
zhat = torch.mm(X,w)
sigma = torch.sigmoid(zhat)
Loss = -(1/N)*torch.sum((1-y)*torch.log(1-sigma)+y*torch.log(sigma))

在这里插入图片描述

4.多分类交叉熵损失函数

    对于多分类的状况而言,标签不再服从伯努利分布(0-1分布),因此我们可以定义,样本i在由特征向量和权重向量组成的预测函数中,样本标签被预测为类别k的概率为:
在这里插入图片描述
   对于多分类算法而言,σ就是softmax函数返回的对应类别的值。

    假设样本的真实标签为1,我们就希望 P1最大,同理,如果样本的真实标签为其他值,我们就希望其他值所对应的概率最大。二分类可以使用0和1来分类,如果多分类的标签也可以使用0和1来表示就好了,这样我们就可以继续使用真实标签作为指数的方式,如下图方式进行改变

  原本的真实标签y是含有[1, 2, 3]三个分类的列向量,现在我们把它变成了标签矩阵,每个样本对应一个向量.

在这里插入图片描述


  当我们把标签整合为标签矩阵后,我们就可以将单个样本在总共K个分类情况整合为以下的似然函数
在这里插入图片描述


公式简写为:
在这里插入图片描述

所有可能的的概率P求和为:
在这里插入图片描述
  再对整个公式取负,就得到了多分类状况下的损失函数
在这里插入图片描述
在这里插入图片描述

4.1 实现多分类交叉熵损失

import torch
import torch.nn as nn
N = 3*pow(10,2)
torch.random.manual_seed(420)
X = torch.rand((N,4),dtype=torch.float32)
w = torch.rand((4,3),dtype=torch.float32,requires_grad=True)y = torch.randint(low=0,high=3,size=(N,),dtype=torch.float32)
zhat = torch.mm(X,w)
#从这里开始调用softmax和NLLLoss
logsm = nn.LogSoftmax(dim=1) #实例化
logsigma = logsm(zhat)
criterion = nn.NLLLoss() #实例化
criterion(logsigma,y.long())

输出结果:
在这里插入图片描述

相关内容

热门资讯

朋友圈唯美语句35条 2022年精选朋友圈唯美语句35条  一首歌唱掉眼泪,旧铁皮往南开,恋人已不再,如今的你又在谁的身旁...
情感美文:比我幸福 情感美文:比我幸福  我真的不应该出现在他的生命中。如果有来世,我真的希望我们不要做朋友,不要认识。...
喜欢一个人心情说说 喜欢一个人心情说说  1、有多少人以友谊的名义,爱着一个人。认为拥有,就是失去的开始。  2、一个人...
侦探推理小说推荐:《一先令蜡...   《一先令蜡烛》作者是英国铁衣著,黄希玲译。下面是小编整合的相关信息,欢迎查阅。  作为推理黄金时...
八月再见九月你好发朋友圈的说... 八月再见九月你好发朋友圈的说说(精选75句)  随着网络社交的悄悄演进,越来越多人喜欢发表说说,用以...
名家描写秋天的美文 名家描写秋天的美文(通用20篇)  在日常学习、工作和生活中,大家都接触过美文吧?美文是一种自由、灵...
2016年7月上映电影汇总【...   2016年7月上映的电影有哪些呢?今天,YJBYS小编特意为大家搜集整理了2016年7月上映电影...
悠悠未了姐妹情散文 悠悠未了姐妹情散文  清明时节,梨花风起,点点哀思,化作相思。悠悠未了,姐妹情深。  2017年7月...
感恩节感恩老师的歌曲   2016年感恩节马上就就要来了,本文特意为大家收集整理了一些感恩节感恩老师的歌曲,希望大家喜欢!...
描写景物的好段小学摘抄 描写景物的好段小学摘抄  导语:秋高气爽,田野里铺上了一层金黄的地毯。以下是小编为你介绍的描写景物的...
描写荷花的优美段落 描写荷花的优美段落(9篇)描写荷花的优美段落1  1、荷花有六个瓣,也有四个瓣的,还有七个瓣的。她的...
父母鼓励孩子的话 父母鼓励孩子的话大全  一、激励孩子积极向上的6句话  1、你将会成为了不起的人---激励会在孩子身...
最想对爸爸说的话 最想对爸爸说的话合集  1、记得爸爸生气的时候也是很吓人的,他最讨厌我们不好好学习了,也最不愿意看到...
美文摘抄的经典 关于美文摘抄的经典  1、“啊,你!”小甲虫尖锐的叫声在我耳边响起,我拖着湿漉漉的双翼,睁开疲惫的眼...
逆向思维的5个简单运用美文摘... 逆向思维的5个简单运用美文摘抄  逆向思维,是指从事物的反面去思考问题的思维方法。这种方法常常使问题...
借钱容易还钱难美文摘抄 借钱容易还钱难美文摘抄  我时常被人“惦记”,主要是来借钱的。  首先就是我哥和我弟这俩冤家。比如我...
情感美文 情感美文精选范文  情感美文看一看触动你感性的神经,以下的情感美文精选范文,请继续往下阅读:  情感...
医学生发朋友圈的暖心文案 医学生发朋友圈的暖心文案(精选60句)  随着社交网络的兴起,越来越多人会在朋友圈发布文案,文案用于...
《肖申克的救赎》经典台词摘抄 《肖申克的救赎》经典台词摘抄  Red: Let me tell you something my ...
雪中送炭的成语故事   相信大家都听过雪中送炭这个成语,那么你知道雪中送炭的意思吗?雪中送炭的反义词近义词有哪些?雪中送...