动手学深度学习pytorch版练习解答-3.6softmax回归的从零开始实现

本文探讨了在实现softmax和交叉熵损失函数时可能遇到的问题,包括数值溢出和对数定义域限制。对于softmax,当输入数值过大可能导致溢出;对于交叉熵损失,输入接近0时可能超出long类型范围。提出的解决方案包括设定输入阈值以防止溢出。此外,还讨论了仅依赖最大概率分类的局限性,特别是在医疗诊断等高风险场景中。最后,指出在大量词汇的预测任务中,矩阵运算成本增加和概率分散可能导致的问题。
摘要由CSDN通过智能技术生成
  1. 在本节中,我们直接实现了基于数学定义softmax运算的softmax函数。这可能会导致什么问题?提⽰:
    尝试计算exp(50)的⼤小。

python的数字类型转换虽然是可以做到int自动转long,但long的范围受限于内存大小。这可能会导致计算溢出(有噪声,网络参数初始化没弄好等)

  1. 本节中的函数cross_entropy是根据交叉熵损失函数的定义实现的。它可能有什么问题?提⽰:考虑对数的定义域。

对数的定义域是(0,+∞), y_hat预测分数有很接近0的也可能会超出long的范围

  1. 你可以想到什么解决⽅案来解决上述两个问题?

计算之前先确定输入的阈值,避免输出超出long的范围

  1. 返回概率最⼤的分类标签总是最优解吗?例如,医疗诊断场景下你会这样做吗?

不一定,因为存在[0.45,0.44,0.11]这样的情况,0.45对应的优势并不是那么明显。医疗场景下我不会总是这么做,如果机器给出的最优解并没有太大的优势,后期的随访和检查还是有必要的

  1. 假设我们使⽤softmax回归来预测下⼀个单词,可选取的单词数⽬过多可能会带来哪些问题?

一个是高额的矩阵运算成本,再一个是每个单词的概率就比较低,容易出现题目4的解答中出现的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值