# 神经网络损失函数- 最大似然估计法推导笔记

似然值

首先要先理解似然值,似然值指的是比如你知道一个事件的概率,并已知抛了10次硬币,反推产生这个概率模型,而这个模型参数就是似然值,最大似然估计目的是为了求出最大的似然值,就是产生这个概率的最大可能的概率模型在这里插入图片描述

损失函数

神经网络最后推导的结果如果按照概率的方式,就是期望值和结果的概率差异,每一个神经元的结果只有0和1的方式,那么就符合伯努利分布,如下图
在这里插入图片描述

这里 Xi 是输入,Yi 是参数( 注意这个Xi 只能是 0 或者 1),这里加个log,并不改变函数的单调性,把累乘改成累加,展开后,得到 似然函数,因为我们用的是最大似然估计法,这里需要求这个函数的最大值
在这里插入图片描述
而因为损失函数要梯度下降,所以我们这里习惯上要求最小值,所以加一个负号
在这里插入图片描述

为了找到最大值,可以对对数似然函数 lnL§ 求导数,并令导数等于零,然后解方程找到
p 的值。这个值就是最大似然估计。

在PyTorch中,可以使用最大似然估计(Maximum Likelihood Estimation,MLE)来选择合适的损失函数最大似然估计是一种常用的参数估计方,通过最大化观测数据的似然函数来估计模型参数。 PyTorch提供了各种损失函数,可以根据具体的任务和数据类型选择适当的损失函数进行最大似然估计。以下是一些常用的损失函数示例: 1. 对于分类任务: - 交叉熵损失函数(CrossEntropyLoss):适用于多分类任务,将模型预测的概率分布与真实标签之间的差异最小化。 - 二元交叉熵损失函数(BCELoss):适用于二分类任务,将模型预测的概率与真实标签之间的差异最小化。 2. 对于回归任务: - 均方误差损失函数(MSELoss):将模型预测的值与真实值之间的差异平方和最小化。 - 平均绝对误差损失函数(L1Loss):将模型预测的值与真实值之间的差异绝对值平均化。 这些损失函数都是基于最大似然估计的原理,通过最小化或最大化特定的目标函数来估计模型的参数。根据具体的问题和数据类型,选择合适的损失函数非常重要。 需要注意的是,PyTorch中的损失函数通常是对一个批次(batch)的样本进行计算的,因此在使用时需要将模型预测值与真实标签对齐,并考虑合适的维度和权重设置。 总之,PyTorch提供了多种损失函数,可以用于最大似然估计的模型训练。选择合适的损失函数取决于具体的任务和数据类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值